Mercurial > hg > dmlib
annotate Makefile.gen @ 95:0430f484641b
Add unscaled blitting functions.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 02 Oct 2012 18:51:16 +0300 |
parents | 15fdd5573344 |
children | d5d27f262227 |
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 | |
32 | |
33 ### | |
34 ### Filesystem | |
35 ### | |
36 ifeq ($(DMRES_PACKFS),yes) | |
37 DM_CFLAGS += -DDMRES_PACKFS | |
38 DMLIB_OBJS += dmpack.o dmpackutil.o | |
39 DM_LDFLAGS += -lz | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
40 ifeq ($(DM_BUILD_TOOLS),yes) |
0 | 41 BINARIES += packed |
42 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
43 endif |
0 | 44 |
45 ifeq ($(DMRES_STDIO),yes) | |
46 DM_CFLAGS += -DDMRES_STDIO | |
47 endif | |
48 | |
49 | |
50 ### | |
51 ### Graphics support | |
52 ### | |
53 | |
54 ifeq ($(DM_GFX_MISC),yes) | |
55 DM_CFLAGS += -DDM_GFX_MISC | |
56 DMLIB_OBJS += dmgfx.o | |
57 endif | |
58 | |
59 ifeq ($(DM_GFX_LINES),yes) | |
60 DM_CFLAGS += -DDM_GFX_LINES | |
61 DMLIB_OBJS += dmline.o | |
62 endif | |
63 | |
64 ifeq ($(DM_GFX_BLITS),yes) | |
65 DM_CFLAGS += -DDM_GFX_BLITS | |
66 DMLIB_OBJS += dmblit.o | |
67 endif | |
68 | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
69 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
|
70 DM_CFLAGS += -DDM_GFX_BM_TEXT |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
71 DMLIB_OBJS += dmtext_bm.o |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
72 endif |
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
73 |
0 | 74 ifeq ($(DM_GFX_TTF_TEXT),yes) |
75 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
76 DMLIB_OBJS += dmtext_ttf.o |
0 | 77 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
78 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 79 ifeq ($(DM_GFX_BLITS),yes) |
80 BINARIES += blittest vview vptest efu | |
81 endif | |
82 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
83 endif |
0 | 84 |
85 ifeq ($(DM_GFX_8BIT),yes) | |
86 DM_CFLAGS += -DDM_GFX_8BIT | |
87 endif | |
88 | |
89 ifeq ($(DM_GFX_15BIT),yes) | |
90 DM_CFLAGS += -DDM_GFX_15BIT | |
91 endif | |
92 | |
93 ifeq ($(DM_GFX_16BIT),yes) | |
94 DM_CFLAGS += -DDM_GFX_15BIT | |
95 endif | |
96 | |
97 ifeq ($(DM_GFX_32BIT),yes) | |
98 DM_CFLAGS += -DDM_GFX_15BIT | |
99 endif | |
100 | |
101 | |
102 ### | |
103 ### miniJSS | |
104 ### | |
105 ifeq ($(JSS),yes) | |
106 | |
107 ifeq ($(JSS_LIGHT),yes) | |
108 DM_CFLAGS+=-DJSS_LIGHT -Os | |
109 else | |
110 ifeq ($(JSS_USE_ASSERTS),yes) | |
111 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
112 endif | |
113 ifeq ($(JSS_DEBUG),yes) | |
114 DM_CFLAGS+=-DJSS_DEBUG | |
115 endif | |
116 endif | |
117 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
118 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
|
119 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
|
120 endif |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
121 |
0 | 122 ifeq ($(JSS_SUP_THREADS),yes) |
123 DM_CFLAGS+=-DJSS_SUP_THREADS | |
124 endif | |
125 | |
126 | |
127 SUP_MODLOAD=no | |
128 ifeq ($(JSS_SUP_XM),yes) | |
129 SUP_MODLOAD=yes | |
130 DMLIB_OBJS+= jloadxm.o | |
131 DM_CFLAGS+=-DJSS_SUP_XM | |
132 endif | |
133 | |
134 ifeq ($(JSS_SUP_JSSMOD),yes) | |
135 SUP_MODLOAD=yes | |
136 DMLIB_OBJS+= jloadjss.o | |
137 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
138 endif | |
139 | |
140 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
|
141 TARGETS += $(DMLIB)jmix_c.c |
0 | 142 DMLIB_OBJS+=jmix_c.o |
143 endif | |
144 | |
145 #ifeq ($(DM_USE_SIMD),yes) | |
146 #DMLIB_OBJS+=jmix_simd.o | |
147 #endif | |
148 | |
149 | |
150 ### Dependancies | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
151 ifeq ($(DM_BUILD_TOOLS),yes) |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
152 ifeq ($(DMRES_STDIO),yes) |
0 | 153 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
|
154 BINARIES+= viewmod mod2wav testpl ppl |
0 | 155 endif |
156 | |
157 ifeq ($(JSS_SUP_JSSMOD),yes) | |
158 ifeq ($(JSS_SUP_XM),yes) | |
159 BINARIES+= xm2jss | |
160 endif | |
161 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
162 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
163 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
164 |
0 | 165 |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
166 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
|
167 |
0 | 168 endif |
169 | |
170 ### | |
171 ### Rest of the rules | |
172 ### | |
173 CFLAGS += -g -W -Wall -DHAVE_STRING_H -O3 $(EXTRA_CFLAGS) | |
174 CXXFLAGS=$(CFLAGS) | |
175 | |
176 DM_CFLAGS += $(SDL_CFLAGS) | |
177 DM_LDFLAGS += $(LDFLAGS) $(SDL_LDFLAGS) | |
178 | |
179 | |
180 DMLIB_A=$(OBJPATH)dmlib.a | |
181 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
|
182 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
|
183 dmres.o dmresw.o dmsimple.o |
0 | 184 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
185 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 186 BINARIES += vecmattest fptest |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
187 endif |
0 | 188 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
189 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) |
0 | 190 |
191 all: $(TARGETS) | |
192 | |
193 ### | |
194 ### Generic rules | |
195 ### | |
196 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
197 $(OBJPATH)%.o: $(DMLIB)%.c $(DMLIB)%.h |
0 | 198 @echo " CC $<" |
199 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
200 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
201 $(OBJPATH)%.o: $(DMLIB)%.c |
0 | 202 @echo " CC $<" |
203 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
204 | |
3 | 205 $(OBJPATH)%.o: %.c %.h |
206 @echo " CC $<" | |
207 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
208 | |
209 $(OBJPATH)%.o: %.c | |
210 @echo " CC $<" | |
211 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
212 | |
0 | 213 |
214 ### | |
215 ### dmlib rules | |
216 ### | |
217 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
218 $(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
|
219 (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
|
220 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
221 $(OBJPATH)dmimage.o: $(DMLIB)dmimage.c $(DMLIB)stb_image.c |
0 | 222 @echo " CC $+" |
223 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
224 | |
95
0430f484641b
Add unscaled blitting functions.
Matti Hamalainen <ccr@tnsp.org>
parents:
93
diff
changeset
|
225 $(OBJPATH)dmblit.o: $(DMLIB)dmblit.c $(DMLIB)dmscaledblit.h $(DMLIB)dmunscaledblit.h $(DMLIB)dmblitfunc.h |
0 | 226 @echo " CC $+" |
227 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
228 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
229 $(OBJPATH)dmline.o: $(DMLIB)dmline.c $(DMLIB)dmdrawline.h $(DMLIB)dmlinefunc.h |
0 | 230 @echo " CC $+" |
231 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
232 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
233 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c |
0 | 234 @echo " CC $+" |
235 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
236 | |
237 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
238 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
0 | 239 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" |
240 @$(AR) cru $@ $+ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) | |
241 @$(RANLIB) $@ | |
242 | |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
243 |
0 | 244 |
245 ### | |
246 ### Tests and binaries | |
247 ### | |
3 | 248 $(BINPATH)%$(EXEEXT): $(OBJPATH)%.o $(DMLIB_A) |
249 @echo " LINK $+" | |
250 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
251 | |
0 | 252 $(BINPATH)vview$(EXEEXT): $(OBJPATH)vview.o $(DMLIB_A) |
253 @echo " LINK $+" | |
254 @$(CC) -o $@ $+ $(DM_LDFLAGS) -lSDL_ttf | |
255 | |
256 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) | |
257 @echo " LINK $+" | |
258 @$(CC) -o $@ $+ $(DM_LDFLAGS) -lSDL_ttf | |
259 | |
260 $(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) | |
261 @echo " LINK $+" | |
7
d427763f113a
Fix "efu" test, use dmImage instead of SDL_image.
Matti Hamalainen <ccr@tnsp.org>
parents:
3
diff
changeset
|
262 @$(CC) -o $@ $+ $(DM_LDFLAGS) -lSDL_ttf |
0 | 263 |
264 $(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) | |
265 @echo " LINK $+" | |
266 @$(CC) -o $@ $+ $(DM_LDFLAGS) -lSDL_ttf | |
267 | |
268 $(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) | |
269 @echo " LINK $+" | |
270 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
271 | |
272 $(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) | |
273 @echo " LINK $+" | |
274 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
275 | |
276 $(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) | |
277 @echo " LINK $+" | |
278 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
279 | |
280 $(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) | |
281 @echo " LINK $+" | |
282 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
283 | |
284 $(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) | |
285 @echo " LINK $+" | |
286 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
287 | |
288 $(BINPATH)testpl$(EXEEXT): $(OBJPATH)testpl.o $(DMLIB_A) | |
289 @echo " LINK $+" | |
290 @$(CC) -o $@ $+ $(DM_LDFLAGS) | |
291 | |
71
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
292 $(BINPATH)ppl$(EXEEXT): $(OBJPATH)ppl.o $(DMLIB_A) |
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
293 @echo " LINK $+" |
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
294 @$(CC) -o $@ $+ $(DM_LDFLAGS) |
b908fda1036e
Add a simplistic skeleton of a module player with SDL-based view.
Matti Hamalainen <ccr@tnsp.org>
parents:
64
diff
changeset
|
295 |
0 | 296 |
297 ### | |
298 ### Special targets | |
299 ### | |
300 clean: | |
301 $(RM) $(TARGETS) $(OBJPATH)*.o | |
302 |