MakeMac 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. TOOLS_DIR=../../Bin/Tools/macOS
  6. URHO_FLAGS=-I$(URHO3D_MAC_DIR)/include -I$(URHO3D_MAC_DIR)/include/kNet -I$(URHO3D_MAC_DIR)/include/Urho3D/ThirdParty -DURHO3D_OPENGL
  7. URHO_LIBS=-L$(URHO3D_MAC_DIR)/lib -framework SystemConfiguration -framework AudioToolbox -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreVideo -framework ForceFeedback -framework IOKit -framework OpenGL -framework CoreServices -lUrho3D -ldl -lpthread
  8. CXXFLAGS=-g $(ARCH) -stdlib=libc++ -std=c++0x -Wno-address-of-temporary -Wno-return-type-c-linkage -Wno-clang++11-extensions $(URHO_FLAGS)
  9. Urho3D_Mac:
  10. $(URHO3D_SRC_DIR)/./cmake_xcode.sh $(URHO3D_MAC_DIR) -DURHO3D_PCH=0 -DURHO3D_WEBP=0 -DURHO3D_LUA=0 -DURHO3D_ANGELSCRIPT=0 -DURHO3D_TOOLS=1 -DURHO3D_CXX11=1
  11. libUrho3D_32.a: Urho3D_Mac
  12. cd $(URHO3D_MAC_DIR) && xcodebuild ARCHS=i386 ONLY_ACTIVE_ARCH=NO -target Urho3D -configuration Release && mv lib/libUrho3D.a lib/libUrho3D_32.a
  13. libUrho3D_64.a: Urho3D_Mac
  14. cd $(URHO3D_MAC_DIR) && xcodebuild ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO -target Urho3D -configuration Release && mv lib/libUrho3D.a lib/libUrho3D_64.a
  15. libUrho3D_Fat.a: libUrho3D_32.a libUrho3D_64.a
  16. cd $(URHO3D_MAC_DIR) && lipo -create lib/libUrho3D_32.a lib/libUrho3D_64.a -output lib/libUrho3D.a
  17. libmono-urho.dylib: MakeBinDirectory libUrho3D_Fat.a binding.o glue.o events.o ApplicationProxy.o vector.o
  18. mkdir -p $(OUTPUT_DIR) && clang++ $(ARCH) -dynamiclib -g -o $(OUTPUT_DIR)/libmono-urho.dylib -g -DURHO3D_OPENGL $(URHO_LIBS) $(OUTPUT_DIR)/binding.o $(OUTPUT_DIR)/glue.o $(OUTPUT_DIR)/vector.o $(OUTPUT_DIR)/events.o $(OUTPUT_DIR)/ApplicationProxy.o
  19. MakeBinDirectory:
  20. mkdir -p $(OUTPUT_DIR)
  21. binding.o:
  22. clang++ -g -c $(CXXFLAGS) -o $(OUTPUT_DIR)/binding.o Bindings/Portable/Generated/binding.cpp
  23. glue.o:
  24. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/glue.o Bindings/Native/glue.cpp
  25. vector.o:
  26. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/vector.o Bindings/Native/vector.cpp
  27. events.o:
  28. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/events.o Bindings/Portable/Generated/events.cpp
  29. ApplicationProxy.o:
  30. clang++ -c $(CXXFLAGS) -o $(OUTPUT_DIR)/ApplicationProxy.o Bindings/Native/ApplicationProxy.cpp
  31. Tools: libUrho3D_Fat.a
  32. cd $(URHO3D_MAC_DIR)/Source/Tools && xcodebuild ARCHS=x86_64 ONLY_ACTIVE_ARCH=NO -target AssetImporter -target PackageTool -configuration Release && cd ../../ && mkdir -p $(TOOLS_DIR) && cp bin/tool/AssetImporter $(TOOLS_DIR)/AssetImporter_macOS.exe && cp bin/tool/PackageTool $(TOOLS_DIR)/PackageTool_macOS.exe && chmod 777 $(TOOLS_DIR)/*