1 # Makefile for code module
2 # for that freespace 2 thing
13 LDFLAGS=$(shell sdl-config --libs) -lopenal
14 CFLAGS=-Wall -g -DPLAT_UNIX $(shell sdl-config --cflags) -Iinclude/ # -fwritable-strings
17 #CFLAGS+=-funroll-loops # -fomit-frame-pointer # not stable?
18 #CFLAGS+=-march=pentiumpro -mcpu=pentiumpro # not stable?
19 CFLAGS+=-Wno-missing-braces -Wno-multichar -fsigned-char
21 ifeq ($(strip $(MACOSX)),true)
22 CFLAGS+=-D__MACOSX__=1 -I/System/Library/Frameworks/AGL.framework/Headers
27 ifeq ($(strip $(DEMO)), true)
31 ifeq ($(strip $(MVE)),true)
35 $(CC) -c -o $@ $< $(CFLAGS)
37 CODE_SOURCES =./src/anim/animplay.cpp \
38 ./src/anim/packunpack.cpp \
39 ./src/asteroid/asteroid.cpp \
40 ./src/bmpman/bmpman.cpp \
41 ./src/cfile/cfile.cpp \
42 ./src/cfile/cfilearchive.cpp \
43 ./src/cfile/cfilelist.cpp \
44 ./src/cfile/cfilesystem.cpp \
45 ./src/cmdline/cmdline.cpp \
46 ./src/cmeasure/cmeasure.cpp \
47 ./src/controlconfig/controlsconfig.cpp \
48 ./src/controlconfig/controlsconfigcommon.cpp \
49 ./src/cutscene/cutscenes.cpp \
50 ./src/debris/debris.cpp \
51 ./src/debugconsole/console.cpp \
52 ./src/fireball/fireballs.cpp \
53 ./src/fireball/warpineffect.cpp \
54 ./src/gamehelp/contexthelp.cpp \
55 ./src/gamehelp/gameplayhelp.cpp \
56 ./src/gamesequence/gamesequence.cpp \
57 ./src/gamesnd/eventmusic.cpp \
58 ./src/gamesnd/gamesnd.cpp \
59 ./src/globalincs/alphacolors.cpp \
60 ./src/globalincs/crypt.cpp \
61 ./src/globalincs/systemvars.cpp \
62 ./src/globalincs/version.cpp \
63 ./src/graphics/2d.cpp \
64 ./src/graphics/aaline.cpp \
65 ./src/graphics/bitblt.cpp \
66 ./src/graphics/circle.cpp \
67 ./src/graphics/colors.cpp \
68 ./src/graphics/font.cpp \
69 ./src/graphics/gradient.cpp \
70 ./src/graphics/gropengl.cpp \
71 ./src/graphics/grsoft.cpp \
72 ./src/graphics/grzbuffer.cpp \
73 ./src/graphics/line.cpp \
74 ./src/graphics/pixel.cpp \
75 ./src/graphics/rect.cpp \
76 ./src/graphics/scaler.cpp \
77 ./src/graphics/shade.cpp \
78 ./src/graphics/tmapper.cpp \
79 ./src/graphics/tmapscanline.cpp \
80 ./src/graphics/tmapscantiled128x128.cpp \
81 ./src/graphics/tmapscantiled16x16.cpp \
82 ./src/graphics/tmapscantiled256x256.cpp \
83 ./src/graphics/tmapscantiled32x32.cpp \
84 ./src/graphics/tmapscantiled64x64.cpp \
86 ./src/hud/hudartillery.cpp \
87 ./src/hud/hudbrackets.cpp \
88 ./src/hud/hudconfig.cpp \
89 ./src/hud/hudescort.cpp \
90 ./src/hud/hudets.cpp \
91 ./src/hud/hudlock.cpp \
92 ./src/hud/hudmessage.cpp \
93 ./src/hud/hudobserver.cpp \
94 ./src/hud/hudreticle.cpp \
95 ./src/hud/hudshield.cpp \
96 ./src/hud/hudsquadmsg.cpp \
97 ./src/hud/hudtarget.cpp \
98 ./src/hud/hudtargetbox.cpp \
99 ./src/hud/hudwingmanstatus.cpp \
101 ./src/io/keycontrol.cpp \
102 ./src/io/joy-unix.cpp \
105 ./src/jumpnode/jumpnode.cpp \
106 ./src/lighting/lighting.cpp \
108 ./src/math/floating.cpp \
110 ./src/math/spline.cpp \
111 ./src/math/staticrand.cpp \
112 ./src/math/vecmat.cpp \
113 ./src/menuui/barracks.cpp \
114 ./src/menuui/credits.cpp \
115 ./src/menuui/fishtank.cpp \
116 ./src/menuui/mainhallmenu.cpp \
117 ./src/menuui/mainhalltemp.cpp \
118 ./src/menuui/optionsmenu.cpp \
119 ./src/menuui/optionsmenumulti.cpp \
120 ./src/menuui/playermenu.cpp \
121 ./src/menuui/readyroom.cpp \
122 ./src/menuui/snazzyui.cpp \
123 ./src/menuui/techmenu.cpp \
124 ./src/menuui/trainingmenu.cpp \
125 ./src/mission/missionbriefcommon.cpp \
126 ./src/mission/missioncampaign.cpp \
127 ./src/mission/missiongoals.cpp \
128 ./src/mission/missiongrid.cpp \
129 ./src/mission/missionhotkey.cpp \
130 ./src/mission/missionload.cpp \
131 ./src/mission/missionlog.cpp \
132 ./src/mission/missionmessage.cpp \
133 ./src/mission/missionparse.cpp \
134 ./src/mission/missiontraining.cpp \
135 ./src/missionui/chatbox.cpp \
136 ./src/missionui/missionbrief.cpp \
137 ./src/missionui/missioncmdbrief.cpp \
138 ./src/missionui/missiondebrief.cpp \
139 ./src/missionui/missionloopbrief.cpp \
140 ./src/missionui/missionpause.cpp \
141 ./src/missionui/missionrecommend.cpp \
142 ./src/missionui/missionscreencommon.cpp \
143 ./src/missionui/missionshipchoice.cpp \
144 ./src/missionui/missionstats.cpp \
145 ./src/missionui/missionweaponchoice.cpp \
146 ./src/missionui/redalert.cpp \
147 ./src/model/modelcollide.cpp \
148 ./src/model/modelinterp.cpp \
149 ./src/model/modeloctant.cpp \
150 ./src/model/modelread.cpp \
151 ./src/object/collidedebrisship.cpp \
152 ./src/object/collidedebrisweapon.cpp \
153 ./src/object/collideshipship.cpp \
154 ./src/object/collideshipweapon.cpp \
155 ./src/object/collideweaponweapon.cpp \
156 ./src/object/objcollide.cpp \
157 ./src/object/object.cpp \
158 ./src/object/objectsnd.cpp \
159 ./src/object/objectsort.cpp \
160 ./src/observer/observer.cpp \
161 ./src/osapi/os_unix.cpp \
162 ./src/osapi/osregistry-unix.cpp \
163 ./src/palman/palman.cpp \
164 ./src/parse/encrypt.cpp \
165 ./src/parse/parselo.cpp \
166 ./src/parse/sexp.cpp \
167 ./src/sound/rtvoice.cpp \
168 ./src/sound/sound.cpp \
169 ./src/sound/audiostr.cpp \
171 ./src/vcodec/codec1.cpp \
172 ./src/particle/particle.cpp \
173 ./src/pcxutils/pcxutils.cpp \
174 ./src/physics/physics.cpp \
175 ./src/playerman/managepilot.cpp \
176 ./src/playerman/playercontrol.cpp \
177 ./src/popup/popup.cpp \
178 ./src/popup/popupdead.cpp \
179 ./src/radar/radar.cpp \
180 ./src/render/3dclipper.cpp \
181 ./src/render/3ddraw.cpp \
182 ./src/render/3dlaser.cpp \
183 ./src/render/3dmath.cpp \
184 ./src/render/3dsetup.cpp \
185 ./src/ship/afterburner.cpp \
187 ./src/ship/aibig.cpp \
188 ./src/ship/aicode.cpp \
189 ./src/ship/aigoals.cpp \
190 ./src/ship/awacs.cpp \
191 ./src/ship/shield.cpp \
192 ./src/ship/ship.cpp \
193 ./src/ship/shipcontrails.cpp \
194 ./src/ship/shipfx.cpp \
195 ./src/ship/shiphit.cpp \
196 ./src/starfield/nebula.cpp \
197 ./src/starfield/starfield.cpp \
198 ./src/starfield/supernova.cpp \
199 ./src/stats/medals.cpp \
200 ./src/stats/scoring.cpp \
201 ./src/stats/stats.cpp \
202 ./src/ui/button.cpp \
203 ./src/ui/checkbox.cpp \
204 ./src/ui/gadget.cpp \
206 ./src/ui/inputbox.cpp \
207 ./src/ui/keytrap.cpp \
208 ./src/ui/listbox.cpp \
210 ./src/ui/scroll.cpp \
211 ./src/ui/slider.cpp \
212 ./src/ui/slider2.cpp \
213 ./src/ui/uidraw.cpp \
214 ./src/ui/uimouse.cpp \
215 ./src/ui/window.cpp \
216 ./src/weapon/beam.cpp \
217 ./src/weapon/corkscrew.cpp \
218 ./src/weapon/emp.cpp \
219 ./src/weapon/flak.cpp \
220 ./src/weapon/muzzleflash.cpp \
221 ./src/weapon/shockwave.cpp \
222 ./src/weapon/swarm.cpp \
223 ./src/weapon/trails.cpp \
224 ./src/weapon/weapons.cpp \
225 ./src/nebula/neb.cpp \
226 ./src/nebula/neblightning.cpp \
227 ./src/localization/fhash.cpp \
228 ./src/localization/localize.cpp \
229 ./src/tgautils/tgautils.cpp \
230 ./src/demo/demo.cpp \
231 ./src/inetfile/cftp.cpp \
232 ./src/inetfile/chttpget.cpp \
233 ./src/inetfile/inetgetfile.cpp \
234 ./src/exceptionhandler/exceptionhandler.cpp \
235 ./src/network/multi.cpp \
236 ./src/network/multi_campaign.cpp \
237 ./src/network/multi_data.cpp \
238 ./src/network/multi_dogfight.cpp \
239 ./src/network/multi_endgame.cpp \
240 ./src/network/multi_ingame.cpp \
241 ./src/network/multi_kick.cpp \
242 ./src/network/multi_log.cpp \
243 ./src/network/multi_obj.cpp \
244 ./src/network/multi_observer.cpp \
245 ./src/network/multi_oo.cpp \
246 ./src/network/multi_options.cpp \
247 ./src/network/multi_pause.cpp \
248 ./src/network/multi_pinfo.cpp \
249 ./src/network/multi_ping.cpp \
250 ./src/network/multi_pmsg.cpp \
251 ./src/network/multi_rate.cpp \
252 ./src/network/multi_respawn.cpp \
253 ./src/network/multi_team.cpp \
254 ./src/network/multi_update.cpp \
255 ./src/network/multi_voice.cpp \
256 ./src/network/multi_xfer.cpp \
257 ./src/network/multilag.cpp \
258 ./src/network/multimsgs.cpp \
259 ./src/network/multiteamselect.cpp \
260 ./src/network/multiui.cpp \
261 ./src/network/multiutil.cpp \
262 ./src/network/psnet.cpp \
263 ./src/network/psnet2.cpp \
264 ./src/network/stand_gui-unix.cpp \
265 ./src/movie/movie.cpp \
266 ./src/platform/unix.cpp
268 ifeq ($(strip $(MVE)),true)
270 ./src/movie/mveplayer.cpp \
271 ./src/movie/mvelib.cpp \
272 ./src/movie/decoder16.cpp \
273 ./src/movie/mve_audio.cpp
276 FS_SOURCES=./src/freespace2/freespace.cpp \
277 ./src/freespace2/levelpaging.cpp \
278 src/freespace2/unixmain.cpp
281 CODE_OBJECTS=$(CODE_SOURCES:.cpp=.o)
282 FS_OBJECTS=$(FS_SOURCES:.cpp=.o)
287 $(CODE_BINARY): $(CODE_OBJECTS)
288 rm -rf $(CODE_BINARY)
289 $(AR) rc $(CODE_BINARY) $(CODE_OBJECTS)
290 ifeq ($(strip $(MACOSX)),true)
291 $(RANLIB) $(CODE_BINARY)
294 $(FS_BINARY): $(CODE_BINARY) $(FS_OBJECTS)
295 $(CC) -o $(FS_BINARY) $(LDFLAGS) $(FS_OBJECTS) $(CODE_BINARY)
298 rm -rf $(FS_BINARY) $(FS_OBJECTS) $(CODE_BINARY) $(CODE_OBJECTS)