Open Source Tomb Raider Engine
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  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/opt/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 -fexpensive-optimizations -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. mkdir -p bin/OpenRaider.app/Contents/MacOS
  95. mkdir -p bin/OpenRaider.app/Contents/Resources
  96. mkdir -p bin/OpenRaider.app/Contents/Frameworks
  97. cp mac_dist/Info.plist bin/OpenRaider.app/Contents/Info.plist
  98. cp mac_dist/openraider.icns bin/OpenRaider.app/Contents/Resources/openraider.icns
  99. cp bin/release/OpenRaider bin/OpenRaider.app/Contents/MacOS/OpenRaider
  100. cp /opt/local/lib/libalut.0.1.0.dylib bin/OpenRaider.app/Contents/Frameworks/libalut.0.1.0.dylib
  101. cp /opt/local/lib/libSDL_ttf-2.0.0.dylib bin/OpenRaider.app/Contents/Frameworks/libSDL_ttf-2.0.0.dylib
  102. cp /opt/local/lib/libz.1.dylib bin/OpenRaider.app/Contents/Frameworks/libz.1.dylib
  103. cp /opt/local/lib/libSDL-1.2.0.dylib bin/OpenRaider.app/Contents/Frameworks/libSDL-1.2.0.dylib
  104. install_name_tool -change /opt/local/lib/libalut.0.1.0.dylib @executable_path/../Frameworks/libalut.0.1.0.dylib bin/OpenRaider.app/Contents/MacOS/OpenRaider
  105. install_name_tool -change /opt/local/lib/libSDL_ttf-2.0.0.dylib @executable_path/../Frameworks/libSDL_ttf-2.0.0.dylib bin/OpenRaider.app/Contents/MacOS/OpenRaider
  106. install_name_tool -change /opt/local/lib/libz.1.dylib @executable_path/../Frameworks/libz.1.dylib bin/OpenRaider.app/Contents/MacOS/OpenRaider
  107. install_name_tool -change /opt/local/lib/libSDL-1.2.0.dylib @executable_path/../Frameworks/libSDL-1.2.0.dylib bin/OpenRaider.app/Contents/MacOS/OpenRaider
  108. bundle-image: bundle
  109. hdiutil create -size 32m -fs HFS+ -volname "OpenRaider" bin/tmp.dmg
  110. hdiutil attach bin/tmp.dmg
  111. cp -r bin/OpenRaider.app /Volumes/OpenRaider/OpenRaider.app
  112. osascript -e 'tell application "Finder" to make alias file to POSIX file "/Applications" at POSIX file "/Volumes/OpenRaider/"'
  113. hdiutil detach /Volumes/OpenRaider
  114. hdiutil convert bin/tmp.dmg -format UDZO -o bin/OpenRaider.dmg
  115. rm -rf bin/tmp.dmg
  116. all: debug release prof
  117. debug:
  118. @-mkdir -p $(BUILD_DEBUG_DIR)
  119. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) \
  120. CFLAGS="$(DEBUG_CFLAGS)" \
  121. LD_FLAGS="$(LD_FLAGS)"
  122. prof:
  123. @-mkdir -p $(BUILD_PROF_DIR)
  124. $(MAKE) targets BUILDDIR=$(BUILD_PROF_DIR) \
  125. CFLAGS="$(DEBUG_CFLAGS) -pg" \
  126. LD_FLAGS="$(LD_FLAGS) -pg"
  127. release:
  128. @-mkdir -p $(BUILD_RELEASE_DIR)
  129. $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) \
  130. CFLAGS="$(RELEASE_CFLAGS)" \
  131. LD_FLAGS="$(LD_FLAGS)"
  132. #####################################
  133. ded:
  134. @-mkdir -p $(BUILD_DEBUG_DIR)/ded
  135. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR)/ded \
  136. CFLAGS="$(DEBUG_CFLAGS) -DDEDICATED_SERVER" \
  137. LD_FLAGS="$(LD_FLAGS)"
  138. md3:
  139. @-mkdir -p $(BUILD_DEBUG_DIR)
  140. $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) \
  141. DEBUG_OBJ="$(BUILD_DEBUG_DIR)/endian.o $(BUILD_DEBUG_DIR)/Md3.o $(BUILD_DEBUG_DIR)/Md3AnimModel.o" \
  142. CFLAGS="$(DEBUG_CFLAGS) -DUSING_MD3" \
  143. LD_FLAGS="$(LD_FLAGS)"
  144. # -DDEBUG_MEMEORY_VERBOSE
  145. # -DDEBUG_MEMEORY
  146. memory:
  147. @-mkdir -p $(BUILD_MEM_DIR)
  148. $(MAKE) targets BUILDDIR=$(BUILD_MEM_DIR) \
  149. DEBUG_OBJ="$(BUILD_MEM_DIR)/memeory_test.o" \
  150. CFLAGS="$(DEBUG_CFLAGS) -DDEBUG_MEMEORY" \
  151. LD_FLAGS="$(LD_FLAGS)"
  152. depend:
  153. @-echo "Making deps..."
  154. @-echo "# Autogenerated dependency file" > depend
  155. @-find ./src -name "*.cpp" -exec ./deps.sh $(BASE_DEFS) {} \; >> depend
  156. @-echo " [done]"
  157. ################################################################
  158. # Later hel will become a seperate library once it matures
  159. HEL_OBJ = \
  160. $(BUILDDIR)/Mass.o \
  161. $(BUILDDIR)/Simulation.o \
  162. $(BUILDDIR)/Vector3d.o \
  163. $(BUILDDIR)/Matrix.o \
  164. $(BUILDDIR)/ViewVolume.o \
  165. $(BUILDDIR)/CollisionObject.o \
  166. $(BUILDDIR)/BoundingVolume.o \
  167. $(BUILDDIR)/Quaternion.o \
  168. $(BUILDDIR)/math.o \
  169. $(BUILDDIR)/Entity.o
  170. #$(BUILDDIR)/Spring.o
  171. OBJS = \
  172. $(DEBUG_OBJ) \
  173. $(HEL_OBJ) \
  174. $(BUILDDIR)/mtk_tga.o \
  175. $(BUILDDIR)/System.o \
  176. $(BUILDDIR)/SDLSystem.o \
  177. $(BUILDDIR)/OpenRaider.o \
  178. $(BUILDDIR)/World.o \
  179. $(BUILDDIR)/TombRaider.o \
  180. $(BUILDDIR)/GLString.o \
  181. $(BUILDDIR)/Camera.o \
  182. $(BUILDDIR)/OpenGLMesh.o \
  183. $(BUILDDIR)/Render.o \
  184. $(BUILDDIR)/Sound.o \
  185. $(BUILDDIR)/Network.o \
  186. $(BUILDDIR)/Texture.o \
  187. $(BUILDDIR)/Emitter.o \
  188. $(BUILDDIR)/Particle.o \
  189. $(BUILDDIR)/SkeletalModel.o \
  190. $(BUILDDIR)/Light.o
  191. $(BUILDDIR)/$(NAME) : $(OBJS)
  192. $(CC) $(CFLAGS) $(LD_FLAGS) -o $@ $(OBJS)
  193. ifeq ($(UNAME),Darwin)
  194. install_name_tool -change libalut.0.1.0.dylib /opt/local/lib/libalut.0.1.0.dylib $@
  195. endif
  196. #################################################################
  197. -include depend
  198. #################################################################
  199. clean: clean-emacs clean-build clean-test clean-obj clean-dep
  200. @-rm -rf bin/OpenRaider.app
  201. @-rm -rf bin/OpenRaider.dmg
  202. clean-dep:
  203. @-echo "Cleaning dependencies "
  204. @-rm -f depend
  205. @-echo "[DONE]"
  206. clean-test:
  207. @-echo "Cleaning test builds "
  208. @-rm -f $(BUILD_TEST_DIR)/*.o
  209. @-rm -f $(BUILD_TEST_DIR)/*.test
  210. @-rm -rf $(BUILD_TEST_DIR)/*.build
  211. @-echo "[DONE]"
  212. clean-obj:
  213. @-echo "Cleaning objects "
  214. @-rm -f $(BUILD_PROF_DIR)/*.o
  215. @-rm -f $(BUILD_DEBUG_DIR)/*.o
  216. @-rm -f $(BUILD_RELEASE_DIR)/*.o
  217. @-rm -f $(BUILD_TEST_DIR)/*.o
  218. @-rm -f $(BUILD_MEM_DIR)/*.o
  219. @-echo "[DONE]"
  220. clean-emacs:
  221. @-echo "Cleaning emacs files "
  222. @-rm -f `find . -name "*~" -print`
  223. @-echo "[DONE]"
  224. clean-build:
  225. @-echo "Cleaning builds "
  226. @-rm -f $(BUILD_PROF_DIR)/$(NAME)
  227. @-rm -f $(BUILD_DEBUG_DIR)/$(NAME)
  228. @-rm -f $(BUILD_RELEASE_DIR)/$(NAME)
  229. @-rm -f $(BUILD_MEM_DIR)/$(NAME)
  230. @-echo "[DONE]"
  231. clean-deb:
  232. @-echo "Cleaning DEBs "
  233. @-rm -rf $(DEB_DIR)
  234. @-echo "[DONE]"
  235. #################################################################
  236. redhat:
  237. cd $(DEB_DIR) && \
  238. alien --to-rpm $(NAME_DEB)_$(VERSION_DEB)-1_$(ARCH).deb
  239. debian:
  240. $(MAKE) tarball
  241. $(MAKE) clean-deb
  242. mkdir -p $(DEB_DIR)
  243. cp ../$(NAME_DEB)-$(VERSION_DEB).tar.gz $(DEB_DIR)
  244. 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
  245. deb-init:
  246. dh_make -c gpl -s \
  247. -e mongoose@icculus.org -f ../$(NAME_DEB)-$(VERSION_DEB).tar.gz
  248. @-cp debian/control debian/control.old
  249. @-sed -e "s/<insert up to 60 chars description>/Open source Tomb Raider series clone/g" debian/control.old > debian/control
  250. @-rm -f debian/control.old
  251. @-cp debian/control debian/control.old
  252. @-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
  253. @-rm -f debian/control.old
  254. deb:
  255. dpkg-buildpackage -rfakeroot
  256. apt:
  257. cd $(DEB_DIR) && dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
  258. cd $(DEB_DIR) && dpkg-scansources . /dev/null | gzip -9c > Sources.gz
  259. apt-upload:
  260. scp $(DEB_DIR)/Packages.gz \
  261. $(DEB_DIR)/Sources.gz \
  262. $(DEB_DIR)/$(NAME_DEB)*.diff.gz \
  263. $(DEB_DIR)/$(NAME_DEB)*.deb \
  264. $(DEB_DIR)/$(NAME_DEB)*.dsc \
  265. $(DEB_DIR)/$(NAME_DEB)*.orig.tar.gz \
  266. orbital.sf.net:~/openraider/htdocs/debian/
  267. install:
  268. mkdir -p $(INSTALL_SHARE)/data
  269. cp setup.sh $(INSTALL_SHARE)
  270. cp data/* $(INSTALL_SHARE)/data
  271. mkdir -p $(INSTALL_DOC)
  272. cp README ChangeLog BUGS TODO $(INSTALL_DOC)
  273. mkdir -p $(INSTALL_BIN)
  274. cp bin/$(BUILD_SELECT)/OpenRaider $(INSTALL_BIN)
  275. bin-tarball:
  276. $(MAKE) clean-obj
  277. @-cd .. && tar zcvf $(NAME_DEB)-$(VERSION_DEB)-$(ARCH).tar.gz \
  278. $(TREE_DIR)/Makefile $(TREE_DIR)/data \
  279. $(TREE_DIR)/bin/$(BUILD_SELECT)/OpenRaider \
  280. $(TREE_DIR)/README $(TREE_DIR)/ChangeLog \
  281. $(TREE_DIR)/BUGS $(TREE_DIR)/TODO
  282. tarball:
  283. @-echo "Making tarball "
  284. @-cd .. && tar zcvf $(NAME_DEB)-$(VERSION_DEB).tar.gz \
  285. $(TREE_DIR) --exclude old --exclude models \
  286. --exclude semantic.cache --exclude TAGS \
  287. --exclude bin --exclude CVS --exclude *~
  288. @-echo "[DONE]"
  289. PSKModel.zip:
  290. @-echo "Making PSKModel pak "
  291. @-zip ../pskmodel-$(BUILD_ID)-src.zip \
  292. Makefile deps.sh README.PSKModel \
  293. src/PSKModel.h src/PSKModel.cpp \
  294. src/UTPackage.h src/UTPackage.cpp \
  295. src/Texture.h src/Texture.cpp \
  296. src/mtk_tga.cpp src/mtk_tga.h
  297. @-echo "[DONE]"
  298. @-echo "Making test data pak "
  299. @-zip -r ../pskmodel-$(BUILD_ID)-data.zip \
  300. data/models/test/
  301. @-echo "[DONE]"
  302. backup:
  303. $(MAKE) tarball
  304. @-cd .. && cp $(NAME)-$(VERSION)-$(BUILD_ID).tar.gz ~/Backup
  305. #################################################################
  306. # Unit Test builds
  307. #################################################################
  308. TEST_FLAGS=-Wall -g -O0 -DDEBUG -lstdc++
  309. TEST_MAP_TR5=~/projects/Data/models/tombraider/tr5/demo.trc
  310. TEST_MAP_TR4=~/projects/Data/models/tombraider/tr4/angkor1.tr4
  311. TEST_MAP_TR3=~/projects/Data/models/tombraider/tr3/scotland.tr2
  312. TEST_MAP_TR2=~/projects/Data/models/tombraider/tr2/unwater.tr2
  313. TEST_MAP_TR1=~/projects/Data/models/tombraider/tr1/level1.phd
  314. TombRaider.reg_test:
  315. $(MAKE) TombRaider.test
  316. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR1) > /tmp/log.tr1
  317. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR2) > /tmp/log.tr2
  318. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR3) > /tmp/log.tr3
  319. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR4) > /tmp/log.tr4
  320. $(BUILD_TEST_DIR)/TombRaider.test load $(TEST_MAP_TR5) > /tmp/log.tr5
  321. TombRaider.test:
  322. @-mkdir -p $(BUILD_TEST_DIR)
  323. $(MAKE) targets NAME=TombRaider.test BUILDDIR=$(BUILD_TEST_DIR) \
  324. OBJS="$(BUILD_TEST_DIR)/TombRaider.o $(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/memeory_test.o" \
  325. CFLAGS="$(BASE_CFLAGS) -g -D__TOMBRAIDER_TEST__ -D__TEST_TR5_DUMP_TGA -D__TEST_32BIT_TEXTILES -DDEBUG_MEMEORY" \
  326. LD_FLAGS="-lz"
  327. #################################################################
  328. MD3ANIMMODEL_CFLAGS=-DUSING_OPENGL -DUNIT_TEST_MD3ANIMMODEL_SDL \
  329. -DUSING_MTK_TGA -DUSING_HEL $(shell sdl-config --cflags) \
  330. -DHAVE_SDL_TTF
  331. MD3ANIMMODEL_LDFLAGS=-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs) \
  332. -lSDL_ttf
  333. MD3ANIMMODEL_OBJS=$(BUILD_TEST_DIR)/mtk_tga.o \
  334. $(BUILD_TEST_DIR)/Texture.o $(BUILD_TEST_DIR)/endian.o \
  335. $(BUILD_TEST_DIR)/Quaternion.o \
  336. $(BUILD_TEST_DIR)/Md3.o $(BUILD_TEST_DIR)/Md3AnimModel.o
  337. Md3AnimModel.test:
  338. mkdir -p $(BUILD_TEST_DIR)
  339. $(MAKE) targets \
  340. NAME=Md3AnimModel.test \
  341. BUILDDIR=$(BUILD_TEST_DIR) \
  342. OBJS="$(MD3ANIMMODEL_OBJS)" \
  343. CFLAGS=" -Wall -O0 -g -Isrc $(MD3ANIMMODEL_CFLAGS)" \
  344. LD_FLAGS="$(MD3ANIMMODEL_LDFLAGS)"
  345. #################################################################
  346. GLString.test:
  347. mkdir -p $(BUILD_TEST_DIR)
  348. $(CC) -Wall -Isrc -D__TEST__ -DHAVE_MTK -DHAVE_SDL -DUSING_MTK_TGA \
  349. $(shell sdl-config --cflags) $(shell sdl-config --libs) \
  350. -lGL -lGLU -lm \
  351. src/Texture.cpp src/mtk_tga.cpp \
  352. src/GLString.cpp -o $(BUILD_TEST_DIR)/GLString.test
  353. #################################################################
  354. SIMULATION_CFLAGS=-Wall -O0 -g -Isrc $(shell sdl-config --cflags) \
  355. -DUSING_OPENGL -DUSING_HEL -DUSING_MTK_TGA \
  356. -DUNIT_TEST_SIMULATION
  357. SIMULATION_OBJS=$(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o \
  358. $(BUILD_TEST_DIR)/Mass.o \
  359. $(BUILD_TEST_DIR)/CollisionObject.o \
  360. $(BUILD_TEST_DIR)/Simulation.o \
  361. $(BUILD_TEST_DIR)/Vector3d.o \
  362. $(BUILD_TEST_DIR)/Matrix.o \
  363. $(BUILD_TEST_DIR)/ViewVolume.o \
  364. $(BUILD_TEST_DIR)/BoundingVolume.o \
  365. $(BUILD_TEST_DIR)/Quaternion.o \
  366. $(BUILD_TEST_DIR)/math.o
  367. Simulation.test:
  368. mkdir -p $(BUILD_TEST_DIR)
  369. $(MAKE) targets NAME=Simulation.test BUILDDIR=$(BUILD_TEST_DIR) \
  370. OBJS="$(SIMULATION_OBJS)" \
  371. CFLAGS="$(SIMULATION_CFLAGS)" \
  372. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs)"
  373. #################################################################
  374. HEL_PARTICLE_CFLAGS=-Wall -O0 -g -Isrc $(shell sdl-config --cflags) \
  375. -DUSING_OPENGL -DUSING_HEL -DUSING_MTK_TGA \
  376. -DUNIT_TEST_SPRING -DHAVE_SDL_TTF -lSDL_ttf
  377. HEL_PARTICLE_OBJS=$(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o \
  378. $(BUILD_TEST_DIR)/Mass.o \
  379. $(BUILD_TEST_DIR)/Spring.o \
  380. $(BUILD_TEST_DIR)/CollisionObject.o \
  381. $(BUILD_TEST_DIR)/Simulation.o \
  382. $(BUILD_TEST_DIR)/Vector3d.o \
  383. $(BUILD_TEST_DIR)/Matrix.o \
  384. $(BUILD_TEST_DIR)/ViewVolume.o \
  385. $(BUILD_TEST_DIR)/BoundingVolume.o \
  386. $(BUILD_TEST_DIR)/Quaternion.o \
  387. $(BUILD_TEST_DIR)/math.o
  388. Spring.test:
  389. mkdir -p $(BUILD_TEST_DIR)
  390. $(MAKE) targets NAME=Spring.test BUILDDIR=$(BUILD_TEST_DIR) \
  391. OBJS="$(HEL_PARTICLE_OBJS)" \
  392. CFLAGS="$(HEL_PARTICLE_CFLAGS)" \
  393. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs)"
  394. #################################################################
  395. Hel.test: Quaternion.test Matrix.test Math.test
  396. Matrix.test:
  397. @-echo "Building Matrix unit test"
  398. mkdir -p $(BUILD_TEST_DIR)
  399. $(CC) -Wall -g -DMATRIX_UNIT_TEST -lm -lstdc++ -Isrc \
  400. src/hel/Matrix.cpp src/hel/Quaternion.cpp src/hel/Vector3d.cpp \
  401. -o $(BUILD_TEST_DIR)/Matrix.test
  402. @-echo "================================================="
  403. @-echo "Running Matrix unit test"
  404. $(BUILD_TEST_DIR)/Matrix.test
  405. Quaternion.test:
  406. @-echo "Building Quaternion unit test"
  407. mkdir -p $(BUILD_TEST_DIR)
  408. $(CC) -Wall -g -DQUATERNION_UNIT_TEST -lm -lstdc++ -Isrc \
  409. src/hel/Quaternion.cpp -o $(BUILD_TEST_DIR)/Quaternion.test
  410. @-echo "================================================="
  411. @-echo "Running Quaternion unit test"
  412. $(BUILD_TEST_DIR)/Quaternion.test
  413. Math.test:
  414. @-echo "Building Math unit test"
  415. mkdir -p $(BUILD_TEST_DIR)
  416. $(CC) -Wall -g -DMATH_UNIT_TEST -lm -lstdc++ -Isrc \
  417. src/hel/math.cpp -o $(BUILD_TEST_DIR)/Math.test
  418. @-echo "================================================="
  419. @-echo "Running hel unit test"
  420. $(BUILD_TEST_DIR)/Math.test
  421. #################################################################
  422. Memeory.test:
  423. mkdir -p $(BUILD_TEST_DIR)
  424. $(CC) -Wall -g -D__TEST__ -lstdc++ \
  425. -DDEBUG_MEMEORY -DDEBUG_MEMEORY_ERROR \
  426. src/memeory_test.cpp -o $(BUILD_TEST_DIR)/memeory_test.test
  427. #################################################################
  428. Network.test:
  429. mkdir -p $(BUILD_TEST_DIR)
  430. $(CC) $(TEST_FLAGS) -DUNIT_TEST_NETWORK \
  431. src/Network.cpp -o $(BUILD_TEST_DIR)/Network.test
  432. #################################################################
  433. Sound.test:
  434. mkdir -p $(BUILD_TEST_DIR)
  435. $(CC) $(TEST_FLAGS) -DUNIT_TEST_SOUND \
  436. -DUSING_OPENAL -lopenal \
  437. src/Sound.cpp -o $(BUILD_TEST_DIR)/Sound.test
  438. #################################################################
  439. PSKModel.test:
  440. mkdir -p $(BUILD_TEST_DIR)
  441. $(MAKE) targets NAME=PSKModel.test BUILDDIR=$(BUILD_TEST_DIR) \
  442. OBJS="$(BUILD_TEST_DIR)/PSKModel.o $(BUILD_TEST_DIR)/UTPackage.o $(BUILD_TEST_DIR)/mtk_tga.o $(BUILD_TEST_DIR)/Texture.o" \
  443. CFLAGS="-Wall -O0 -g -Isrc -DUNIT_TEST_PSKMODEL -DUSING_OPENGL $(shell sdl-config --cflags) -DUSING_MTK_TGA -DHAVE_SDL_TTF" \
  444. LD_FLAGS="-lm -lstdc++ -lGL -lGLU $(shell sdl-config --libs) -lSDL_ttf"
  445. #################################################################
  446. UTPackage.test:
  447. mkdir -p $(BUILD_TEST_DIR)
  448. $(MAKE) targets NAME=UTPackage.test BUILDDIR=$(BUILD_TEST_DIR) \
  449. OBJS="$(BUILD_TEST_DIR)/UTPackage.o $(BUILD_TEST_DIR)/mtk_tga.o" \
  450. CFLAGS="-Wall -O0 -g -Isrc -DUNIT_TEST_UTPACKAGE -DUSING_MTK_TGA" \
  451. LD_FLAGS="-lm -lstdc++"
  452. #################################################################