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

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