makefile 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #
  2. # Copyright (c) 2012-2017 Daniele Bartolini and individual contributors.
  3. # License: https://github.com/taylor001/crown/blob/master/LICENSE
  4. #
  5. UNAME := $(shell uname)
  6. ifeq ($(UNAME), $(filter $(UNAME), Linux))
  7. OS=linux
  8. else
  9. OS=windows
  10. endif
  11. GENIE=3rdparty/bx/tools/bin/$(OS)/genie
  12. NDKABI=14
  13. NDKCC=$(ANDROID_NDK_ARM)/bin/arm-linux-androideabi-
  14. NDKFLAGS=--sysroot $(ANDROID_NDK_ROOT)/platforms/android-$(NDKABI)/arch-arm
  15. NDKARCH=-march=armv7-a -mfloat-abi=softfp -mfpu=neon -mthumb -Wl,--fix-cortex-a8
  16. build/android-arm/bin/libluajit.a:
  17. make -R -C 3rdparty/luajit/src HOST_CC="gcc -m32" CROSS=$(NDKCC) TARGET_FLAGS="$(NDKFLAGS) $(NDKARCH)"
  18. mkdir -p build/android-arm/bin
  19. cp -r 3rdparty/luajit/src/jit 3rdparty/luajit/src/libluajit.a build/android-arm/bin
  20. make -R -C 3rdparty/luajit/src clean
  21. build/linux32/bin/luajit:
  22. make -R -C 3rdparty/luajit/src HOST_CC="gcc -m32" CCOPT="-O2 -fomit-frame-pointer -msse2" TARGET_SYS=Linux BUILDMODE=static
  23. mkdir -p build/linux32/bin
  24. cp -r 3rdparty/luajit/src/jit 3rdparty/luajit/src/luajit 3rdparty/luajit/src/libluajit.a build/linux32/bin
  25. make -R -C 3rdparty/luajit/src clean
  26. build/linux64/bin/luajit:
  27. make -R -C 3rdparty/luajit/src HOST_CC="gcc -m64" CCOPT="-O2 -fomit-frame-pointer -msse2" TARGET_SYS=Linux BUILDMODE=static
  28. mkdir -p build/linux64/bin
  29. cp -r 3rdparty/luajit/src/jit 3rdparty/luajit/src/luajit 3rdparty/luajit/src/libluajit.a build/linux64/bin
  30. make -R -C 3rdparty/luajit/src clean
  31. build/mingw32/bin/luajit.exe:
  32. make -R -C 3rdparty/luajit/src HOST_CC="x86_64-w64-mingw32-gcc -m32" CCOPT="-O2 -fomit-frame-pointer -msse2" TARGET_SYS=Windows BUILDMODE=static
  33. mkdir -p build/mingw32/bin
  34. cp -r 3rdparty/luajit/src/jit 3rdparty/luajit/src/luajit.exe 3rdparty/luajit/src/libluajit.a build/mingw32/bin
  35. make -R -C 3rdparty/luajit/src clean
  36. build/mingw64/bin/luajit.exe:
  37. make -R -C 3rdparty/luajit/src HOST_CC="x86_64-w64-mingw32-gcc -m64" CCOPT="-O2 -fomit-frame-pointer -msse2" TARGET_SYS=Windows BUILDMODE=static
  38. mkdir -p build/mingw64/bin
  39. cp -r 3rdparty/luajit/src/jit 3rdparty/luajit/src/luajit.exe 3rdparty/luajit/src/libluajit.a build/mingw64/bin
  40. make -R -C 3rdparty/luajit/src clean
  41. build/projects/android:
  42. $(GENIE) --file=scripts/genie.lua --with-luajit --with-openal --with-bullet --compiler=android-arm gmake
  43. android-arm-debug: build/projects/android build/android-arm/bin/libluajit.a
  44. make -R -C build/projects/android config=debug
  45. android-arm-development: build/projects/android build/android-arm/bin/libluajit.a
  46. make -R -C build/projects/android config=development
  47. android-arm-release: build/projects/android build/android-arm/bin/libluajit.a
  48. make -R -C build/projects/android config=release
  49. android-arm: android-arm-debug android-arm-development android-arm-release
  50. build/projects/linux:
  51. $(GENIE) --file=scripts/genie.lua --with-luajit --with-openal --with-bullet --with-tools --compiler=linux-gcc gmake
  52. linux-debug32: build/projects/linux build/linux32/bin/luajit
  53. make -R -C build/projects/linux config=debug32
  54. linux-development32: build/projects/linux build/linux32/bin/luajit
  55. make -R -C build/projects/linux config=development32
  56. linux-release32: build/projects/linux build/linux32/bin/luajit
  57. make -R -C build/projects/linux config=release32
  58. linux-debug64: build/projects/linux build/linux64/bin/luajit
  59. make -R -C build/projects/linux config=debug64
  60. linux-development64: build/projects/linux build/linux64/bin/luajit
  61. make -R -C build/projects/linux config=development64
  62. linux-release64: build/projects/linux build/linux64/bin/luajit
  63. make -R -C build/projects/linux config=release64
  64. linux: linux-debug32 linux-development32 linux-release32 linux-debug64 linux-development64 linux-release64
  65. build/projects/mingw:
  66. $(GENIE) --file=scripts/genie.lua --with-luajit --with-openal --with-bullet --with-tools --compiler=mingw-gcc gmake
  67. mingw-debug32: build/projects/mingw build/mingw32/bin/luajit.exe
  68. make -R -C build/projects/mingw config=debug32
  69. mingw-development32: build/projects/mingw build/mingw32/bin/luajit.exe
  70. make -R -C build/projects/mingw config=development32
  71. mingw-release32: build/projects/mingw build/mingw32/bin/luajit.exe
  72. make -R -C build/projects/mingw config=release32
  73. mingw-debug64: build/projects/mingw build/mingw64/bin/luajit.exe
  74. make -R -C build/projects/mingw config=debug64
  75. mingw-development64: build/projects/mingw build/mingw64/bin/luajit.exe
  76. make -R -C build/projects/mingw config=development64
  77. mingw-release64: build/projects/mingw build/mingw64/bin/luajit.exe
  78. make -R -C build/projects/mingw config=release64
  79. mingw: mingw-debug32 mingw-development32 mingw-release32 mingw-debug64 mingw-development64 mingw-release64
  80. build/projects/vs2013:
  81. $(GENIE) --file=scripts\genie.lua --with-luajit --with-openal --with-bullet --with-tools --no-level-editor vs2013
  82. windows-debug32: build/projects/vs2013
  83. devenv build/projects/vs2013/crown.sln /Build "debug|Win32"
  84. windows-development32: build/projects/vs2013
  85. devenv build/projects/vs2013/crown.sln /Build "development|Win32"
  86. windows-release32: build/projects/vs2013
  87. devenv build/projects/vs2013/crown.sln /Build "release|Win32"
  88. windows-debug64: build/projects/vs2013
  89. devenv build/projects/vs2013/crown.sln /Build "debug|x64"
  90. windows-development64: build/projects/vs2013
  91. devenv build/projects/vs2013/crown.sln /Build "development|x64"
  92. windows-release64: build/projects/vs2013
  93. devenv build/projects/vs2013/crown.sln /Build "release|x64"
  94. .PHONY: rebuild-glib-resources
  95. rebuild-glib-resources:
  96. make -R -C tools/ui rebuild
  97. tools-linux-debug64: linux-development64
  98. make -R -C build/projects/linux level-editor config=debug
  99. tools-linux-release64: linux-development64
  100. make -R -C build/projects/linux level-editor config=release
  101. tools-mingw-debug64: mingw-development64
  102. make -R -C build/projects/mingw level-editor config=debug
  103. tools-mingw-release64: mingw-development64
  104. make -R -C build/projects/mingw level-editor config=release
  105. .PHONY: docs
  106. docs:
  107. make -C docs/ html
  108. doxygen docs/doxygen/Doxyfile.doxygen
  109. .PHONY: clean
  110. clean:
  111. @echo Cleaning...
  112. -@rm -rf build
  113. -@make -R -C 3rdparty/luajit/src clean -s