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