Mercurial > hg > dmlib
comparison Makefile.common @ 2594:669b71e8b868
Rename Makefile.gen to Makefile.common
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 03 Aug 2023 09:07:10 +0300 |
parents | Makefile.gen@ba0f55e2f877 |
children | f1b6d809e303 |
comparison
equal
deleted
inserted
replaced
2593:81f45b2fa118 | 2594:669b71e8b868 |
---|---|
1 ### | |
2 ### Get settings from config.mak or other include | |
3 ### | |
4 ifneq ($(DM_CONFIG),) | |
5 ifneq ($(DM_CONFIG),no) | |
6 include $(DM_CONFIG) | |
7 else | |
8 DM_CONFIG= | |
9 endif | |
10 else | |
11 include config.mak | |
12 DM_CONFIG=config.mak | |
13 endif | |
14 | |
15 | |
16 ### | |
17 ### Compiler flags | |
18 ### | |
19 ifeq ($(EXTRA_CFLAGS),) | |
20 EXTRA_CFLAGS =-O3 | |
21 # -march=corei7 | |
22 endif | |
23 | |
24 CFLAGS += -g -W -Wall -D_FILE_OFFSET_BITS=64 -D_POSIX_C_SOURCE=200808L $(EXTRA_CFLAGS) | |
25 CXXFLAGS = $(CFLAGS) | |
26 CFLAGS += -std=c11 | |
27 #CFLAGS += -pedantic | |
28 | |
29 DM_CFLAGS += -I$(DMLIB_SRC) $(SDL_CFLAGS) | |
30 DM_LDFLAGS += $(LDFLAGS) | |
31 | |
32 | |
33 ### | |
34 ### Tools, paths and directories | |
35 ### | |
36 MKDIR ?= mkdir | |
37 MKDIR_P ?= $(MKDIR) -p | |
38 BINPATH ?= ./ | |
39 DMLIB ?= ./ | |
40 TOOL_SRC = $(DMLIB)tools/ | |
41 TESTS_SRC = $(DMLIB)tests/ | |
42 | |
43 TOOL_BINPATH ?= $(TOOL_SRC) | |
44 TESTS_BINPATH ?= $(TESTS_SRC) | |
45 | |
46 DMLIB_SRC = $(DMLIB)src/ | |
47 | |
48 | |
49 ### | |
50 ### Extra debug messages etc? | |
51 ### | |
52 ifeq ($(DM_DEBUG),yes) | |
53 DM_CFLAGS += -DDM_DEBUG | |
54 | |
55 # Disable JSS_LIGHT | |
56 JSS_LIGHT=no | |
57 endif | |
58 | |
59 | |
60 ### | |
61 ### Build demo target? | |
62 ### | |
63 ifneq ($(DEMO_BIN),) | |
64 BINARIES += $(DEMO_BIN) | |
65 endif | |
66 | |
67 ifeq ($(DM_BUILT_IN_SETUP),yes) | |
68 DM_CFLAGS += -DDM_BUILT_IN_SETUP | |
69 endif | |
70 | |
71 | |
72 ### | |
73 ### Editor | |
74 ### | |
75 ifeq ($(DM_USE_TIMELINE),yes) | |
76 DM_CFLAGS+=-DDM_USE_TIMELINE | |
77 DMLIB_OBJS += dmtimeline.o dmtimelinew.o | |
78 | |
79 ifeq ($(DM_BUILD_EDITOR),yes) | |
80 ifneq ($(DEMO_BIN),) | |
81 BINARIES += ed_$(DEMO_BIN) | |
82 TARGETS += $(EDITOR_MAKEFILE) $(EDITOR_PRO) | |
83 TMPFILES += $(OBJPATH)moc_* | |
84 endif | |
85 endif | |
86 endif | |
87 | |
88 EDITOR_PRO = editor.pro | |
89 EDITOR_MAKEFILE = Makefile.editor | |
90 EDITOR_SOURCES = editor/edmain.cpp editor/edgui.cpp editor/edview.cpp \ | |
91 editor/edtlobj.cpp editor/edtimeline.cpp editor/edwaveform.cpp \ | |
92 editor/edres.cpp | |
93 EDITOR_HEADERS = editor/edmain.h editor/edtlobj.h editor/edview.h \ | |
94 editor/edtimeline.h editor/edwaveform.h editor/edres.h | |
95 | |
96 | |
97 ### | |
98 ### Form additional compilation defines based on settings | |
99 ### | |
100 | |
101 # Enable SIMD routines, if requested | |
102 ifeq ($(DM_USE_SIMD),yes) | |
103 DM_CFLAGS+=-DDM_USE_SIMD -msse2 | |
104 endif | |
105 | |
106 # Enable Tremor Ogg Vorbis decoder | |
107 ifeq ($(DM_USE_TREMOR),yes) | |
108 DM_CFLAGS+=-DDM_USE_TREMOR $(TREMOR_CFLAGS) | |
109 DEMO_LDFLAGS+=$(TREMOR_LDFLAGS) | |
110 endif | |
111 | |
112 | |
113 ### | |
114 ### Filesystem | |
115 ### | |
116 ifeq ($(DM_USE_PACKFS),yes) | |
117 BUILD_RES=yes | |
118 DM_CFLAGS += -DDM_USE_PACKFS | |
119 DMLIB_OBJS += dmpack.o | |
120 ifeq ($(DM_BUILD_TOOLS),yes) | |
121 TOOL_BINARIES += packed | |
122 endif | |
123 endif | |
124 | |
125 ifeq ($(DM_USE_STDIO),yes) | |
126 BUILD_RES=yes | |
127 DM_CFLAGS += -DDM_USE_STDIO | |
128 endif | |
129 | |
130 ifeq ($(DM_USE_MEMIO),yes) | |
131 BUILD_RES=yes | |
132 DM_CFLAGS += -DDM_USE_MEMIO | |
133 endif | |
134 | |
135 ifeq ($(BUILD_RES),yes) | |
136 DMLIB_OBJS += dmres.o dmresw.o | |
137 endif | |
138 | |
139 ### | |
140 ### Graphics support | |
141 ### | |
142 | |
143 ifeq ($(DM_GFX_LINES),yes) | |
144 DM_CFLAGS += -DDM_GFX_LINES | |
145 DMLIB_OBJS += dmline.o | |
146 endif | |
147 | |
148 ifeq ($(DM_GFX_BLITS),yes) | |
149 DM_CFLAGS += -DDM_GFX_BLITS | |
150 DMLIB_OBJS += dmblit.o | |
151 | |
152 ifeq ($(DM_GFX_BM_TEXT),yes) | |
153 DM_CFLAGS += -DDM_GFX_BM_TEXT | |
154 DMLIB_OBJS += dmtext_bm.o | |
155 ifeq ($(DM_BUILD_TOOLS),yes) | |
156 ifeq ($(DM_USE_STDIO),yes) | |
157 TOOL_BINARIES += fontconv | |
158 endif | |
159 endif | |
160 endif | |
161 endif | |
162 | |
163 ifeq ($(DM_GFX_TTF_TEXT),yes) | |
164 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
165 DMLIB_OBJS += dmtext_ttf.o | |
166 | |
167 ifeq ($(DM_BUILD_TESTS),yes) | |
168 ifeq ($(DM_GFX_BLITS),yes) | |
169 ifeq ($(DM_USE_STDIO),yes) | |
170 #TESTS_BINARIES += blittest | |
171 endif | |
172 endif | |
173 endif | |
174 else | |
175 SDL_TTF_LDFLAGS= | |
176 SDL_TTF_CFLAGS= | |
177 endif | |
178 | |
179 | |
180 ### | |
181 ### miniJSS | |
182 ### | |
183 MINIJSS=$(DMLIB)/minijss/ | |
184 | |
185 | |
186 ifeq ($(JSS),yes) | |
187 DM_CFLAGS+=-DDM_USE_JSS -I$(MINIJSS) | |
188 | |
189 ifeq ($(JSS_LIGHT),yes) | |
190 DM_CFLAGS+=-DJSS_LIGHT -Os | |
191 else | |
192 ifeq ($(JSS_USE_ASSERTS),yes) | |
193 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
194 endif | |
195 ifeq ($(JSS_DEBUG),yes) | |
196 DM_CFLAGS+=-DJSS_DEBUG | |
197 endif | |
198 endif | |
199 | |
200 ifeq ($(JSS_MIX_FP),yes) | |
201 DM_CFLAGS+=-DJSS_MIX_FP | |
202 endif | |
203 | |
204 ifeq ($(JSS_SUP_THREADS),yes) | |
205 DM_CFLAGS+=-DJSS_SUP_THREADS | |
206 endif | |
207 | |
208 | |
209 SUP_MODLOAD=no | |
210 ifeq ($(JSS_SUP_XM),yes) | |
211 SUP_MODLOAD=yes | |
212 DMLIB_OBJS+= jloadxm.o | |
213 DM_CFLAGS+=-DJSS_SUP_XM | |
214 endif | |
215 | |
216 ifeq ($(JSS_SUP_JSSMOD),yes) | |
217 SUP_MODLOAD=yes | |
218 DMLIB_OBJS+= jloadjss.o | |
219 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
220 endif | |
221 | |
222 ifeq ($(DM_USE_C),yes) | |
223 DM_CFLAGS+=-DDM_USE_C | |
224 TARGETS += $(MINIJSS)jmix_c.c | |
225 DMLIB_OBJS+=jmix_c.o | |
226 endif | |
227 | |
228 #ifeq ($(DM_USE_SIMD),yes) | |
229 #DMLIB_OBJS+=jmix_simd.o | |
230 #endif | |
231 | |
232 ifeq ($(DM_BUILD_TOOLS),yes) | |
233 ifeq ($(DM_USE_STDIO),yes) | |
234 ifeq ($(JSS_SUP_JSSMOD),yes) | |
235 ifeq ($(JSS_SUP_XM),yes) | |
236 TOOL_BINARIES+= xm2jss | |
237 endif | |
238 endif | |
239 endif | |
240 endif | |
241 DMLIB_OBJS += jss.o jssmix.o jssmod.o jssplr.o | |
242 endif | |
243 | |
244 | |
245 ### Dependancies | |
246 ifeq ($(DM_BUILD_TOOLS),yes) | |
247 ifeq ($(DM_USE_STDIO),yes) | |
248 TOOL_BINARIES+= objlink data2inc gfxconv fanalyze | |
249 ifeq ($(SUP_MODLOAD),yes) | |
250 TOOL_BINARIES+= dumpmod mod2wav | |
251 TESTS_BINARIES+= plrtest | |
252 ifeq ($(DM_GFX_BLITS),yes) | |
253 TOOL_BINARIES+= 64vw | |
254 ifeq ($(DM_GFX_BM_TEXT),yes) | |
255 TOOL_BINARIES+= ppl | |
256 endif | |
257 endif | |
258 endif | |
259 | |
260 endif | |
261 endif | |
262 | |
263 | |
264 ### libPNG handling | |
265 ifeq ($(DM_USE_LIBPNG),yes) | |
266 DM_CFLAGS += -DDM_USE_LIBPNG $(LIBPNG_CFLAGS) | |
267 endif | |
268 | |
269 | |
270 ### Check requirements for zlib | |
271 ifeq ($(DM_USE_ZLIB),yes) | |
272 DM_CFLAGS += -DDM_USE_ZLIB $(ZLIB_CFLAGS) | |
273 DEMO_LDFLAGS += $(ZLIB_LDFLAGS) | |
274 else | |
275 DEMO_LDFLAGS += | |
276 endif | |
277 | |
278 | |
279 ### What tests to build? | |
280 ifeq ($(DM_BUILD_TESTS),yes) | |
281 TESTS_BINARIES += vecmattest fptest dzlibtest encbr1test | |
282 endif | |
283 | |
284 FONTCONV_BIN=$(TOOL_BINPATH)fontconv$(BINEXT) | |
285 DATA2INC_BIN=$(TOOL_BINPATH)data2inc$(BINEXT) | |
286 | |
287 ifeq ($(BINEXT),.exe) | |
288 # Cross-building Windows binaries requires locally installed utilities | |
289 FONTCONV_DEP= | |
290 DATA2INC_DEP= | |
291 else | |
292 ifeq ($(DM_BUILD_TOOLS),yes) | |
293 FONTCONV_DEP=$(FONTCONV_BIN) | |
294 DATA2INC_DEP=$(DATA2INC_BIN) | |
295 endif | |
296 endif | |
297 | |
298 | |
299 ### | |
300 ### Main targets and objects | |
301 ### | |
302 DMLIB_A = $(OBJPATH)dmlib.a | |
303 DMLIB_OBJS += \ | |
304 dmfile.o dmlib.o dmcurves.o dmstring.o \ | |
305 dmgrowbuf.o dmargs.o dmvecmat.o dmperlin.o \ | |
306 dmimage.o dmengine.o dmzlib.o \ | |
307 dmlicense.o | |
308 | |
309 | |
310 TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(BINEXT),$(TESTS_BINARIES))) | |
311 TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(BINEXT),$(TOOL_BINARIES))) | |
312 | |
313 TARGETS += \ | |
314 $(DMLIB_A) \ | |
315 $(addprefix $(BINPATH),$(addsuffix $(BINEXT),$(BINARIES))) \ | |
316 $(TOOL_TARGETS) $(TESTS_TARGETS) | |
317 | |
318 NOBUILD_TARGETS += | |
319 NOINST_TARGETS += | |
320 | |
321 | |
322 ### | |
323 ### Functions and compilation/link commands | |
324 ### | |
325 ifneq ($(V),1) | |
326 DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) | |
327 else | |
328 DO_CMD=/bin/echo -E $(3) && $(3) | |
329 endif | |
330 DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi | |
331 | |
332 | |
333 COMPILE_C_OBJ = \ | |
334 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
335 $(call DO_CMD,CC,$<,$(CC) $(CFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) | |
336 | |
337 LINK_C_BIN = \ | |
338 @$(call DO_MKDIR,$(BINPATH)) ; \ | |
339 $(call DO_CMD,LINK,$@,$(CC) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) | |
340 | |
341 COMPILE_CXX_OBJ = \ | |
342 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
343 $(call DO_CMD,CXX,$<,$(CXX) $(CXXFLAGS) $(DM_CFLAGS) -c -o $@ $< $(1)) | |
344 | |
345 LINK_CXX_BIN = \ | |
346 @$(call DO_MKDIR,$(BINPATH)) ; \ | |
347 $(call DO_CMD,LINK,$@,$(CXX) -o $@ $(filter %.o %.a,$+) $(LDFLAGS) $(1)) | |
348 | |
349 LINK_STATIC_LIB = \ | |
350 @$(call DO_MKDIR,$(OBJPATH)) ; \ | |
351 $(call DO_CMD,AR,$@ $(filter %.o,$+),$(AR) cru $@ $(filter %.o,$+)) ; \ | |
352 $(call DO_CMD,RANLIB,$@,$(RANLIB) $@) | |
353 | |
354 | |
355 ### | |
356 ### Generic target rules | |
357 ### | |
358 all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) | |
359 | |
360 | |
361 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h | |
362 $(call COMPILE_C_OBJ,) | |
363 | |
364 $(OBJPATH)%.o: $(DMLIB)tests/%.c | |
365 $(call COMPILE_C_OBJ,) | |
366 | |
367 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h | |
368 $(call COMPILE_C_OBJ,) | |
369 | |
370 $(OBJPATH)%.o: $(DMLIB)tools/%.c | |
371 $(call COMPILE_C_OBJ,) | |
372 | |
373 $(OBJPATH)%.o: %.c %.h | |
374 $(call COMPILE_C_OBJ,) | |
375 | |
376 $(OBJPATH)%.o: %.c | |
377 $(call COMPILE_C_OBJ,) | |
378 | |
379 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h | |
380 $(call COMPILE_C_OBJ,) | |
381 | |
382 $(OBJPATH)%.o: $(MINIJSS)%.c | |
383 $(call COMPILE_C_OBJ,) | |
384 | |
385 $(OBJPATH)%.o: $(DMLIB_SRC)%.c $(DMLIB_SRC)%.h | |
386 $(call COMPILE_C_OBJ,) | |
387 | |
388 $(OBJPATH)%.o: $(DMLIB_SRC)%.c | |
389 $(call COMPILE_C_OBJ,) | |
390 | |
391 | |
392 ### | |
393 ### dmlib-specific rules | |
394 ### | |
395 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h | |
396 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@ | |
397 | |
398 $(OBJPATH)dmimage.o: $(DMLIB_SRC)dmimage.c $(DMLIB_SRC)stb_image.c $(DMLIB_SRC)dmimage.h | |
399 $(call COMPILE_C_OBJ,) | |
400 | |
401 $(OBJPATH)dmresw.o: $(DMLIB_SRC)dmresw.c $(DMLIB_SRC)dmres.h | |
402 $(call COMPILE_C_OBJ,) | |
403 | |
404 | |
405 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(OBJPATH)jss.o | |
406 $(call COMPILE_C_OBJ,) | |
407 | |
408 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(OBJPATH)jssmod.o | |
409 $(call COMPILE_C_OBJ,) | |
410 | |
411 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(OBJPATH)jssmix.o | |
412 $(call COMPILE_C_OBJ,) | |
413 | |
414 | |
415 $(OBJPATH)dmblit.o: $(DMLIB_SRC)dmblit.c $(DMLIB_SRC)dmscaledblit.h $(DMLIB_SRC)dmunscaledblit.h $(DMLIB_SRC)dmblitfunc.h $(DMLIB_SRC)dmlib.h | |
416 $(call COMPILE_C_OBJ,) | |
417 | |
418 $(OBJPATH)dmline.o: $(DMLIB_SRC)dmline.c $(DMLIB_SRC)dmdrawline.h $(DMLIB_SRC)dmlinefunc.h $(DMLIB_SRC)dmlineclip.h $(DMLIB_SRC)dmlib.h | |
419 $(call COMPILE_C_OBJ,) | |
420 | |
421 $(OBJPATH)libgfx.o: $(DMLIB)tools/libgfx.c $(DMLIB)tools/libgfx.h $(DMLIB_A) | |
422 $(call COMPILE_C_OBJ,) | |
423 | |
424 $(OBJPATH)lib64gfx.o: $(DMLIB)tools/lib64gfx.c $(DMLIB)tools/lib64gfx.h $(OBJPATH)libgfx.o | |
425 $(call COMPILE_C_OBJ,) | |
426 | |
427 $(OBJPATH)lib64util.o: $(DMLIB)tools/lib64util.c $(DMLIB)tools/lib64util.h $(OBJPATH)lib64gfx.o | |
428 $(call COMPILE_C_OBJ,) | |
429 | |
430 $(OBJPATH)lib64fmts.o: $(DMLIB)tools/lib64fmts.c $(OBJPATH)lib64gfx.o | |
431 $(call COMPILE_C_OBJ,) | |
432 | |
433 $(OBJPATH)64vw.o: $(DMLIB)tools/64vw.c $(OBJPATH)lib64util.o | |
434 $(call COMPILE_C_OBJ,) | |
435 | |
436 $(OBJPATH)gfxconv.o: $(DMLIB)tools/gfxconv.c $(OBJPATH)lib64util.o | |
437 $(call COMPILE_C_OBJ,) | |
438 | |
439 $(OBJPATH)ppl.o: $(TOOL_SRC)ppl.c $(DMLIB_SRC)setupfont.h \ | |
440 $(OBJPATH)libgutil.o $(DMLIB_A) | |
441 $(call COMPILE_C_OBJ,) | |
442 | |
443 | |
444 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_DEP) | |
445 @$(call DO_CMD,FONT,$@ $<,$(FONTCONV_BIN) $< $@) | |
446 | |
447 $(DMLIB_SRC)setupfont.h: $(DMLIB)assets/SetupFont.dmf $(DATA2INC_DEP) | |
448 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupFont -t Uint8 $< $@ > /dev/null) | |
449 | |
450 $(DMLIB_SRC)setupimage.h: $(DMLIB)assets/SetupImage.png $(DATA2INC_DEP) | |
451 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupImage -t Uint8 $< $@ > /dev/null) | |
452 | |
453 $(DMLIB_SRC)setupmenubar.h: $(DMLIB)assets/SetupMenuBar.png $(DATA2INC_DEP) | |
454 @$(call DO_CMD,DATA,$@ $<,$(DATA2INC_BIN) -q -f c -n engineSetupMenuBar -t Uint8 $< $@ > /dev/null) | |
455 | |
456 | |
457 $(OBJPATH)dmsimple.o: $(addprefix $(DMLIB_SRC), dmsimple.c dmengine.h \ | |
458 setupmenubar.h setupfont.h setupimage.h dmsimple.c) | |
459 $(call COMPILE_C_OBJ,) | |
460 | |
461 | |
462 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.common $(DM_CONFIG) | |
463 $(call LINK_STATIC_LIB,) | |
464 | |
465 | |
466 ### | |
467 ### Tests | |
468 ### | |
469 define RULE_TESTS_BIN | |
470 $$(TESTS_BINPATH)$(1)$$(BINEXT): $$(OBJPATH)$(1).o $(2) $$(DMLIB_A) | |
471 $$(call LINK_C_BIN,$$(DM_LDFLAGS) $$(SDL_LDFLAGS) $(3)) | |
472 | |
473 endef | |
474 | |
475 $(eval $(call RULE_TESTS_BIN,blittest,,$$(SDL_TTF_LDFLAGS) -lm)) | |
476 $(eval $(call RULE_TESTS_BIN,dzlibtest,,$$(ZLIB_LDFLAGS))) | |
477 $(eval $(call RULE_TESTS_BIN,plrtest,,$$(ZLIB_LDFLAGS) -lm)) | |
478 $(eval $(call RULE_TESTS_BIN,%test,,$$(TOOL_LDFLAGS) -lm)) | |
479 | |
480 | |
481 ### | |
482 ### Tools | |
483 ### | |
484 define RULE_TOOL_BIN | |
485 $$(TOOL_BINPATH)$(1)$$(BINEXT): $$(OBJPATH)$(1).o $(2) $$(DMLIB_A) | |
486 $$(call LINK_C_BIN, $$(DM_LDFLAGS) $$(TOOL_LDFLAGS) $(3)) | |
487 | |
488 endef | |
489 | |
490 $(eval $(call RULE_TOOL_BIN,fontconv,,\ | |
491 $$(SDL_LDFLAGS) $$(SDL_TTF_LDFLAGS) $$(ZLIB_LDFLAGS) -lm)) | |
492 $(eval $(call RULE_TOOL_BIN,data2inc,,)) | |
493 $(eval $(call RULE_TOOL_BIN,packed,,$(ZLIB_LDFLAGS))) | |
494 $(eval $(call RULE_TOOL_BIN,mod2wav,,$(ZLIB_LDFLAGS) -lm)) | |
495 $(eval $(call RULE_TOOL_BIN,xm2jss,,$(ZLIB_LDFLAGS))) | |
496 $(eval $(call RULE_TOOL_BIN,dumpmod,,$(ZLIB_LDFLAGS))) | |
497 $(eval $(call RULE_TOOL_BIN,ppl,\ | |
498 $$(OBJPATH)libgutil.o,$$(ZLIB_LDFLAGS) $$(SDL_LDFLAGS) -lm)) | |
499 $(eval $(call RULE_TOOL_BIN,objlink,,)) | |
500 $(eval $(call RULE_TOOL_BIN,fanalyze,,)) | |
501 | |
502 $(eval $(call RULE_TOOL_BIN,gfxconv,\ | |
503 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \ | |
504 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\ | |
505 $$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS))) | |
506 | |
507 $(eval $(call RULE_TOOL_BIN,64vw,\ | |
508 $$(OBJPATH)lib64gfx.o $$(OBJPATH)lib64fmts.o \ | |
509 $$(OBJPATH)lib64util.o $$(OBJPATH)libgfx.o,\ | |
510 $$(LIBPNG_LDFLAGS) $$(ZLIB_LDFLAGS) $$(SDL_LDFLAGS))) | |
511 | |
512 | |
513 ### | |
514 ### Demo binary | |
515 ### | |
516 ifneq ($(DEMO_BIN),) | |
517 $(BINPATH)$(DEMO_BIN)$(BINEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) | |
518 $(call LINK_C_BIN, $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS) -lm) | |
519 endif | |
520 | |
521 | |
522 ### | |
523 ### Editor targets | |
524 ### | |
525 $(EDITOR_PRO): $(DMLIB)Makefile.common $(DM_CONFIG) $(addprefix $(DMLIB),$(EDITOR_SOURCES) $(EDITOR_HEADERS)) $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) | |
526 @echo " CREATE $@" | |
527 @echo "OBJECTS_DIR = $(OBJPATH)" > $@ | |
528 @echo "MOC_DIR = $(OBJPATH)" >> $@ | |
529 @echo "QMAKE_CXXFLAGS += $(DM_CFLAGS) $(SDL_CFLAGS)" >> $@ | |
530 @echo "QMAKE_LIBS += $(filter-out %dmsimple.o,$(filter %.o %.a,$+))" >> $@ | |
531 @echo "QMAKE_LIBS += $(DM_LDFLAGS) $(SDL_LDFLAGS) $(DEMO_LDFLAGS)" >> $@ | |
532 @echo "MAKEFILE = $(EDITOR_MAKEFILE)" >> $@ | |
533 @echo "CONFIG += debug" >> $@ | |
534 @echo "QT += core gui opengl" >> $@ | |
535 @echo "TARGET = $(BINPATH)ed_$(DEMO_BIN)$(BINEXT)" >> $@ | |
536 @echo "TEMPLATE = app" >> $@ | |
537 @echo "SOURCES = $(addprefix $(DMLIB),$(EDITOR_SOURCES))" >> $@ | |
538 @echo "HEADERS = $(addprefix $(DMLIB),$(EDITOR_HEADERS))" >> $@ | |
539 | |
540 | |
541 $(EDITOR_MAKEFILE): $(EDITOR_PRO) | |
542 @$(call DO_CMD,QMAKE,$+,qmake -Wall $<) | |
543 | |
544 $(BINPATH)ed_$(DEMO_BIN)$(BINEXT): $(EDITOR_MAKEFILE) | |
545 @$(MAKE) -f $< | |
546 | |
547 | |
548 ### | |
549 ### Special targets | |
550 ### | |
551 clean: | |
552 -$(RM) $(TARGETS) $(NOINST_TARGETS) $(CLEAN_TARGETS) $(OBJPATH)*.o | |
553 | |
554 distclean: clean | |
555 -$(RM) $(DISTCLEAN_TARGETS) *~ core *.core | |
556 | |
557 .PHONY: clean distclean all |