makefile 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. #
  2. # Copyright 2011-2014 Branimir Karadzic. All rights reserved.
  3. # License: http://www.opensource.org/licenses/BSD-2-Clause
  4. #
  5. UNAME := $(shell uname)
  6. ifeq ($(UNAME),$(filter $(UNAME),Linux Darwin))
  7. ifeq ($(UNAME),$(filter $(UNAME),Darwin))
  8. OS=darwin
  9. else
  10. OS=linux
  11. endif
  12. else
  13. OS=windows
  14. endif
  15. PREMAKE4=../bx/tools/bin/$(OS)/premake4
  16. all:
  17. $(PREMAKE4) --file=premake/premake4.lua vs2008
  18. $(PREMAKE4) --file=premake/premake4.lua vs2010
  19. $(PREMAKE4) --file=premake/premake4.lua vs2012
  20. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-arm gmake
  21. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-mips gmake
  22. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-x86 gmake
  23. $(PREMAKE4) --file=premake/premake4.lua --gcc=nacl gmake
  24. $(PREMAKE4) --file=premake/premake4.lua --gcc=nacl-arm gmake
  25. $(PREMAKE4) --file=premake/premake4.lua --gcc=pnacl gmake
  26. $(PREMAKE4) --file=premake/premake4.lua --gcc=mingw gmake
  27. $(PREMAKE4) --file=premake/premake4.lua --gcc=linux-gcc gmake
  28. $(PREMAKE4) --file=premake/premake4.lua --gcc=osx gmake
  29. $(PREMAKE4) --file=premake/premake4.lua --gcc=ios-arm gmake
  30. $(PREMAKE4) --file=premake/premake4.lua --gcc=ios-simulator gmake
  31. $(PREMAKE4) --file=premake/premake4.lua xcode4
  32. .build/projects/gmake-android-arm:
  33. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-arm gmake
  34. android-arm-debug: .build/projects/gmake-android-arm
  35. make -R -C .build/projects/gmake-android-arm config=debug
  36. android-arm-release: .build/projects/gmake-android-arm
  37. make -R -C .build/projects/gmake-android-arm config=release
  38. android-arm: android-arm-debug android-arm-release
  39. .build/projects/gmake-android-mips:
  40. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-mips gmake
  41. android-mips-debug: .build/projects/gmake-android-mips
  42. make -R -C .build/projects/gmake-android-mips config=debug
  43. android-mips-release: .build/projects/gmake-android-mips
  44. make -R -C .build/projects/gmake-android-mips config=release
  45. android-mips: android-mips-debug android-mips-release
  46. .build/projects/gmake-android-x86:
  47. $(PREMAKE4) --file=premake/premake4.lua --gcc=android-x86 gmake
  48. android-x86-debug: .build/projects/gmake-android-x86
  49. make -R -C .build/projects/gmake-android-x86 config=debug
  50. android-x86-release: .build/projects/gmake-android-x86
  51. make -R -C .build/projects/gmake-android-x86 config=release
  52. android-x86: android-x86-debug android-x86-release
  53. .build/projects/gmake-linux:
  54. $(PREMAKE4) --file=premake/premake4.lua --gcc=linux-gcc gmake
  55. linux-debug32: .build/projects/gmake-linux
  56. make -R -C .build/projects/gmake-linux config=debug32
  57. linux-release32: .build/projects/gmake-linux
  58. make -R -C .build/projects/gmake-linux config=release32
  59. linux-debug64: .build/projects/gmake-linux
  60. make -R -C .build/projects/gmake-linux config=debug64
  61. linux-release64: .build/projects/gmake-linux
  62. make -R -C .build/projects/gmake-linux config=release64
  63. linux: linux-debug32 linux-release32 linux-debug64 linux-release64
  64. .build/projects/gmake-mingw:
  65. $(PREMAKE4) --file=premake/premake4.lua --gcc=mingw gmake
  66. mingw-debug32: .build/projects/gmake-mingw
  67. make -R -C .build/projects/gmake-mingw config=debug32
  68. mingw-release32: .build/projects/gmake-mingw
  69. make -R -C .build/projects/gmake-mingw config=release32
  70. mingw-debug64: .build/projects/gmake-mingw
  71. make -R -C .build/projects/gmake-mingw config=debug64
  72. mingw-release64: .build/projects/gmake-mingw
  73. make -R -C .build/projects/gmake-mingw config=release64
  74. mingw: mingw-debug32 mingw-release32 mingw-debug64 mingw-release64
  75. .build/projects/vs2008:
  76. $(PREMAKE4) --file=premake/premake4.lua vs2008
  77. vs2008-debug32:
  78. devenv .build/projects/vs2008/bgfx.sln /Build "Debug|Win32"
  79. vs2008-release32:
  80. devenv .build/projects/vs2008/bgfx.sln /Build "Release|Win32"
  81. vs2008-debug64:
  82. devenv .build/projects/vs2008/bgfx.sln /Build "Debug|x64"
  83. vs2008-release64:
  84. devenv .build/projects/vs2008/bgfx.sln /Build "Release|x64"
  85. vs2008: vs2008-debug32 vs2008-release32 vs2008-debug64 vs2008-release64
  86. .build/projects/vs2010:
  87. $(PREMAKE4) --file=premake/premake4.lua vs2010
  88. .build/projects/vs2012:
  89. $(PREMAKE4) --file=premake/premake4.lua vs2012
  90. .build/projects/gmake-nacl:
  91. $(PREMAKE4) --file=premake/premake4.lua --gcc=nacl gmake
  92. nacl-debug32: .build/projects/gmake-nacl
  93. make -R -C .build/projects/gmake-nacl config=debug32
  94. nacl-release32: .build/projects/gmake-nacl
  95. make -R -C .build/projects/gmake-nacl config=release32
  96. nacl-debug64: .build/projects/gmake-nacl
  97. make -R -C .build/projects/gmake-nacl config=debug64
  98. nacl-release64: .build/projects/gmake-nacl
  99. make -R -C .build/projects/gmake-nacl config=release64
  100. nacl: nacl-debug32 nacl-release32 nacl-debug64 nacl-release64
  101. .build/projects/gmake-nacl-arm:
  102. $(PREMAKE4) --file=premake/premake4.lua --gcc=nacl-arm gmake
  103. nacl-arm-debug: .build/projects/gmake-nacl-arm
  104. make -R -C .build/projects/gmake-nacl-arm config=debug
  105. nacl-arm-release: .build/projects/gmake-nacl-arm
  106. make -R -C .build/projects/gmake-nacl-arm config=release
  107. nacl-arm: nacl-arm-debug32 nacl-arm-release32
  108. .build/projects/gmake-pnacl:
  109. $(PREMAKE4) --file=premake/premake4.lua --gcc=pnacl gmake
  110. pnacl-debug: .build/projects/gmake-pnacl
  111. make -R -C .build/projects/gmake-pnacl config=debug
  112. pnacl-release: .build/projects/gmake-pnacl
  113. make -R -C .build/projects/gmake-pnacl config=release
  114. pnacl: pnacl-debug pnacl-release
  115. .build/projects/gmake-osx:
  116. $(PREMAKE4) --file=premake/premake4.lua --gcc=osx gmake
  117. osx-debug32: .build/projects/gmake-osx
  118. make -C .build/projects/gmake-osx config=debug32
  119. osx-release32: .build/projects/gmake-osx
  120. make -C .build/projects/gmake-osx config=release32
  121. osx-debug64: .build/projects/gmake-osx
  122. make -C .build/projects/gmake-osx config=debug64
  123. osx-release64: .build/projects/gmake-osx
  124. make -C .build/projects/gmake-osx config=release64
  125. osx: osx-debug32 osx-release32 osx-debug64 osx-release64
  126. .build/projects/gmake-ios-arm:
  127. $(PREMAKE4) --file=premake/premake4.lua --gcc=ios-arm gmake
  128. ios-arm-debug: .build/projects/gmake-ios-arm
  129. make -R -C .build/projects/gmake-ios-arm config=debug
  130. ios-arm-release: .build/projects/gmake-ios-arm
  131. make -R -C .build/projects/gmake-ios-arm config=release
  132. ios-arm: ios-arm-debug ios-arm-release
  133. .build/projects/gmake-ios-simulator:
  134. $(PREMAKE4) --file=premake/premake4.lua --gcc=ios-simulator gmake
  135. ios-simulator-debug: .build/projects/gmake-ios-simulator
  136. make -R -C .build/projects/gmake-ios-simulator config=debug
  137. ios-simulator-release: .build/projects/gmake-ios-simulator
  138. make -R -C .build/projects/gmake-ios-simulator config=release
  139. ios-simulator: ios-simulator-debug ios-simulator-release
  140. rebuild-shaders:
  141. make -R -C examples rebuild
  142. analyze:
  143. cppcheck src/
  144. cppcheck examples/
  145. docs:
  146. doxygen premake/bgfx.doxygen
  147. markdown README.md > .build/docs/readme.html
  148. clean:
  149. @echo Cleaning...
  150. -@rm -rf .build