Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. ###############################################################
  2. # Mongoose <stu7440@westga.edu>
  3. ###############################################################
  4. # + Cleaner clean
  5. # + Add new include tree
  6. # + Add new flags
  7. # + Install/Uninstall
  8. # + Debian and Redhat packaging
  9. # + Lots of misc new features
  10. ###############################################################
  11. BUILD_SELECT=debug
  12. NAME=OpenRaider
  13. NAME_DEB=openraider
  14. MAJOR_VERSION=0
  15. MINOR_VERSION=1
  16. MICRO_VERSION=2
  17. BUILD_ID=20140102
  18. PRE=
  19. VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(PRE)
  20. VERSION_DEB=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_ID)
  21. BUILD_HOST=$(shell uname -s -n -r -m)
  22. ARCH=$(shell uname -m)
  23. #ARCH=i386
  24. UNAME=$(shell uname -s)
  25. ###############################################################
  26. # -DUSING_OPENAL Add OpenAL sound support
  27. # -DMULTITEXTURE Add OpenGL multitexturing
  28. # -DUNICODE_SUPPORT Add unicode/internation keyboard support
  29. # -DUSING_EMITTER_IN_GAME Run particle test in game
  30. BASE_DEFS=$(shell sdl-config --cflags) -Isrc -DSDL_INTERFACE \
  31. -DUSING_OPENGL -DZLIB_SUPPORT -DUSING_EMITTER \
  32. -DUSING_OPENAL -DUSING_MTK_TGA -DUSING_PTHREADS \
  33. -DUSING_HEL -DHAVE_SDL_TTF
  34. BASE_LIBS=$(shell sdl-config --libs) -lz -lstdc++ \
  35. -lpthread -lSDL_ttf
  36. # -DDEBUG_GL
  37. DEBUG_DEFS=-DDEBUG -DEXPERIMENTAL
  38. DEBUG_OBJ=
  39. ifeq ($(UNAME),Darwin)
  40. AUDIO_LIBS += -lalut
  41. AUDIO_LIBS += -framework OpenAL
  42. AUDIO_LIBS += -L/usr/local/lib
  43. AUDIO_DEFS += -I/usr/local/include
  44. BASE_LIBS += -L/opt/local/lib
  45. BASE_DEFS += -I/opt/local/include
  46. BASE_LIBS += -framework OpenGL
  47. BASE_LIBS += -framework GLUT
  48. else
  49. AUDIO_LIBS += -lopenal
  50. BASE_LIBS += -L/usr/local/lib
  51. BASE_DEFS += -I/usr/local/include
  52. endif
  53. BASE_LIBS += $(AUDIO_LIBS)
  54. BASE_DEFS += $(AUDIO_DEFS)
  55. # libferit, File transfer via HTTP/FTP/etc support
  56. LIBFERIT_LIB=/usr/local/lib/libferit.so
  57. LIBFERIT=$(shell if test -e $(LIBFERIT_LIB) > /dev/null; then echo yes; fi)
  58. ifeq ($(LIBFERIT), yes)
  59. BASE_DEFS += -DHAVE_LIBFERIT
  60. BASE_LIBS += -lferit
  61. endif
  62. ###############################################################
  63. TREE_DIR=OpenRaider
  64. BUILD_DEBUG_DIR=bin/debug
  65. BUILD_RELEASE_DIR=bin/release
  66. BUILD_PROF_DIR=bin/prof
  67. BUILD_TEST_DIR=bin/test
  68. BUILD_MEM_DIR=bin/mem
  69. BUILD_INSTALL_DIR=bin/$(BUILD_SELECT)
  70. DEB_DIR=/tmp/$(NAME).deb
  71. # Edited for Debian GNU/Linux.
  72. DESTDIR =
  73. INSTALL_BIN=$(DESTDIR)/usr/games
  74. INSTALL_LIB=$(DESTDIR)/usr/lib
  75. INSTALL_DOC=$(DESTDIR)/usr/share/doc/$(NAME)
  76. INSTALL_SHARE=$(DESTDIR)/usr/share/$(NAME)
  77. INSTALL_INCLUDE=$(DESTDIR)/usr/include
  78. ###############################################################
  79. CC=gcc
  80. BASE_CFLAGS=-Wall $(BASE_DEFS) \
  81. -DVERSION=\"\\\"$(NAME)-$(VERSION)-$(BUILD_ID)\\\"\" \
  82. -DBUILD_HOST=\"\\\"$(BUILD_HOST)\\\"\"
  83. LD_FLAGS=-L/usr/X11/lib -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi \
  84. -lm $(BASE_LIBS)
  85. ifneq ($(UNAME),Darwin)
  86. LD_FLAGS+=-lGL -lGLU
  87. endif
  88. RELEASE_CFLAGS=$(BASE_CFLAGS) -ffast-math -funroll-loops \
  89. -fomit-frame-pointer -O2
  90. DEBUG_CFLAGS=$(BASE_CFLAGS) -g -O0 $(DEBUG_DEFS)
  91. ################################################################
  92. DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
  93. DO_SHLIB_CC=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -o $@ -c $<
  94. TARGETS=$(BUILDDIR)/$(NAME)
  95. ################################################################
  96. auto: $(BUILD_SELECT)
  97. run: $(BUILD_SELECT)
  98. bin/$(BUILD_SELECT)/OpenRaider
  99. targets: $(TARGETS)
  100. bundle: release
  101. mac_dist/bundle.sh
  102. mac_dist/plist.sh $(NAME) $(VERSION) $(BUILD_ID) > bin/OpenRaider.app/Contents/Info.plist
  103. mac_dist/frameworks.sh
  104. bundle-image: bundle
  105. mac_dist/image.sh
  106. bundle-archive: bundle
  107. mac_dist/archive.sh
  108. all: debug release prof
  109. debug:
  110. @-mkdir -p $(BUILD_DEBUG_DIR)
  111. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) \
  112. CFLAGS="$(DEBUG_CFLAGS)" \
  113. LD_FLAGS="$(LD_FLAGS)"
  114. prof:
  115. @-mkdir -p $(BUILD_PROF_DIR)
  116. $(MAKE) targets BUILDDIR=$(BUILD_PROF_DIR) \
  117. CFLAGS="$(DEBUG_CFLAGS) -pg" \
  118. LD_FLAGS="$(LD_FLAGS) -pg"
  119. release:
  120. @-mkdir -p $(BUILD_RELEASE_DIR)
  121. $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) \
  122. CFLAGS="$(RELEASE_CFLAGS)" \
  123. LD_FLAGS="$(LD_FLAGS)"
  124. #####################################
  125. ded:
  126. @-mkdir -p $(BUILD_DEBUG_DIR)/ded
  127. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR)/ded \
  128. CFLAGS="$(DEBUG_CFLAGS) -DDEDICATED_SERVER" \
  129. LD_FLAGS="$(LD_FLAGS)"
  130. # -DDEBUG_MEMEORY_VERBOSE
  131. # -DDEBUG_MEMEORY
  132. memory:
  133. @-mkdir -p $(BUILD_MEM_DIR)
  134. $(MAKE) targets BUILDDIR=$(BUILD_MEM_DIR) \
  135. DEBUG_OBJ="$(BUILD_MEM_DIR)/memeory_test.o" \
  136. CFLAGS="$(DEBUG_CFLAGS) -DDEBUG_MEMEORY" \
  137. LD_FLAGS="$(LD_FLAGS)"
  138. depend:
  139. @-echo "Making deps..."
  140. @-echo "# Autogenerated dependency file" > depend
  141. @-find ./src -name "*.cpp" -exec ./deps.sh $(BASE_DEFS) {} \; >> depend
  142. @-echo "[DONE]"
  143. ################################################################
  144. # Later hel will become a seperate library once it matures
  145. HEL_OBJ = \
  146. $(BUILDDIR)/Mass.o \
  147. $(BUILDDIR)/Simulation.o \
  148. $(BUILDDIR)/Vector3d.o \
  149. $(BUILDDIR)/Matrix.o \
  150. $(BUILDDIR)/ViewVolume.o \
  151. $(BUILDDIR)/CollisionObject.o \
  152. $(BUILDDIR)/BoundingVolume.o \
  153. $(BUILDDIR)/Quaternion.o \
  154. $(BUILDDIR)/math.o \
  155. $(BUILDDIR)/Entity.o
  156. #$(BUILDDIR)/Spring.o
  157. OBJS = \
  158. $(DEBUG_OBJ) \
  159. $(HEL_OBJ) \
  160. $(BUILDDIR)/mtk_tga.o \
  161. $(BUILDDIR)/System.o \
  162. $(BUILDDIR)/SDLSystem.o \
  163. $(BUILDDIR)/OpenRaider.o \
  164. $(BUILDDIR)/World.o \
  165. $(BUILDDIR)/TombRaider.o \
  166. $(BUILDDIR)/GLString.o \
  167. $(BUILDDIR)/Camera.o \
  168. $(BUILDDIR)/OpenGLMesh.o \
  169. $(BUILDDIR)/Render.o \
  170. $(BUILDDIR)/Sound.o \
  171. $(BUILDDIR)/Network.o \
  172. $(BUILDDIR)/Texture.o \
  173. $(BUILDDIR)/Emitter.o \
  174. $(BUILDDIR)/Particle.o \
  175. $(BUILDDIR)/SkeletalModel.o \
  176. $(BUILDDIR)/Light.o
  177. $(BUILDDIR)/$(NAME) : $(OBJS)
  178. $(CC) $(CFLAGS) $(LD_FLAGS) -o $@ $(OBJS)
  179. #################################################################
  180. clean: clean-small clean-dep
  181. clean-small: clean-emacs clean-build clean-test clean-obj
  182. @-rm -rf bin/OpenRaider.app
  183. @-rm -rf bin/OpenRaider.dmg
  184. @-rm -rf bin/OpenRaider.zip
  185. clean-dep:
  186. @-echo "Cleaning dependencies "
  187. @-rm -f depend
  188. @-echo "[DONE]"
  189. clean-test:
  190. @-echo "Cleaning test builds "
  191. @-rm -f $(BUILD_TEST_DIR)/*.o
  192. @-rm -f $(BUILD_TEST_DIR)/*.test
  193. @-rm -rf $(BUILD_TEST_DIR)/*.build
  194. @-echo "[DONE]"
  195. clean-obj:
  196. @-echo "Cleaning objects "
  197. @-rm -f $(BUILD_PROF_DIR)/*.o
  198. @-rm -f $(BUILD_DEBUG_DIR)/*.o
  199. @-rm -f $(BUILD_RELEASE_DIR)/*.o
  200. @-rm -f $(BUILD_TEST_DIR)/*.o
  201. @-rm -f $(BUILD_MEM_DIR)/*.o
  202. @-echo "[DONE]"
  203. clean-emacs:
  204. @-echo "Cleaning emacs files "
  205. @-rm -f `find . -name "*~" -print`
  206. @-echo "[DONE]"
  207. clean-build:
  208. @-echo "Cleaning builds "
  209. @-rm -f $(BUILD_PROF_DIR)/$(NAME)
  210. @-rm -f $(BUILD_DEBUG_DIR)/$(NAME)
  211. @-rm -f $(BUILD_RELEASE_DIR)/$(NAME)
  212. @-rm -f $(BUILD_MEM_DIR)/$(NAME)
  213. @-echo "[DONE]"
  214. clean-deb:
  215. @-echo "Cleaning DEBs "
  216. @-rm -rf $(DEB_DIR)
  217. @-echo "[DONE]"
  218. #################################################################
  219. -include depend
  220. #################################################################
  221. docs:
  222. doxygen
  223. cp -R doc/html/* ../apache/ # My local test webserver
  224. redhat:
  225. cd $(DEB_DIR) && \
  226. alien --to-rpm $(NAME_DEB)_$(VERSION_DEB)-1_$(ARCH).deb
  227. debian:
  228. $(MAKE) tarball
  229. $(MAKE) clean-deb
  230. mkdir -p $(DEB_DIR)
  231. cp ../$(NAME_DEB)-$(VERSION_DEB).tar.gz $(DEB_DIR)
  232. cd $(DEB_DIR) && tar zxvf $(NAME_DEB)-$(VERSION_DEB).tar.gz && mv $(TREE_DIR) $(NAME_DEB)-$(VERSION_DEB) && cd $(NAME_DEB)-$(VERSION_DEB) && make deb-init && make deb
  233. deb-init:
  234. dh_make -c gpl -s \
  235. -e mongoose@icculus.org -f ../$(NAME_DEB)-$(VERSION_DEB).tar.gz
  236. @-cp debian/control debian/control.old
  237. @-sed -e "s/<insert up to 60 chars description>/Open source Tomb Raider series clone/g" debian/control.old > debian/control
  238. @-rm -f debian/control.old
  239. @-cp debian/control debian/control.old
  240. @-sed -e "s/<insert long description, indented with spaces>/OpenRaider is an open source multiplayer and single player Tomb Raider clone for linux and Playstation 2. It uses the game data such as models, sound, levels, and animation from the popular 3d series Tomb Raider by Core Design./g" debian/control.old > debian/control
  241. @-rm -f debian/control.old
  242. deb:
  243. dpkg-buildpackage -rfakeroot
  244. apt:
  245. cd $(DEB_DIR) && dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
  246. cd $(DEB_DIR) && dpkg-scansources . /dev/null | gzip -9c > Sources.gz
  247. apt-upload:
  248. scp $(DEB_DIR)/Packages.gz \
  249. $(DEB_DIR)/Sources.gz \
  250. $(DEB_DIR)/$(NAME_DEB)*.diff.gz \
  251. $(DEB_DIR)/$(NAME_DEB)*.deb \
  252. $(DEB_DIR)/$(NAME_DEB)*.dsc \
  253. $(DEB_DIR)/$(NAME_DEB)*.orig.tar.gz \
  254. orbital.sf.net:~/openraider/htdocs/debian/
  255. install:
  256. mkdir -p $(INSTALL_SHARE)/data
  257. cp setup.sh $(INSTALL_SHARE)
  258. cp data/* $(INSTALL_SHARE)/data
  259. mkdir -p $(INSTALL_DOC)
  260. cp README ChangeLog BUGS TODO $(INSTALL_DOC)
  261. mkdir -p $(INSTALL_BIN)
  262. cp bin/$(BUILD_SELECT)/OpenRaider $(INSTALL_BIN)
  263. bin-tarball:
  264. $(MAKE) clean-obj
  265. @-cd .. && tar zcvf $(NAME_DEB)-$(VERSION_DEB)-$(ARCH).tar.gz \
  266. $(TREE_DIR)/Makefile $(TREE_DIR)/data \
  267. $(TREE_DIR)/bin/$(BUILD_SELECT)/OpenRaider \
  268. $(TREE_DIR)/README $(TREE_DIR)/ChangeLog \
  269. $(TREE_DIR)/BUGS $(TREE_DIR)/TODO
  270. tarball:
  271. @-echo "Making tarball "
  272. @-cd .. && tar zcvf $(NAME_DEB)-$(VERSION_DEB).tar.gz \
  273. $(TREE_DIR) --exclude old --exclude models \
  274. --exclude semantic.cache --exclude TAGS \
  275. --exclude bin --exclude CVS --exclude *~
  276. @-echo "[DONE]"
  277. PSKModel.zip:
  278. @-echo "Making PSKModel pak "
  279. @-zip ../pskmodel-$(BUILD_ID)-src.zip \
  280. Makefile deps.sh README.PSKModel \
  281. src/PSKModel.h src/PSKModel.cpp \
  282. src/UTPackage.h src/UTPackage.cpp \
  283. src/Texture.h src/Texture.cpp \
  284. src/mtk_tga.cpp src/mtk_tga.h
  285. @-echo "[DONE]"
  286. @-echo "Making test data pak "
  287. @-zip -r ../pskmodel-$(BUILD_ID)-data.zip \
  288. data/models/test/
  289. @-echo "[DONE]"
  290. backup:
  291. $(MAKE) tarball
  292. @-cd .. && cp $(NAME)-$(VERSION)-$(BUILD_ID).tar.gz ~/Backup
  293. #################################################################
  294. # Unit Test builds
  295. #################################################################
  296. TEST_FLAGS=-Wall -g -O0 -DDEBUG -lstdc++
  297. TEST_MAP_TR5=~/projects/Data/models/tombraider/tr5/demo.trc
  298. TEST_MAP_TR4=~/projects/Data/models/tombraider/tr4/angkor1.tr4
  299. TEST_MAP_TR3=~/projects/Data/models/tombraider/tr3/scotland.tr2
  300. TEST_MAP_TR2=~/projects/Data/models/tombraider/tr2/unwater.tr2
  301. TEST_MAP_TR1=~/projects/Data/models/tombraider/tr1/level1.phd
  302. TombRaider.reg_test:
  303. $(MAKE) TombRaider.test
  304. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR1) > /tmp/log.tr1
  305. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR2) > /tmp/log.tr2
  306. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR3) > /tmp/log.tr3
  307. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR4) > /tmp/log.tr4
  308. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR5) > /tmp/log.tr5
  309. TombRaider.test:
  310. @-mkdir -p $(BUILD_TEST_DIR)
  311. $(MAKE) targets NAME=TombRaider.test BUILDDIR=$(BUILD_TEST_DIR) \
  312. OBJS="$(BUILD_TEST_DIR)/TombRaider.o $(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/memeory_test.o" \
  313. CFLAGS="$(BASE_CFLAGS) -g -D__TOMBRAIDER_TEST__ -D__TEST_TR5_DUMP_TGA -D__TEST_32BIT_TEXTILES -DDEBUG_MEMEORY" \
  314. LD_FLAGS="-lz"
  315. #################################################################
  316. GLString.test:
  317. mkdir -p $(BUILD_TEST_DIR)
  318. $(CC) -Wall -Isrc -D__TEST__ -DHAVE_MTK -DHAVE_SDL -DUSING_MTK_TGA \
  319. $(shell sdl-config --cflags) $(shell sdl-config --libs) \
  320. -lGL -lGLU -lm \
  321. src/Texture.cpp src/mtk_tga.cpp \
  322. src/GLString.cpp -o $(BUILD_TEST_DIR)/GLString.test
  323. #################################################################
  324. SIMULATION_CFLAGS=-Wall -O0 -g -Isrc $(shell sdl-config --cflags) \
  325. -DUSING_OPENGL -DUSING_HEL -DUSING_MTK_TGA \
  326. -DUNIT_TEST_SIMULATION
  327. SIMULATION_OBJS=$(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o \
  328. $(BUILD_TEST_DIR)/Mass.o \
  329. $(BUILD_TEST_DIR)/CollisionObject.o \
  330. $(BUILD_TEST_DIR)/Simulation.o \
  331. $(BUILD_TEST_DIR)/Vector3d.o \
  332. $(BUILD_TEST_DIR)/Matrix.o \
  333. $(BUILD_TEST_DIR)/ViewVolume.o \
  334. $(BUILD_TEST_DIR)/BoundingVolume.o \
  335. $(BUILD_TEST_DIR)/Quaternion.o \
  336. $(BUILD_TEST_DIR)/math.o
  337. Simulation.test:
  338. mkdir -p $(BUILD_TEST_DIR)
  339. $(MAKE) targets NAME=Simulation.test BUILDDIR=$(BUILD_TEST_DIR) \
  340. OBJS="$(SIMULATION_OBJS)" \
  341. CFLAGS="$(SIMULATION_CFLAGS)" \
  342. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs)"
  343. #################################################################
  344. HEL_PARTICLE_CFLAGS=-Wall -O0 -g -Isrc $(shell sdl-config --cflags) \
  345. -DUSING_OPENGL -DUSING_HEL -DUSING_MTK_TGA \
  346. -DUNIT_TEST_SPRING -DHAVE_SDL_TTF -lSDL_ttf
  347. HEL_PARTICLE_OBJS=$(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o \
  348. $(BUILD_TEST_DIR)/Mass.o \
  349. $(BUILD_TEST_DIR)/Spring.o \
  350. $(BUILD_TEST_DIR)/CollisionObject.o \
  351. $(BUILD_TEST_DIR)/Simulation.o \
  352. $(BUILD_TEST_DIR)/Vector3d.o \
  353. $(BUILD_TEST_DIR)/Matrix.o \
  354. $(BUILD_TEST_DIR)/ViewVolume.o \
  355. $(BUILD_TEST_DIR)/BoundingVolume.o \
  356. $(BUILD_TEST_DIR)/Quaternion.o \
  357. $(BUILD_TEST_DIR)/math.o
  358. Spring.test:
  359. mkdir -p $(BUILD_TEST_DIR)
  360. $(MAKE) targets NAME=Spring.test BUILDDIR=$(BUILD_TEST_DIR) \
  361. OBJS="$(HEL_PARTICLE_OBJS)" \
  362. CFLAGS="$(HEL_PARTICLE_CFLAGS)" \
  363. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs)"
  364. #################################################################
  365. Hel.test: Quaternion.test Matrix.test Math.test
  366. Matrix.test:
  367. @-echo "Building Matrix unit test"
  368. mkdir -p $(BUILD_TEST_DIR)
  369. $(CC) -Wall -g -DMATRIX_UNIT_TEST -lm -lstdc++ -Isrc \
  370. src/hel/Matrix.cpp src/hel/Quaternion.cpp src/hel/Vector3d.cpp \
  371. -o $(BUILD_TEST_DIR)/Matrix.test
  372. @-echo "================================================="
  373. @-echo "Running Matrix unit test"
  374. $(BUILD_TEST_DIR)/Matrix.test
  375. Quaternion.test:
  376. @-echo "Building Quaternion unit test"
  377. mkdir -p $(BUILD_TEST_DIR)
  378. $(CC) -Wall -g -DQUATERNION_UNIT_TEST -lm -lstdc++ -Isrc \
  379. src/hel/Quaternion.cpp -o $(BUILD_TEST_DIR)/Quaternion.test
  380. @-echo "================================================="
  381. @-echo "Running Quaternion unit test"
  382. $(BUILD_TEST_DIR)/Quaternion.test
  383. Math.test:
  384. @-echo "Building Math unit test"
  385. mkdir -p $(BUILD_TEST_DIR)
  386. $(CC) -Wall -g -DMATH_UNIT_TEST -lm -lstdc++ -Isrc \
  387. src/hel/math.cpp -o $(BUILD_TEST_DIR)/Math.test
  388. @-echo "================================================="
  389. @-echo "Running hel unit test"
  390. $(BUILD_TEST_DIR)/Math.test
  391. #################################################################
  392. Memeory.test:
  393. mkdir -p $(BUILD_TEST_DIR)
  394. $(CC) -Wall -g -D__TEST__ -lstdc++ \
  395. -DDEBUG_MEMEORY -DDEBUG_MEMEORY_ERROR \
  396. src/memeory_test.cpp -o $(BUILD_TEST_DIR)/memeory_test.test
  397. #################################################################
  398. Network.test:
  399. mkdir -p $(BUILD_TEST_DIR)
  400. $(CC) $(TEST_FLAGS) -DUNIT_TEST_NETWORK \
  401. src/Network.cpp -o $(BUILD_TEST_DIR)/Network.test
  402. #################################################################
  403. Sound.test:
  404. mkdir -p $(BUILD_TEST_DIR)
  405. $(CC) $(TEST_FLAGS) -DUNIT_TEST_SOUND \
  406. -DUSING_OPENAL $(AUDIO_LIBS) \
  407. src/Sound.cpp -o $(BUILD_TEST_DIR)/Sound.test
  408. ifeq ($(UNAME),Darwin)
  409. install_name_tool -change libalut.0.1.0.dylib /opt/local/lib/libalut.0.1.0.dylib $(BUILD_TEST_DIR)/Sound.test
  410. endif
  411. #################################################################
  412. PSKModel.test:
  413. mkdir -p $(BUILD_TEST_DIR)
  414. $(MAKE) targets NAME=PSKModel.test BUILDDIR=$(BUILD_TEST_DIR) \
  415. OBJS="$(BUILD_TEST_DIR)/PSKModel.o $(BUILD_TEST_DIR)/UTPackage.o $(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o" \
  416. CFLAGS="-Wall -O0 -g -Isrc -DUNIT_TEST_PSKMODEL -DUSING_OPENGL $(shell sdl-config --cflags) -DUSING_MTK_TGA -DHAVE_SDL_TTF" \
  417. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs) -lSDL_ttf"
  418. #################################################################
  419. UTPackage.test:
  420. mkdir -p $(BUILD_TEST_DIR)
  421. $(MAKE) targets NAME=UTPackage.test BUILDDIR=$(BUILD_TEST_DIR) \
  422. OBJS="$(BUILD_TEST_DIR)/UTPackage.o $(BUILD_TEST_DIR)/mtk_tga.o" \
  423. CFLAGS="-Wall -O0 -g -Isrc -DUNIT_TEST_UTPACKAGE -DUSING_MTK_TGA" \
  424. LD_FLAGS="-lm -lstdc++"
  425. #################################################################