makefile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. UNAME := $(shell uname)
  2. ifeq ($(UNAME), $(filter $(UNAME), Linux))
  3. OS=linux
  4. else
  5. OS=windows
  6. endif
  7. PREMAKE=bin/$(OS)/premake4
  8. luajit-linux32:
  9. make -R -C third/luajit CC="gcc -m32" BUILDMODE="static"
  10. luajit-linux64:
  11. make -R -C third/luajit CC="gcc -m64" BUILDMODE="static"
  12. luajit-windows32:
  13. cd third/luajit/src && msvcbuild
  14. luajit-windows64:
  15. cd third/luajit/src && msvcbuild
  16. luajit-arm:
  17. make -R -C third/luajit HOST_CC="gcc -m32" \
  18. CROSS=$(ANDROID_NDK_ARM)/bin/arm-linux-androideabi- \
  19. TARGET_FLAGS="--sysroot $(ANDROID_NDK_ROOT)/platforms/android-14/arch-arm \
  20. -march=armv7-a -mfloat-abi=softfp -Wl,--fix-cortex-a8"
  21. luajit-clean:
  22. make -R -C third/luajit clean
  23. bgfx-linux-debug32:
  24. make -R -C third/bgfx linux-debug32
  25. bgfx-linux-debug64:
  26. make -R -C third/bgfx linux-debug64
  27. bgfx-linux-release32:
  28. make -R -C third/bgfx linux-release32
  29. bgfx-linux-release64:
  30. make -R -C third/bgfx linux-release64
  31. bgfx-android-arm:
  32. make -R -C third/bgfx android-arm-release
  33. bgfx-clean:
  34. make -R -C third/bgfx clean
  35. deps-linux-debug32: luajit-linux32 bgfx-linux-debug32
  36. deps-linux-debug64: luajit-linux64 bgfx-linux-debug64
  37. deps-linux-release32: luajit-linux32 bgfx-linux-release32
  38. deps-linux-release64: luajit-linux64 bgfx-linux-release64
  39. deps-android-arm: luajit-arm bgfx-android-arm
  40. deps-clean: luajit-clean bgfx-clean
  41. linux-build:
  42. $(PREMAKE) --file=premake/premake4.lua --compiler=linux-gcc gmake
  43. linux-debug32: deps-linux-debug32 linux-build
  44. make -R -C .build/linux config=debug32
  45. linux-development32: deps-linux-debug32 linux-build
  46. make -R -C .build/linux config=development32
  47. linux-release32: deps-linux-release32 linux-build
  48. make -R -C .build/linux config=release32
  49. linux-debug64: deps-linux-debug64 linux-build
  50. make -R -C .build/linux config=debug64
  51. linux-development64: deps-linux-debug64 linux-build
  52. make -R -C .build/linux config=development64
  53. linux-release64: deps-linux-release64 linux-build
  54. make -R -C .build/linux config=release64
  55. linux: linux-debug32 linux-development32 linux-release32 linux-debug64 linux-development64 linux-release64
  56. android-build:
  57. $(PREMAKE) --file=premake/premake4.lua --compiler=android gmake
  58. android-debug: deps-android-arm android-build
  59. make -R -C .build/android config=debug
  60. android-development: deps-android-arm android-build
  61. make -R -C .build/android config=development
  62. android-release: deps-android-arm android-build
  63. make -R -C .build/android config=release
  64. android: android-debug android-development android-release
  65. windows-build:
  66. $(PREMAKE) --file=premake\premake4.lua vs2008
  67. windows-debug32: windows-build
  68. devenv .build/windows/crown.sln /Build "debug|x32"
  69. windows-development32: windows-build
  70. devenv .build/windows/crown.sln /Build "development|x32"
  71. windows-release32: windows-build
  72. devenv .build/windows/crown.sln /Build "release|x32"
  73. windows-debug64: windows-build
  74. devenv .build/windows/crown.sln /Build "debug|x64"
  75. windows-development64: windows-build
  76. devenv .build/windows/crown.sln /Build "development|x64"
  77. windows-release64: windows-build
  78. devenv .build/windows/crown.sln /Build "release|x64"
  79. docs:
  80. doxygen Doxyfile.doxygen
  81. clean: deps-clean
  82. @echo Cleaning...
  83. @rm -rf .build
  84. @rm -rf .installation
  85. starter:
  86. xbuild /p:OutputPath=$(CROWN_INSTALL_DIR)/tools tools/gui/starter/starter.sln
  87. console:
  88. xbuild /p:OutputPath=$(CROWN_INSTALL_DIR)/tools tools/gui/console/console.sln
  89. tools: starter console