Open Source Tomb Raider Engine
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Makefile 16KB

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