MakeMac 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ARCH=-arch i386 -arch x86_64
  2. URHO3D_SRC_DIR=Urho3D/Source
  3. URHO3D_MAC_DIR=Urho3D/Urho3D_Mac
  4. OUTPUT_DIR=Bin/Desktop
  5. URHO_FLAGS=-I$(URHO3D_MAC_DIR)/include -I$(URHO3D_MAC_DIR)/include/kNet -I$(URHO3D_MAC_DIR)/include/Urho3D/ThirdParty -DURHO3D_OPENGL
  6. URHO_LIBS=-L$(URHO3D_MAC_DIR)/lib -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices -lUrho3D -ldl -lpthread
  7. CXXFLAGS=-g $(ARCH) -Wno-address-of-temporary -Wno-return-type-c-linkage -Wno-clang++11-extensions $(URHO_FLAGS)
  8. Urho3D_Mac:
  9. $(URHO3D_SRC_DIR)/./cmake_macosx.sh $(URHO3D_MAC_DIR)
  10. libUrho3D_32.a: Urho3D_Mac
  11. cd $(URHO3D_MAC_DIR) && xcodebuild ARCHS=i386 ONLY_ACTIVE_ARCH=NO -target Urho3D -configuration Release && mv lib/libUrho3D.a lib/libUrho3D_32.a
  12. libUrho3D_64.a: Urho3D_Mac
  13. cd $(URHO3D_MAC_DIR) && xcodebuild ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO -target Urho3D -configuration Release && mv lib/libUrho3D.a lib/libUrho3D_64.a
  14. libUrho3D_Fat.a: libUrho3D_32.a libUrho3D_64.a
  15. cd $(URHO3D_MAC_DIR) && lipo -create lib/libUrho3D_32.a lib/libUrho3D_64.a -output lib/libUrho3D.a
  16. libmono-urho.dylib: MakeBinDirectory libUrho3D_Fat.a binding.o glue.o events.o ApplicationProxy.o vector.o
  17. mkdir -p $(OUTPUT_DIR) && clang++ $(ARCH) -dynamiclib -g -o $(OUTPUT_DIR)/libmono-urho.dylib -g $(URHO_LIBS) $(OUTPUT_DIR)/binding.o $(OUTPUT_DIR)/glue.o $(OUTPUT_DIR)/vector.o $(OUTPUT_DIR)/events.o $(OUTPUT_DIR)/ApplicationProxy.o
  18. MakeBinDirectory:
  19. mkdir -p $(OUTPUT_DIR)
  20. binding.o:
  21. clang++ -g -c $(CXXFLAGS) -o $(OUTPUT_DIR)/binding.o bindings/generated/binding.cpp
  22. glue.o:
  23. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/glue.o bindings/src/glue.cpp
  24. vector.o:
  25. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/vector.o bindings/src/vector.cpp
  26. events.o:
  27. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/events.o bindings/generated/events.cpp $(URHO_FLAGS)
  28. ApplicationProxy.o:
  29. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/ApplicationProxy.o bindings/src/ApplicationProxy.cpp $(URHO_FLAGS)