Mercurial > hg > dmlib
annotate Makefile.gen @ 573:14640d0688d3
Make timeline stuff optional.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 05 Apr 2013 00:32:06 +0300 |
parents | 5a051ead61db |
children | 923d920a8a85 |
rev | line source |
---|---|
0 | 1 ### |
2 ### Get settings from config.mak | |
3 ### | |
4 include config.mak | |
5 | |
6 ifeq ($(EXTRA_CFLAGS),) | |
334 | 7 EXTRA_CFLAGS=-O3 -march=core2 -DDM_DEVEL |
0 | 8 endif |
9 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
10 ifneq ($(DMLIB),) |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
11 DM_CFLAGS += -I$(DMLIB) |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
12 endif |
0 | 13 |
344 | 14 |
15 ### | |
16 ### Editor | |
17 ### | |
573
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
18 ifeq ($(DM_USE_TIMELINE),yes) |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
19 DM_CFLAGS+=-DDM_USE_TIMELINE |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
20 DMLIB_OBJS += dmtimeline.o dmtimelinew.o |
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
21 |
344 | 22 ifeq ($(DM_BUILD_EDITOR),yes) |
23 ifneq ($(DEMO_BIN),) | |
24 BINARIES += ed_$(DEMO_BIN) | |
563
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
25 TARGETS += $(EDITOR_MAKEFILE) $(EDITOR_PRO) |
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
26 TMPFILES += $(OBJPATH)moc_* |
344 | 27 endif |
28 endif | |
573
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
29 endif |
344 | 30 |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
31 EDITOR_PRO = editor.pro |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
32 EDITOR_MAKEFILE = Makefile.editor |
403
d34922e6a244
Even more work towards the editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
392
diff
changeset
|
33 EDITOR_SOURCES = edmain.cpp edgui.cpp edview.cpp edtlobj.cpp edtimeline.cpp edwaveform.cpp edres.cpp |
d34922e6a244
Even more work towards the editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
392
diff
changeset
|
34 EDITOR_HEADERS = edmain.h edtlobj.h edview.h edtimeline.h edwaveform.h edres.h |
344 | 35 |
36 | |
0 | 37 ### |
38 ### Form additional compilation defines based on settings | |
39 ### | |
40 | |
41 # If C routines are not explicitly disabled, we enable them | |
42 ifeq ($(DM_USE_C),) | |
43 DM_USE_C=yes | |
44 endif | |
45 | |
46 ifeq ($(DM_USE_C),yes) | |
47 DM_CFLAGS+=-DDM_USE_C | |
48 endif | |
49 | |
50 # Enable SIMD routines, if requested | |
51 ifeq ($(DM_USE_SIMD),yes) | |
284
d47e8cafaa63
Add -msse2 if DM_USE_SIMD is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
242
diff
changeset
|
52 DM_CFLAGS+=-DDM_USE_SIMD -msse2 |
0 | 53 endif |
54 | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
55 # Enable Tremor Ogg Vorbis decoder |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
56 ifeq ($(DM_USE_TREMOR),yes) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
57 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
|
58 DM_LDFLAGS+=$(TREMOR_LDFLAGS) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
59 endif |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
60 |
0 | 61 |
62 ### | |
63 ### Filesystem | |
64 ### | |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
65 ifeq ($(DM_USE_PACKFS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
66 BUILD_RES=yes |
424 | 67 DM_CFLAGS += -DDM_USE_PACKFS $(ZLIB_CFLAGS) |
68 DM_LDFLAGS += $(ZLIB_LDFLAGS) | |
0 | 69 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
|
70 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
|
71 TOOL_BINARIES += packed |
0 | 72 endif |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
73 endif |
0 | 74 |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
75 ifeq ($(DM_USE_STDIO),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
76 BUILD_RES=yes |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
77 DM_CFLAGS += -DDM_USE_STDIO |
0 | 78 endif |
79 | |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
80 ifeq ($(DM_USE_MEMIO),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
81 BUILD_RES=yes |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
82 DM_CFLAGS += -DDM_USE_MEMIO |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
83 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
84 |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
85 ifeq ($(BUILD_RES),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
86 DMLIB_OBJS += dmres.o dmresw.o |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
87 endif |
0 | 88 |
89 ### | |
90 ### Graphics support | |
91 ### | |
92 | |
93 ifeq ($(DM_GFX_MISC),yes) | |
94 DM_CFLAGS += -DDM_GFX_MISC | |
95 DMLIB_OBJS += dmgfx.o | |
96 endif | |
97 | |
98 ifeq ($(DM_GFX_LINES),yes) | |
99 DM_CFLAGS += -DDM_GFX_LINES | |
100 DMLIB_OBJS += dmline.o | |
101 endif | |
102 | |
103 ifeq ($(DM_GFX_BLITS),yes) | |
104 DM_CFLAGS += -DDM_GFX_BLITS | |
105 DMLIB_OBJS += dmblit.o | |
106 endif | |
107 | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
108 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
|
109 DM_CFLAGS += -DDM_GFX_BM_TEXT |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
110 DMLIB_OBJS += dmtext_bm.o |
160 | 111 ifeq ($(DM_BUILD_TOOLS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
112 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
|
113 TOOL_BINARIES += fontconv |
160 | 114 endif |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
115 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
116 endif |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
117 |
0 | 118 ifeq ($(DM_GFX_TTF_TEXT),yes) |
119 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
120 DMLIB_OBJS += dmtext_ttf.o |
0 | 121 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
122 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 123 ifeq ($(DM_GFX_BLITS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
124 ifeq ($(DM_USE_STDIO),yes) |
459
8ca18222db10
Remove the rather useless vview utility.
Matti Hamalainen <ccr@tnsp.org>
parents:
435
diff
changeset
|
125 BINARIES += blittest vptest efu |
0 | 126 endif |
127 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
128 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
129 endif |
0 | 130 |
131 ifeq ($(DM_GFX_8BIT),yes) | |
132 DM_CFLAGS += -DDM_GFX_8BIT | |
133 endif | |
134 | |
135 ifeq ($(DM_GFX_15BIT),yes) | |
136 DM_CFLAGS += -DDM_GFX_15BIT | |
137 endif | |
138 | |
139 ifeq ($(DM_GFX_16BIT),yes) | |
140 DM_CFLAGS += -DDM_GFX_15BIT | |
141 endif | |
142 | |
143 ifeq ($(DM_GFX_32BIT),yes) | |
144 DM_CFLAGS += -DDM_GFX_15BIT | |
145 endif | |
146 | |
147 | |
148 ### | |
149 ### miniJSS | |
150 ### | |
151 ifeq ($(JSS),yes) | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
152 DM_CFLAGS+=-DDM_USE_JSS |
0 | 153 |
154 ifeq ($(JSS_LIGHT),yes) | |
155 DM_CFLAGS+=-DJSS_LIGHT -Os | |
156 else | |
157 ifeq ($(JSS_USE_ASSERTS),yes) | |
158 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
159 endif | |
160 ifeq ($(JSS_DEBUG),yes) | |
161 DM_CFLAGS+=-DJSS_DEBUG | |
162 endif | |
163 endif | |
164 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
165 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
|
166 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
|
167 endif |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
168 |
0 | 169 ifeq ($(JSS_SUP_THREADS),yes) |
170 DM_CFLAGS+=-DJSS_SUP_THREADS | |
171 endif | |
172 | |
173 | |
174 SUP_MODLOAD=no | |
175 ifeq ($(JSS_SUP_XM),yes) | |
176 SUP_MODLOAD=yes | |
177 DMLIB_OBJS+= jloadxm.o | |
178 DM_CFLAGS+=-DJSS_SUP_XM | |
179 endif | |
180 | |
181 ifeq ($(JSS_SUP_JSSMOD),yes) | |
182 SUP_MODLOAD=yes | |
183 DMLIB_OBJS+= jloadjss.o | |
184 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
185 endif | |
186 | |
187 ifeq ($(DM_USE_C),yes) | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
188 TARGETS += $(DMLIB)jmix_c.c |
0 | 189 DMLIB_OBJS+=jmix_c.o |
190 endif | |
191 | |
192 #ifeq ($(DM_USE_SIMD),yes) | |
193 #DMLIB_OBJS+=jmix_simd.o | |
194 #endif | |
195 | |
572 | 196 ifeq ($(DM_BUILD_TOOLS),yes) |
197 ifeq ($(DM_USE_STDIO),yes) | |
198 ifeq ($(JSS_SUP_JSSMOD),yes) | |
199 ifeq ($(JSS_SUP_XM),yes) | |
200 TOOL_BINARIES+= xm2jss | |
201 endif | |
202 endif | |
203 endif | |
204 endif | |
205 DMLIB_OBJS += jss.o jssmix.o jssmod.o jssplr.o | |
206 endif | |
207 | |
0 | 208 |
209 ### Dependancies | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
210 ifeq ($(DM_BUILD_TOOLS),yes) |
435 | 211 DMLIB_OBJS += libgfx.o lib64gfx.o |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
212 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
|
213 TOOL_BINARIES+= objlink data2inc gfxconv gentab |
0 | 214 ifeq ($(SUP_MODLOAD),yes) |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
215 TOOL_BINARIES+= viewmod mod2wav testpl |
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
|
216 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
|
217 TOOL_BINARIES+= view64 |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
218 ifeq ($(DM_GFX_BM_TEXT),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
219 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
|
220 TOOL_BINARIES+= ppl |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
221 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
222 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
223 endif |
0 | 224 endif |
225 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
226 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
227 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
228 |
0 | 229 |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
230 |
421 | 231 ifeq ($(DM_USE_LIBPNG),yes) |
424 | 232 DM_CFLAGS += -DDM_USE_LIBPNG $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS) |
421 | 233 endif |
234 | |
0 | 235 ### |
236 ### Rest of the rules | |
237 ### | |
334 | 238 CFLAGS += -g -W -Wall -DHAVE_STRING_H $(EXTRA_CFLAGS) |
0 | 239 CXXFLAGS=$(CFLAGS) |
240 | |
241 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
|
242 DM_LDFLAGS += $(LDFLAGS) |
0 | 243 |
244 | |
245 DMLIB_A=$(OBJPATH)dmlib.a | |
412
24548dba1eb6
Add simple bitstream writing functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
408
diff
changeset
|
246 DMLIB_OBJS += 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
|
247 dmargs.o dmvecmat.o dmperlin.o dmimage.o \ |
573
14640d0688d3
Make timeline stuff optional.
Matti Hamalainen <ccr@tnsp.org>
parents:
572
diff
changeset
|
248 dmwav.o dmengine.o dmq3d.o |
0 | 249 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
250 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 251 BINARIES += vecmattest fptest |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
252 endif |
0 | 253 |
502
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
254 TOOL_TARGETS = $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(TOOL_BINARIES))) |
e1526854e735
Add install target for Unix Makefile that installs tool binaries only, to
Matti Hamalainen <ccr@tnsp.org>
parents:
496
diff
changeset
|
255 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) $(TOOL_TARGETS) |
0 | 256 |
257 all: $(TARGETS) | |
258 | |
259 ### | |
260 ### Generic rules | |
261 ### | |
344 | 262 $(OBJPATH)gtk%.o: $(DMLIB)gtk%.c $(DMLIB)gtk%.h |
263 @echo " CC $+" | |
264 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) $(GTK_CFLAGS) | |
265 | |
266 | |
322
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
267 $(OBJPATH)%.d: $(DMLIB)%.c |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
268 @echo > $@ |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
269 @grep '#\s*include\s*\"' $< | sed 's/#\s*include\s\s*"\(.*\)"/\1/' | while read i; do if test -e "$$i"; then echo "$$i" >> $@; fi; done |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
270 |
0 | 271 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
272 $(OBJPATH)%.o: $(DMLIB)%.c $(DMLIB)%.h |
0 | 273 @echo " CC $<" |
274 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
275 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
276 $(OBJPATH)%.o: $(DMLIB)%.c |
0 | 277 @echo " CC $<" |
278 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
279 | |
3 | 280 $(OBJPATH)%.o: %.c %.h |
281 @echo " CC $<" | |
282 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
283 | |
284 $(OBJPATH)%.o: %.c | |
285 @echo " CC $<" | |
286 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
287 | |
0 | 288 |
289 ### | |
290 ### dmlib rules | |
291 ### | |
292 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
293 $(DMLIB)jmix_c.c: $(DMLIB)jmix_c_in.c $(DMLIB)jmixtmpl_c.h $(DMLIB)jmix_post_c.h |
51
36e2f910219c
A non-working implementation of floating point audio mixing.
Matti Hamalainen <ccr@tnsp.org>
parents:
49
diff
changeset
|
294 (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
|
295 |
163 | 296 $(OBJPATH)dmimage.o: $(DMLIB)dmimage.c $(DMLIB)stb_image.c $(DMLIB)dmimage.h |
0 | 297 @echo " CC $+" |
298 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
299 | |
192 | 300 $(OBJPATH)jssmod.o: $(DMLIB)jssmod.c $(DMLIB)jssmod.h $(DMLIB)jss.h |
301 @echo " CC $+" | |
302 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
303 | |
304 $(OBJPATH)jssplr.o: $(DMLIB)jssplr.c $(DMLIB)jssplr.h $(DMLIB)jss.h $(DMLIB)jssmod.h $(DMLIB)jssmix.h | |
305 @echo " CC $+" | |
306 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
307 | |
308 $(OBJPATH)jssmix.o: $(DMLIB)jssmix.c $(DMLIB)jssmix.h $(DMLIB)jss.h | |
309 @echo " CC $+" | |
310 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
311 | |
163 | 312 $(OBJPATH)dmblit.o: $(DMLIB)dmblit.c $(DMLIB)dmscaledblit.h $(DMLIB)dmunscaledblit.h $(DMLIB)dmblitfunc.h $(DMLIB)dmlib.h |
0 | 313 @echo " CC $+" |
314 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
315 | |
232
79dac918c81e
Modularize line clipping etc. a lot, and export all line drawing and
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
316 $(OBJPATH)dmline.o: $(DMLIB)dmline.c $(DMLIB)dmdrawline.h $(DMLIB)dmlinefunc.h $(DMLIB)dmlineclip.h $(DMLIB)dmlib.h |
0 | 317 @echo " CC $+" |
318 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
319 | |
163 | 320 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c $(DMLIB)dmlib.h |
0 | 321 @echo " CC $+" |
322 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
323 | |
435 | 324 $(OBJPATH)libgfx.o: $(DMLIB)libgfx.c $(DMLIB)libgfx.h |
325 @echo " CC $+" | |
326 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) $(LIBPNG_CFLAGS) | |
327 | |
0 | 328 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
329 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
0 | 330 @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
|
331 @$(AR) cru $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) |
0 | 332 @$(RANLIB) $@ |
333 | |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
334 |
0 | 335 |
336 ### | |
337 ### Tests and binaries | |
338 ### | |
339 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) | |
340 @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
|
341 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 342 |
343 $(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) | |
344 @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
|
345 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 346 |
347 $(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) | |
348 @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
|
349 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 350 |
351 $(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) | |
352 @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
|
353 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 354 |
355 $(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) | |
356 @echo " LINK $+" | |
163 | 357 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 358 |
359 $(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) | |
360 @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
|
361 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 362 |
363 $(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) | |
364 @echo " LINK $+" | |
163 | 365 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 366 |
367 $(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) | |
368 @echo " LINK $+" | |
163 | 369 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 370 |
160 | 371 $(BINPATH)fontconv$(EXEEXT): $(OBJPATH)fontconv.o $(DMLIB_A) |
372 @echo " LINK $+" | |
289
4d053d9e6439
Add SDL_CFLAGS to fontconv build.
Matti Hamalainen <ccr@tnsp.org>
parents:
285
diff
changeset
|
373 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
160 | 374 |
0 | 375 $(BINPATH)testpl$(EXEEXT): $(OBJPATH)testpl.o $(DMLIB_A) |
376 @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
|
377 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
0 | 378 |
164
a49d431ff40e
Add a hardcoded font to PPL.
Matti Hamalainen <ccr@tnsp.org>
parents:
163
diff
changeset
|
379 $(BINPATH)ppl$(EXEEXT): $(OBJPATH)ppl.o $(DMLIB_A) pplfont.h |
71
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
380 @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
|
381 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
71
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
382 |
376
40e33ad0d153
Work towards a working editor .. some day.
Matti Hamalainen <ccr@tnsp.org>
parents:
374
diff
changeset
|
383 $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) |
304
9a945c87f5ec
Add special rule for demo executables.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
384 @echo " LINK $+" |
9a945c87f5ec
Add special rule for demo executables.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
385 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
9a945c87f5ec
Add special rule for demo executables.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
386 |
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
|
387 |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
388 $(BINPATH)objlink$(EXEEXT): $(OBJPATH)objlink.o $(DMLIB_A) |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
389 @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
|
390 @$(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
|
391 |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
392 $(BINPATH)data2inc$(EXEEXT): $(OBJPATH)data2inc.o $(DMLIB_A) |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
393 @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
|
394 @$(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
|
395 |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
396 $(BINPATH)gfxconv$(EXEEXT): $(OBJPATH)gfxconv.o $(DMLIB_A) |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
397 @echo " LINK $+" |
424 | 398 @$(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
|
399 |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
400 $(BINPATH)view64$(EXEEXT): $(OBJPATH)view64.o $(DMLIB_A) |
59244a7ae37f
Move c64 utilities to the engine lib, as we benefit from a common framework.
Matti Hamalainen <ccr@tnsp.org>
parents:
403
diff
changeset
|
401 @echo " LINK $+" |
562
6a830bcd7eb9
Add zlib LDFLAGS to view64 linking phase.
Matti Hamalainen <ccr@tnsp.org>
parents:
557
diff
changeset
|
402 @$(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
|
403 |
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
|
404 $(BINPATH)gentab$(EXEEXT): $(OBJPATH)gentab.o $(DMLIB_A) |
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
|
405 @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
|
406 @$(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
|
407 |
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
|
408 |
344 | 409 ### |
410 ### Editor targets | |
411 ### | |
380
ccb6e5108953
Add EDITOR_HEADERS to the dependency.
Matti Hamalainen <ccr@tnsp.org>
parents:
379
diff
changeset
|
412 $(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
|
413 @echo " CREATE $@" |
377 | 414 @echo "OBJECTS_DIR = $(OBJPATH)" > $@ |
415 @echo "MOC_DIR = $(OBJPATH)" >> $@ | |
416 @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
|
417 @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
|
418 @echo "QMAKE_LIBS += $(DM_LDFLAGS) $(SDL_LDFLAGS)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
419 @echo "MAKEFILE = $(EDITOR_MAKEFILE)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
420 @echo "CONFIG += debug" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
421 @echo "QT += core gui opengl" >> $@ |
377 | 422 @echo "TARGET = $(BINPATH)ed_$(DEMO_BIN)$(EXEEXT)" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
423 @echo "TEMPLATE = app" >> $@ |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
424 @echo "SOURCES = $(addprefix $(DMLIB),$(EDITOR_SOURCES))" >> $@ |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
425 @echo "HEADERS = $(addprefix $(DMLIB),$(EDITOR_HEADERS))" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
426 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
427 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
428 $(EDITOR_MAKEFILE): $(EDITOR_PRO) |
355
dbc62ba3f132
Work towards Qt-based editor instead.
Matti Hamalainen <ccr@tnsp.org>
parents:
353
diff
changeset
|
429 @echo " QMAKE $+" |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
430 @qmake -Wall $< |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
431 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
432 $(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
|
433 @$(MAKE) -f $< |
344 | 434 |
0 | 435 |
436 ### | |
437 ### Special targets | |
438 ### | |
439 clean: | |
563
1483cd1cf0e6
Fix build by moving moc_* from TARGETS to TMPFILES.
Matti Hamalainen <ccr@tnsp.org>
parents:
562
diff
changeset
|
440 $(RM) $(TARGETS) $(TMPFILES) $(OBJPATH)*.o |
0 | 441 |