Mercurial > hg > dmlib
annotate Makefile.gen @ 714:0ad76fa080ca
Improve build system by adding support for separate binary paths for
tools and tests, that default to $(DMLIB)tools/ and $(DMLIB)tests/
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 17 Apr 2013 19:29:16 +0300 |
parents | 84811c6dd32d |
children | 24096d1ef794 |
rev | line source |
---|---|
0 | 1 ### |
2 ### Get settings from config.mak | |
3 ### | |
4 include config.mak | |
5 | |
587
296133d29611
Fix and improve build process.
Matti Hamalainen <ccr@tnsp.org>
parents:
584
diff
changeset
|
6 BINPATH ?= ./ |
296133d29611
Fix and improve build process.
Matti Hamalainen <ccr@tnsp.org>
parents:
584
diff
changeset
|
7 DMLIB ?= ./ |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
8 TOOL_BINPATH ?= $(DMLIB)tools/ |
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
9 TESTS_BINPATH ?= $(DMLIB)tests/ |
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
10 |
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
11 |
587
296133d29611
Fix and improve build process.
Matti Hamalainen <ccr@tnsp.org>
parents:
584
diff
changeset
|
12 DM_CFLAGS += -I$(DMLIB) |
0 | 13 ifeq ($(EXTRA_CFLAGS),) |
624
5df8ef3f88bb
Oops, add -O3 back to default CFLAGS again.
Matti Hamalainen <ccr@tnsp.org>
parents:
607
diff
changeset
|
14 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL |
0 | 15 endif |
16 | |
344 | 17 |
18 ### | |
19 ### Editor | |
20 ### | |
573
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
21 ifeq ($(DM_USE_TIMELINE),yes) |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
22 DM_CFLAGS+=-DDM_USE_TIMELINE |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
23 DMLIB_OBJS += dmtimeline.o dmtimelinew.o |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
24 |
344 | 25 ifeq ($(DM_BUILD_EDITOR),yes) |
26 ifneq ($(DEMO_BIN),) | |
27 BINARIES += ed_$(DEMO_BIN) | |
563
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
28 TARGETS += $(EDITOR_MAKEFILE) $(EDITOR_PRO) |
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
29 TMPFILES += $(OBJPATH)moc_* |
344 | 30 endif |
31 endif | |
573
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
32 endif |
344 | 33 |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
34 EDITOR_PRO = editor.pro |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
35 EDITOR_MAKEFILE = Makefile.editor |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
36 EDITOR_SOURCES = editor/edmain.cpp editor/edgui.cpp editor/edview.cpp \ |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
37 editor/edtlobj.cpp editor/edtimeline.cpp editor/edwaveform.cpp \ |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
38 editor/edres.cpp |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
39 EDITOR_HEADERS = editor/edmain.h editor/edtlobj.h editor/edview.h \ |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
40 editor/edtimeline.h editor/edwaveform.h editor/edres.h |
344 | 41 |
42 | |
0 | 43 ### |
44 ### Form additional compilation defines based on settings | |
45 ### | |
46 | |
47 # If C routines are not explicitly disabled, we enable them | |
48 ifeq ($(DM_USE_C),) | |
49 DM_USE_C=yes | |
50 endif | |
51 | |
52 ifeq ($(DM_USE_C),yes) | |
53 DM_CFLAGS+=-DDM_USE_C | |
54 endif | |
55 | |
56 # Enable SIMD routines, if requested | |
57 ifeq ($(DM_USE_SIMD),yes) | |
284
d47e8cafaa63
Add -msse2 if DM_USE_SIMD is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
242
diff
changeset
|
58 DM_CFLAGS+=-DDM_USE_SIMD -msse2 |
0 | 59 endif |
60 | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
61 # Enable Tremor Ogg Vorbis decoder |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
62 ifeq ($(DM_USE_TREMOR),yes) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
63 DM_CFLAGS+=-DDM_USE_TREMOR $(TREMOR_CFLAGS) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
64 DM_LDFLAGS+=$(TREMOR_LDFLAGS) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
65 endif |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
66 |
0 | 67 |
68 ### | |
69 ### Filesystem | |
70 ### | |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
71 ifeq ($(DM_USE_PACKFS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
72 BUILD_RES=yes |
424 | 73 DM_CFLAGS += -DDM_USE_PACKFS $(ZLIB_CFLAGS) |
74 DM_LDFLAGS += $(ZLIB_LDFLAGS) | |
0 | 75 DMLIB_OBJS += dmpack.o dmpackutil.o |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
76 ifeq ($(DM_BUILD_TOOLS),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
77 TOOL_BINARIES += packed |
0 | 78 endif |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
79 endif |
0 | 80 |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
81 ifeq ($(DM_USE_STDIO),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
82 BUILD_RES=yes |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
83 DM_CFLAGS += -DDM_USE_STDIO |
0 | 84 endif |
85 | |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
86 ifeq ($(DM_USE_MEMIO),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
87 BUILD_RES=yes |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
88 DM_CFLAGS += -DDM_USE_MEMIO |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
89 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
90 |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
91 ifeq ($(BUILD_RES),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
92 DMLIB_OBJS += dmres.o dmresw.o |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
93 endif |
0 | 94 |
95 ### | |
96 ### Graphics support | |
97 ### | |
98 | |
99 ifeq ($(DM_GFX_MISC),yes) | |
100 DM_CFLAGS += -DDM_GFX_MISC | |
101 DMLIB_OBJS += dmgfx.o | |
102 endif | |
103 | |
104 ifeq ($(DM_GFX_LINES),yes) | |
105 DM_CFLAGS += -DDM_GFX_LINES | |
106 DMLIB_OBJS += dmline.o | |
107 endif | |
108 | |
109 ifeq ($(DM_GFX_BLITS),yes) | |
110 DM_CFLAGS += -DDM_GFX_BLITS | |
111 DMLIB_OBJS += dmblit.o | |
112 endif | |
113 | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
114 ifeq ($(DM_GFX_BM_TEXT),yes) |
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
115 DM_CFLAGS += -DDM_GFX_BM_TEXT |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
116 DMLIB_OBJS += dmtext_bm.o |
160 | 117 ifeq ($(DM_BUILD_TOOLS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
118 ifeq ($(DM_USE_STDIO),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
119 TOOL_BINARIES += fontconv |
160 | 120 endif |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
121 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
122 endif |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
123 |
0 | 124 ifeq ($(DM_GFX_TTF_TEXT),yes) |
125 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
126 DMLIB_OBJS += dmtext_ttf.o |
0 | 127 |
690
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
128 ifeq ($(DM_BUILD_TOOLS),yes) |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
129 ifeq ($(DM_GFX_BLITS),yes) |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
130 TOOL_BINARIES += auval |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
131 endif |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
132 endif |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
133 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
134 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 135 ifeq ($(DM_GFX_BLITS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
136 ifeq ($(DM_USE_STDIO),yes) |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
137 TESTS_BINARIES += blittest vptest efu |
0 | 138 endif |
139 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
140 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
141 endif |
0 | 142 |
143 ifeq ($(DM_GFX_8BIT),yes) | |
144 DM_CFLAGS += -DDM_GFX_8BIT | |
145 endif | |
146 | |
147 ifeq ($(DM_GFX_15BIT),yes) | |
148 DM_CFLAGS += -DDM_GFX_15BIT | |
149 endif | |
150 | |
151 ifeq ($(DM_GFX_16BIT),yes) | |
152 DM_CFLAGS += -DDM_GFX_15BIT | |
153 endif | |
154 | |
155 ifeq ($(DM_GFX_32BIT),yes) | |
156 DM_CFLAGS += -DDM_GFX_15BIT | |
157 endif | |
158 | |
159 | |
160 ### | |
161 ### miniJSS | |
162 ### | |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
163 MINIJSS=$(DMLIB)/minijss/ |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
164 |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
165 |
0 | 166 ifeq ($(JSS),yes) |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
167 DM_CFLAGS+=-DDM_USE_JSS -I$(MINIJSS) |
0 | 168 |
169 ifeq ($(JSS_LIGHT),yes) | |
170 DM_CFLAGS+=-DJSS_LIGHT -Os | |
171 else | |
172 ifeq ($(JSS_USE_ASSERTS),yes) | |
173 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
174 endif | |
175 ifeq ($(JSS_DEBUG),yes) | |
176 DM_CFLAGS+=-DJSS_DEBUG | |
177 endif | |
178 endif | |
179 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
180 ifeq ($(JSS_MIX_FP),yes) |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
181 DM_CFLAGS+=-DJSS_MIX_FP |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
182 endif |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
183 |
0 | 184 ifeq ($(JSS_SUP_THREADS),yes) |
185 DM_CFLAGS+=-DJSS_SUP_THREADS | |
186 endif | |
187 | |
188 | |
189 SUP_MODLOAD=no | |
190 ifeq ($(JSS_SUP_XM),yes) | |
191 SUP_MODLOAD=yes | |
192 DMLIB_OBJS+= jloadxm.o | |
193 DM_CFLAGS+=-DJSS_SUP_XM | |
194 endif | |
195 | |
196 ifeq ($(JSS_SUP_JSSMOD),yes) | |
197 SUP_MODLOAD=yes | |
198 DMLIB_OBJS+= jloadjss.o | |
199 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
200 endif | |
201 | |
202 ifeq ($(DM_USE_C),yes) | |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
203 TARGETS += $(MINIJSS)jmix_c.c |
0 | 204 DMLIB_OBJS+=jmix_c.o |
205 endif | |
206 | |
207 #ifeq ($(DM_USE_SIMD),yes) | |
208 #DMLIB_OBJS+=jmix_simd.o | |
209 #endif | |
210 | |
572 | 211 ifeq ($(DM_BUILD_TOOLS),yes) |
212 ifeq ($(DM_USE_STDIO),yes) | |
213 ifeq ($(JSS_SUP_JSSMOD),yes) | |
214 ifeq ($(JSS_SUP_XM),yes) | |
215 TOOL_BINARIES+= xm2jss | |
216 endif | |
217 endif | |
218 endif | |
219 endif | |
220 DMLIB_OBJS += jss.o jssmix.o jssmod.o jssplr.o | |
221 endif | |
222 | |
0 | 223 |
224 ### Dependancies | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
225 ifeq ($(DM_BUILD_TOOLS),yes) |
435 | 226 DMLIB_OBJS += libgfx.o lib64gfx.o |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
227 ifeq ($(DM_USE_STDIO),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
228 TOOL_BINARIES+= objlink data2inc gfxconv gentab |
0 | 229 ifeq ($(SUP_MODLOAD),yes) |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
230 TOOL_BINARIES+= viewmod mod2wav |
667 | 231 TESTS_BINARIES+= plrtest |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
232 ifeq ($(DM_GFX_BLITS),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
233 TOOL_BINARIES+= view64 |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
234 ifeq ($(DM_GFX_BM_TEXT),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
235 ifeq ($(DM_GFX_MISC),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
236 TOOL_BINARIES+= ppl |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
237 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
238 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
239 endif |
0 | 240 endif |
241 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
242 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
243 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
244 |
0 | 245 |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
246 |
421 | 247 ifeq ($(DM_USE_LIBPNG),yes) |
424 | 248 DM_CFLAGS += -DDM_USE_LIBPNG $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS) |
421 | 249 endif |
250 | |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
251 ifeq ($(DM_BUILD_TESTS),yes) |
668 | 252 TESTS_BINARIES += vecmattest fptest evaltest |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
253 endif |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
254 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
255 FONTCONV_BIN=$(TOOL_BINPATH)fontconv$(EXEEXT) |
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
256 DATA2INC_BIN=$(TOOL_BINPATH)data2inc$(EXEEXT) |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
257 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
258 |
0 | 259 ### |
260 ### Rest of the rules | |
261 ### | |
334 | 262 CFLAGS += -g -W -Wall -DHAVE_STRING_H $(EXTRA_CFLAGS) |
0 | 263 CXXFLAGS=$(CFLAGS) |
264 | |
265 DM_CFLAGS += $(SDL_CFLAGS) | |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
266 DM_LDFLAGS += $(LDFLAGS) |
0 | 267 |
268 | |
269 DMLIB_A=$(OBJPATH)dmlib.a | |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
270 DMLIB_OBJS += \ |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
271 dmfile.o dmbstr.o dmlib.o dmlerp.o dmstring.o \ |
59
c560703e85ed
Add resource writing functions (only work for stdio backend)
Matti Hamalainen <ccr@tnsp.org>
parents:
51
diff
changeset
|
272 dmargs.o dmvecmat.o dmperlin.o dmimage.o \ |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
273 dmwav.o dmengine.o dmq3d.o |
0 | 274 |
275 | |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
276 TESTS_TARGETS = $(addprefix $(TESTS_BINPATH),$(addsuffix $(EXEEXT),$(TESTS_BINARIES))) |
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
277 TOOL_TARGETS = $(addprefix $(TOOL_BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES))) |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
278 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) \ |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
279 $(TOOL_TARGETS) $(TESTS_TARGETS) |
0 | 280 |
281 all: $(TARGETS) | |
282 | |
283 ### | |
284 ### Generic rules | |
285 ### | |
322
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
286 $(OBJPATH)%.d: $(DMLIB)%.c |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
287 @echo > $@ |
665
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
288 @grep '#\s*include\s*\"' $< | sed 's/#\s*include\s\s*"\(.*\)"/\1/' | \ |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
289 while read i; do if test -e "$$i"; then echo "$$i" >> $@; fi; done |
322
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
290 |
0 | 291 |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
292 $(OBJPATH)%.o: $(MINIJSS)%.c $(MINIJSS)%.h |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
293 @echo " CC $<" |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
294 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
295 |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
296 $(OBJPATH)%.o: $(MINIJSS)%.c |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
297 @echo " CC $<" |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
298 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
299 |
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
300 |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
301 $(OBJPATH)%.o: $(DMLIB)tests/%.c $(DMLIB)tests/%.h |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
302 @echo " CC $<" |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
303 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
304 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
305 $(OBJPATH)%.o: $(DMLIB)tests/%.c |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
306 @echo " CC $<" |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
307 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
308 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
309 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
310 $(OBJPATH)%.o: $(DMLIB)tools/%.c $(DMLIB)tools/%.h |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
311 @echo " CC $<" |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
312 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
313 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
314 $(OBJPATH)%.o: $(DMLIB)tools/%.c |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
315 @echo " CC $<" |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
316 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
317 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
318 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
319 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
320 $(OBJPATH)%.o: $(DMLIB)%.c $(DMLIB)%.h |
0 | 321 @echo " CC $<" |
322 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
323 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
324 $(OBJPATH)%.o: $(DMLIB)%.c |
0 | 325 @echo " CC $<" |
326 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
327 | |
3 | 328 $(OBJPATH)%.o: %.c %.h |
329 @echo " CC $<" | |
330 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
331 | |
332 $(OBJPATH)%.o: %.c | |
333 @echo " CC $<" | |
334 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
335 | |
0 | 336 |
337 ### | |
338 ### dmlib rules | |
339 ### | |
340 | |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
341 $(MINIJSS)jmix_c.c: $(MINIJSS)jmix_c_in.c $(MINIJSS)jmixtmpl_c.h $(MINIJSS)jmix_post_c.h |
51
36e2f910219c
A non-working implementation of floating point audio mixing.
Matti Hamalainen <ccr@tnsp.org>
parents:
49
diff
changeset
|
342 (echo "#include \"jssmix.h\"" && cpp $< $(DM_CFLAGS)) | sed "s/^# .*//g" > $@ |
34
7908061da010
Fix building of JSS mixer parts.
Matti Hamalainen <ccr@tnsp.org>
parents:
32
diff
changeset
|
343 |
163 | 344 $(OBJPATH)dmimage.o: $(DMLIB)dmimage.c $(DMLIB)stb_image.c $(DMLIB)dmimage.h |
0 | 345 @echo " CC $+" |
346 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
347 | |
597
8a9361179a1a
More work on the video setup screen.
Matti Hamalainen <ccr@tnsp.org>
parents:
587
diff
changeset
|
348 |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
349 $(OBJPATH)jssmod.o: $(MINIJSS)jssmod.c $(MINIJSS)jssmod.h $(MINIJSS)jss.h |
192 | 350 @echo " CC $+" |
351 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
352 | |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
353 $(OBJPATH)jssplr.o: $(MINIJSS)jssplr.c $(MINIJSS)jssplr.h $(MINIJSS)jss.h $(MINIJSS)jssmod.h $(MINIJSS)jssmix.h |
192 | 354 @echo " CC $+" |
355 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
356 | |
658
c430112449a7
Move miniJSS into a subdirectory.
Matti Hamalainen <ccr@tnsp.org>
parents:
655
diff
changeset
|
357 $(OBJPATH)jssmix.o: $(MINIJSS)jssmix.c $(MINIJSS)jssmix.h $(MINIJSS)jss.h |
192 | 358 @echo " CC $+" |
359 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
360 | |
163 | 361 $(OBJPATH)dmblit.o: $(DMLIB)dmblit.c $(DMLIB)dmscaledblit.h $(DMLIB)dmunscaledblit.h $(DMLIB)dmblitfunc.h $(DMLIB)dmlib.h |
0 | 362 @echo " CC $+" |
363 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
364 | |
232
79dac918c81e
Modularize line clipping etc. a lot, and export all line drawing and
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
365 $(OBJPATH)dmline.o: $(DMLIB)dmline.c $(DMLIB)dmdrawline.h $(DMLIB)dmlinefunc.h $(DMLIB)dmlineclip.h $(DMLIB)dmlib.h |
0 | 366 @echo " CC $+" |
367 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
368 | |
163 | 369 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c $(DMLIB)dmlib.h |
0 | 370 @echo " CC $+" |
371 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
372 | |
435 | 373 $(OBJPATH)libgfx.o: $(DMLIB)libgfx.c $(DMLIB)libgfx.h |
374 @echo " CC $+" | |
375 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) $(LIBPNG_CFLAGS) | |
376 | |
0 | 377 |
655
064c942d342e
Work towards fixing the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
653
diff
changeset
|
378 $(DMLIB)assets/SetupFont.dmf: $(DMLIB)assets/SetupFont.fnt $(FONTCONV_BIN) |
606
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
379 $(FONTCONV_BIN) -o $@ $< |
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
380 |
659
bfad79dc1740
Fix build process depencies for asset conversions.
Matti Hamalainen <ccr@tnsp.org>
parents:
658
diff
changeset
|
381 $(DMLIB)setupfont.h: $(DMLIB)assets/SetupFont.dmf $(DATA2INC_BIN) |
660
fc5e3e6d9097
Make converted asset headers have no comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
659
diff
changeset
|
382 $(DATA2INC_BIN) -q -C -n engineSetupFont -t Uint8 $< $@ |
606
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
383 |
659
bfad79dc1740
Fix build process depencies for asset conversions.
Matti Hamalainen <ccr@tnsp.org>
parents:
658
diff
changeset
|
384 $(DMLIB)setupimage.h: $(DMLIB)assets/SetupImage.png $(DATA2INC_BIN) |
660
fc5e3e6d9097
Make converted asset headers have no comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
659
diff
changeset
|
385 $(DATA2INC_BIN) -q -C -n engineSetupImage -t Uint8 $< $@ |
606
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
386 |
659
bfad79dc1740
Fix build process depencies for asset conversions.
Matti Hamalainen <ccr@tnsp.org>
parents:
658
diff
changeset
|
387 $(DMLIB)setupmenubar.h: $(DMLIB)assets/SetupMenuBar.png $(DATA2INC_BIN) |
660
fc5e3e6d9097
Make converted asset headers have no comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
659
diff
changeset
|
388 $(DATA2INC_BIN) -q -C -n engineSetupMenuBar -t Uint8 $< $@ |
606
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
389 |
659
bfad79dc1740
Fix build process depencies for asset conversions.
Matti Hamalainen <ccr@tnsp.org>
parents:
658
diff
changeset
|
390 |
607
360b1ad83ed9
Rename things; Fix build by combining the conflicting rules.
Matti Hamalainen <ccr@tnsp.org>
parents:
606
diff
changeset
|
391 $(OBJPATH)dmsimple.o: $(DMLIB)dmsimple.c $(DMLIB)dmengine.h \ |
360b1ad83ed9
Rename things; Fix build by combining the conflicting rules.
Matti Hamalainen <ccr@tnsp.org>
parents:
606
diff
changeset
|
392 $(DMLIB)setupmenubar.h $(DMLIB)setupfont.h \ |
360b1ad83ed9
Rename things; Fix build by combining the conflicting rules.
Matti Hamalainen <ccr@tnsp.org>
parents:
606
diff
changeset
|
393 $(DMLIB)setupimage.h $(DMLIB)dmsimple.c |
606
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
394 @echo " CC $+" |
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
395 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
396 |
a0082ce261c8
Add setup menu bar image conversion to build process, move some things around.
Matti Hamalainen <ccr@tnsp.org>
parents:
598
diff
changeset
|
397 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
398 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
0 | 399 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" |
522
2a70f5902b70
Objects being added twice to the lib archive fixed.
Matti Hamalainen <ccr@tnsp.org>
parents:
502
diff
changeset
|
400 @$(AR) cru $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) |
0 | 401 @$(RANLIB) $@ |
402 | |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
403 |
0 | 404 |
405 ### | |
665
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
406 ### Tests |
0 | 407 ### |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
408 $(TESTS_BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) |
0 | 409 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
410 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 411 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
412 $(TESTS_BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) |
0 | 413 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
414 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 415 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
416 $(TESTS_BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) |
0 | 417 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
418 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 419 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
420 $(TESTS_BINPATH)evaltest$(EXEEXT): $(OBJPATH)evaltest.o $(OBJPATH)dmeval.o $(DMLIB_A) |
668 | 421 @echo " LINK $+" |
422 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm | |
423 | |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
424 $(TESTS_BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) |
0 | 425 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
426 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 427 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
428 $(TESTS_BINPATH)plrtest$(EXEEXT): $(OBJPATH)plrtest.o $(DMLIB_A) |
653
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
429 @echo " LINK $+" |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
430 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
431 |
469119cab5b2
More cleanup work. Build is broken for now.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
432 |
665
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
433 ### |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
434 ### Tools |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
435 ### |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
436 $(FONTCONV_BIN): $(OBJPATH)fontconv.o $(DMLIB_A) |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
437 @echo " LINK $+" |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
438 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
439 |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
440 $(DATA2INC_BIN): $(OBJPATH)data2inc.o $(DMLIB_A) |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
441 @echo " LINK $+" |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
442 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
443 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
444 $(TOOL_BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) |
0 | 445 @echo " LINK $+" |
163 | 446 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 447 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
448 $(TOOL_BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) |
0 | 449 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
450 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 451 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
452 $(TOOL_BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) |
0 | 453 @echo " LINK $+" |
163 | 454 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 455 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
456 $(TOOL_BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) |
0 | 457 @echo " LINK $+" |
163 | 458 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 459 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
460 $(TOOL_BINPATH)ppl$(EXEEXT): $(DMLIB)setupfont.h $(OBJPATH)ppl.o $(DMLIB_A) |
0 | 461 @echo " LINK $+" |
285
245b15cd1919
Don't link libSDL uselessly to utilities that do not actually use it.
Matti Hamalainen <ccr@tnsp.org>
parents:
284
diff
changeset
|
462 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
0 | 463 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
464 $(TOOL_BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
465 @echo " LINK $+" |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
466 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
467 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
468 $(TOOL_BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A) |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
469 @echo " LINK $+" |
424 | 470 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
471 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
472 $(TOOL_BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A) |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
473 @echo " LINK $+" |
562
6a830bcd7eb9
Add zlib LDFLAGS to view64 linking phase.
Matti Hamalainen <ccr@tnsp.org>
parents:
557
diff
changeset
|
474 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(LIBPNG_LDFLAGS) $(ZLIB_LDFLAGS) $(SDL_LDFLAGS) |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
475 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
476 $(TOOL_BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A) |
496
966617f0f6cd
Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
495
diff
changeset
|
477 @echo " LINK $+" |
966617f0f6cd
Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
495
diff
changeset
|
478 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
966617f0f6cd
Add a simple utility for generating different sinus, etc. value tables in c64 assembler format.
Matti Hamalainen <ccr@tnsp.org>
parents:
495
diff
changeset
|
479 |
714
0ad76fa080ca
Improve build system by adding support for separate binary paths for
Matti Hamalainen <ccr@tnsp.org>
parents:
690
diff
changeset
|
480 $(TOOL_BINPATH)auval$(EXEEXT): $(OBJPATH)auval.o $(OBJPATH)dmeval.o $(DMLIB_A) |
690
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
481 @echo " LINK $+" |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
482 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
84811c6dd32d
Added Auval with removed Lua dependancy, using dmeval only.
Matti Hamalainen <ccr@tnsp.org>
parents:
668
diff
changeset
|
483 |
407
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
484 |
344 | 485 ### |
665
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
486 ### Demo binary |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
487 ### |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
488 $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
489 @echo " LINK $+" |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
490 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
491 |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
492 |
f9a3b0e8f0fc
Clean up build system a bit.
Matti Hamalainen <ccr@tnsp.org>
parents:
660
diff
changeset
|
493 ### |
344 | 494 ### Editor targets |
495 ### | |
380
ccb6e5108953
Add EDITOR_HEADERS to the dependency.
Matti Hamalainen <ccr@tnsp.org>
parents:
379
diff
changeset
|
496 $(EDITOR_PRO): $(DMLIB)Makefile.gen config.mak $(addprefix $(DMLIB),$(EDITOR_SOURCES) $(EDITOR_HEADERS)) $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
497 @echo " CREATE $@" |
377 | 498 @echo "OBJECTS_DIR = $(OBJPATH)" > $@ |
499 @echo "MOC_DIR = $(OBJPATH)" >> $@ | |
500 @echo "QMAKE_CXXFLAGS += $(DM_CFLAGS) $(SDL_CFLAGS)" >> $@ | |
376
40e33ad0d153
Work towards a working editor .. some day.
Matti Hamalainen <ccr@tnsp.org>
parents:
374
diff
changeset
|
501 @echo "QMAKE_LIBS += $(filter-out %dmsimple.o,$(filter %.o %.a,$+))" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
502 @echo "QMAKE_LIBS += $(DM_LDFLAGS) $(SDL_LDFLAGS)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
503 @echo "MAKEFILE = $(EDITOR_MAKEFILE)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
504 @echo "CONFIG += debug" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
505 @echo "QT += core gui opengl" >> $@ |
377 | 506 @echo "TARGET = $(BINPATH)ed_$(DEMO_BIN)$(EXEEXT)" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
507 @echo "TEMPLATE = app" >> $@ |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
508 @echo "SOURCES = $(addprefix $(DMLIB),$(EDITOR_SOURCES))" >> $@ |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
509 @echo "HEADERS = $(addprefix $(DMLIB),$(EDITOR_HEADERS))" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
510 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
511 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
512 $(EDITOR_MAKEFILE): $(EDITOR_PRO) |
355
dbc62ba3f132
Work towards Qt-based editor instead.
Matti Hamalainen <ccr@tnsp.org>
parents:
353
diff
changeset
|
513 @echo " QMAKE $+" |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
514 @qmake -Wall $< |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
515 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
516 $(BINPATH)ed_$(DEMO_BIN)$(EXEEXT): $(EDITOR_MAKEFILE) |
392
fc9b476c46de
Pass parameters to sub-processes of make.
Matti Hamalainen <ccr@tnsp.org>
parents:
388
diff
changeset
|
517 @$(MAKE) -f $< |
344 | 518 |
0 | 519 |
520 ### | |
521 ### Special targets | |
522 ### | |
523 clean: | |
563
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
524 $(RM) $(TARGETS) $(TMPFILES) $(OBJPATH)*.o |
0 | 525 |