Mercurial > hg > dmlib
annotate Makefile.gen @ 164:a49d431ff40e
Add a hardcoded font to PPL.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 06 Oct 2012 08:00:34 +0300 |
parents | fc3c87cee960 |
children | 112eb95f2fba |
rev | line source |
---|---|
0 | 1 ### |
2 ### Get settings from config.mak | |
3 ### | |
4 include config.mak | |
5 | |
6 ifeq ($(EXTRA_CFLAGS),) | |
93
15fdd5573344
Add simple (and buggy / not really working) debug mode.
Matti Hamalainen <ccr@tnsp.org>
parents:
71
diff
changeset
|
7 EXTRA_CFLAGS=-march=core2 -DDM_DEBUG |
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 |
14 ### | |
15 ### Form additional compilation defines based on settings | |
16 ### | |
17 | |
18 # If C routines are not explicitly disabled, we enable them | |
19 ifeq ($(DM_USE_C),) | |
20 DM_USE_C=yes | |
21 endif | |
22 | |
23 ifeq ($(DM_USE_C),yes) | |
24 DM_CFLAGS+=-DDM_USE_C | |
25 endif | |
26 | |
27 # Enable SIMD routines, if requested | |
28 ifeq ($(DM_USE_SIMD),yes) | |
29 DM_CFLAGS+=-DDM_USE_SIMD | |
30 endif | |
31 | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
32 # Enable Tremor Ogg Vorbis decoder |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
33 ifeq ($(DM_USE_TREMOR),yes) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
34 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
|
35 DM_LDFLAGS+=$(TREMOR_LDFLAGS) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
36 endif |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
37 |
0 | 38 |
39 ### | |
40 ### Filesystem | |
41 ### | |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
42 ifeq ($(DM_USE_PACKFS),yes) |
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
43 DM_CFLAGS += -DDM_USE_PACKFS |
0 | 44 DMLIB_OBJS += dmpack.o dmpackutil.o |
45 DM_LDFLAGS += -lz | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
46 ifeq ($(DM_BUILD_TOOLS),yes) |
0 | 47 BINARIES += packed |
48 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
49 endif |
0 | 50 |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
51 ifeq ($(DM_USE_STDIO),yes) |
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
52 DM_CFLAGS += -DDM_USE_STDIO |
0 | 53 endif |
54 | |
55 | |
56 ### | |
57 ### Graphics support | |
58 ### | |
59 | |
60 ifeq ($(DM_GFX_MISC),yes) | |
61 DM_CFLAGS += -DDM_GFX_MISC | |
62 DMLIB_OBJS += dmgfx.o | |
63 endif | |
64 | |
65 ifeq ($(DM_GFX_LINES),yes) | |
66 DM_CFLAGS += -DDM_GFX_LINES | |
67 DMLIB_OBJS += dmline.o | |
68 endif | |
69 | |
70 ifeq ($(DM_GFX_BLITS),yes) | |
71 DM_CFLAGS += -DDM_GFX_BLITS | |
72 DMLIB_OBJS += dmblit.o | |
73 endif | |
74 | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
75 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
|
76 DM_CFLAGS += -DDM_GFX_BM_TEXT |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
77 DMLIB_OBJS += dmtext_bm.o |
160 | 78 ifeq ($(DM_BUILD_TOOLS),yes) |
79 BINARIES += fontconv | |
80 endif | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
81 endif |
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
82 |
0 | 83 ifeq ($(DM_GFX_TTF_TEXT),yes) |
84 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
85 DMLIB_OBJS += dmtext_ttf.o |
0 | 86 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
87 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 88 ifeq ($(DM_GFX_BLITS),yes) |
89 BINARIES += blittest vview vptest efu | |
90 endif | |
91 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
92 endif |
0 | 93 |
94 ifeq ($(DM_GFX_8BIT),yes) | |
95 DM_CFLAGS += -DDM_GFX_8BIT | |
96 endif | |
97 | |
98 ifeq ($(DM_GFX_15BIT),yes) | |
99 DM_CFLAGS += -DDM_GFX_15BIT | |
100 endif | |
101 | |
102 ifeq ($(DM_GFX_16BIT),yes) | |
103 DM_CFLAGS += -DDM_GFX_15BIT | |
104 endif | |
105 | |
106 ifeq ($(DM_GFX_32BIT),yes) | |
107 DM_CFLAGS += -DDM_GFX_15BIT | |
108 endif | |
109 | |
110 | |
111 ### | |
112 ### miniJSS | |
113 ### | |
114 ifeq ($(JSS),yes) | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
115 DM_CFLAGS+=-DDM_USE_JSS |
0 | 116 |
117 ifeq ($(JSS_LIGHT),yes) | |
118 DM_CFLAGS+=-DJSS_LIGHT -Os | |
119 else | |
120 ifeq ($(JSS_USE_ASSERTS),yes) | |
121 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
122 endif | |
123 ifeq ($(JSS_DEBUG),yes) | |
124 DM_CFLAGS+=-DJSS_DEBUG | |
125 endif | |
126 endif | |
127 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
128 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
|
129 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
|
130 endif |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
131 |
0 | 132 ifeq ($(JSS_SUP_THREADS),yes) |
133 DM_CFLAGS+=-DJSS_SUP_THREADS | |
134 endif | |
135 | |
136 | |
137 SUP_MODLOAD=no | |
138 ifeq ($(JSS_SUP_XM),yes) | |
139 SUP_MODLOAD=yes | |
140 DMLIB_OBJS+= jloadxm.o | |
141 DM_CFLAGS+=-DJSS_SUP_XM | |
142 endif | |
143 | |
144 ifeq ($(JSS_SUP_JSSMOD),yes) | |
145 SUP_MODLOAD=yes | |
146 DMLIB_OBJS+= jloadjss.o | |
147 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
148 endif | |
149 | |
150 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
|
151 TARGETS += $(DMLIB)jmix_c.c |
0 | 152 DMLIB_OBJS+=jmix_c.o |
153 endif | |
154 | |
155 #ifeq ($(DM_USE_SIMD),yes) | |
156 #DMLIB_OBJS+=jmix_simd.o | |
157 #endif | |
158 | |
159 | |
160 ### Dependancies | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
161 ifeq ($(DM_BUILD_TOOLS),yes) |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
162 ifeq ($(DM_USE_STDIO),yes) |
0 | 163 ifeq ($(SUP_MODLOAD),yes) |
71
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
164 BINARIES+= viewmod mod2wav testpl ppl |
0 | 165 endif |
166 | |
167 ifeq ($(JSS_SUP_JSSMOD),yes) | |
168 ifeq ($(JSS_SUP_XM),yes) | |
169 BINARIES+= xm2jss | |
170 endif | |
171 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
172 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
173 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
174 |
0 | 175 |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
176 DMLIB_OBJS += jss.o jssmix.o jssmod.o jssplr.o |
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
177 |
0 | 178 endif |
179 | |
180 ### | |
181 ### Rest of the rules | |
182 ### | |
183 CFLAGS += -g -W -Wall -DHAVE_STRING_H -O3 $(EXTRA_CFLAGS) | |
184 CXXFLAGS=$(CFLAGS) | |
185 | |
186 DM_CFLAGS += $(SDL_CFLAGS) | |
187 DM_LDFLAGS += $(LDFLAGS) $(SDL_LDFLAGS) | |
188 | |
189 | |
190 DMLIB_A=$(OBJPATH)dmlib.a | |
191 DMLIB_OBJS += dmfile.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
|
192 dmargs.o dmvecmat.o dmperlin.o dmimage.o \ |
c560703e85ed
Add resource writing functions (only work for stdio backend)
Matti Hamalainen <ccr@tnsp.org>
parents:
51
diff
changeset
|
193 dmres.o dmresw.o dmsimple.o |
0 | 194 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
195 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 196 BINARIES += vecmattest fptest |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
197 endif |
0 | 198 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
199 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) |
0 | 200 |
201 all: $(TARGETS) | |
202 | |
203 ### | |
204 ### Generic rules | |
205 ### | |
206 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
207 $(OBJPATH)%.o: $(DMLIB)%.c $(DMLIB)%.h |
0 | 208 @echo " CC $<" |
209 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
210 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
211 $(OBJPATH)%.o: $(DMLIB)%.c |
0 | 212 @echo " CC $<" |
213 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
214 | |
3 | 215 $(OBJPATH)%.o: %.c %.h |
216 @echo " CC $<" | |
217 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
218 | |
219 $(OBJPATH)%.o: %.c | |
220 @echo " CC $<" | |
221 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
222 | |
0 | 223 |
224 ### | |
225 ### dmlib rules | |
226 ### | |
227 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
228 $(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
|
229 (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
|
230 |
163 | 231 $(OBJPATH)dmimage.o: $(DMLIB)dmimage.c $(DMLIB)stb_image.c $(DMLIB)dmimage.h |
0 | 232 @echo " CC $+" |
233 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
234 | |
163 | 235 $(OBJPATH)dmblit.o: $(DMLIB)dmblit.c $(DMLIB)dmscaledblit.h $(DMLIB)dmunscaledblit.h $(DMLIB)dmblitfunc.h $(DMLIB)dmlib.h |
0 | 236 @echo " CC $+" |
237 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
238 | |
163 | 239 $(OBJPATH)dmline.o: $(DMLIB)dmline.c $(DMLIB)dmdrawline.h $(DMLIB)dmlinefunc.h $(DMLIB)dmlib.h |
0 | 240 @echo " CC $+" |
241 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
242 | |
163 | 243 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c $(DMLIB)dmlib.h |
0 | 244 @echo " CC $+" |
245 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
246 | |
247 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
248 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
0 | 249 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" |
250 @$(AR) cru $@ $+ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) | |
251 @$(RANLIB) $@ | |
252 | |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
253 |
0 | 254 |
255 ### | |
256 ### Tests and binaries | |
257 ### | |
3 | 258 $(BINPATH)%$(EXEEXT): $(OBJPATH)%.o $(DMLIB_A) |
259 @echo " LINK $+" | |
163 | 260 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
3 | 261 |
0 | 262 $(BINPATH)vview$(EXEEXT): $(OBJPATH)vview.o $(DMLIB_A) |
263 @echo " LINK $+" | |
163 | 264 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lSDL_ttf |
0 | 265 |
266 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) | |
267 @echo " LINK $+" | |
163 | 268 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lSDL_ttf |
0 | 269 |
270 $(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) | |
271 @echo " LINK $+" | |
163 | 272 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lSDL_ttf |
0 | 273 |
274 $(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) | |
275 @echo " LINK $+" | |
163 | 276 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lSDL_ttf |
0 | 277 |
278 $(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) | |
279 @echo " LINK $+" | |
163 | 280 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 281 |
282 $(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) | |
283 @echo " LINK $+" | |
163 | 284 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 285 |
286 $(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) | |
287 @echo " LINK $+" | |
163 | 288 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 289 |
290 $(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) | |
291 @echo " LINK $+" | |
163 | 292 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 293 |
294 $(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) | |
295 @echo " LINK $+" | |
163 | 296 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 297 |
160 | 298 $(BINPATH)fontconv$(EXEEXT): $(OBJPATH)fontconv.o $(DMLIB_A) |
299 @echo " LINK $+" | |
163 | 300 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
160 | 301 |
0 | 302 $(BINPATH)testpl$(EXEEXT): $(OBJPATH)testpl.o $(DMLIB_A) |
303 @echo " LINK $+" | |
163 | 304 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 305 |
164
a49d431ff40e
Add a hardcoded font to PPL.
Matti Hamalainen <ccr@tnsp.org>
parents:
163
diff
changeset
|
306 $(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
|
307 @echo " LINK $+" |
163 | 308 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
71
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
309 |
0 | 310 |
311 ### | |
312 ### Special targets | |
313 ### | |
314 clean: | |
315 $(RM) $(TARGETS) $(OBJPATH)*.o | |
316 |