Mercurial > hg > dmlib
annotate Makefile.gen @ 370:7e640b1f990b
Fix build process for out of tree builds.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 17 Oct 2012 01:15:09 +0300 |
parents | 1b8362a26692 |
children | 097b537fa957 |
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 ### | |
18 ifeq ($(DM_BUILD_EDITOR),yes) | |
19 ifneq ($(DEMO_BIN),) | |
20 BINARIES += ed_$(DEMO_BIN) | |
21 endif | |
22 endif | |
23 | |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
24 EDITOR_PRO = editor.pro |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
25 EDITOR_MAKEFILE = Makefile.editor |
355
dbc62ba3f132
Work towards Qt-based editor instead.
Matti Hamalainen <ccr@tnsp.org>
parents:
353
diff
changeset
|
26 EDITOR_SOURCES = edmain.cpp edgui.cpp edtimeline.cpp edwaveform.cpp |
dbc62ba3f132
Work towards Qt-based editor instead.
Matti Hamalainen <ccr@tnsp.org>
parents:
353
diff
changeset
|
27 EDITOR_HEADERS = edmain.h edtimeline.h edwaveform.h |
344 | 28 |
29 | |
0 | 30 ### |
31 ### Form additional compilation defines based on settings | |
32 ### | |
33 | |
34 # If C routines are not explicitly disabled, we enable them | |
35 ifeq ($(DM_USE_C),) | |
36 DM_USE_C=yes | |
37 endif | |
38 | |
39 ifeq ($(DM_USE_C),yes) | |
40 DM_CFLAGS+=-DDM_USE_C | |
41 endif | |
42 | |
43 # Enable SIMD routines, if requested | |
44 ifeq ($(DM_USE_SIMD),yes) | |
284
d47e8cafaa63
Add -msse2 if DM_USE_SIMD is enabled.
Matti Hamalainen <ccr@tnsp.org>
parents:
242
diff
changeset
|
45 DM_CFLAGS+=-DDM_USE_SIMD -msse2 |
0 | 46 endif |
47 | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
48 # Enable Tremor Ogg Vorbis decoder |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
49 ifeq ($(DM_USE_TREMOR),yes) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
50 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
|
51 DM_LDFLAGS+=$(TREMOR_LDFLAGS) |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
52 endif |
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
53 |
0 | 54 |
55 ### | |
56 ### Filesystem | |
57 ### | |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
58 ifeq ($(DM_USE_PACKFS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
59 BUILD_RES=yes |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
60 DM_CFLAGS += -DDM_USE_PACKFS |
0 | 61 DMLIB_OBJS += dmpack.o dmpackutil.o |
62 DM_LDFLAGS += -lz | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
63 ifeq ($(DM_BUILD_TOOLS),yes) |
0 | 64 BINARIES += packed |
65 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
66 endif |
0 | 67 |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
68 ifeq ($(DM_USE_STDIO),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
69 BUILD_RES=yes |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
70 DM_CFLAGS += -DDM_USE_STDIO |
0 | 71 endif |
72 | |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
73 ifeq ($(DM_USE_MEMIO),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
74 BUILD_RES=yes |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
75 DM_CFLAGS += -DDM_USE_MEMIO |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
76 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
77 |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
78 ifeq ($(BUILD_RES),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
79 DMLIB_OBJS += dmres.o dmresw.o |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
80 endif |
0 | 81 |
82 ### | |
83 ### Graphics support | |
84 ### | |
85 | |
86 ifeq ($(DM_GFX_MISC),yes) | |
87 DM_CFLAGS += -DDM_GFX_MISC | |
88 DMLIB_OBJS += dmgfx.o | |
89 endif | |
90 | |
91 ifeq ($(DM_GFX_LINES),yes) | |
92 DM_CFLAGS += -DDM_GFX_LINES | |
93 DMLIB_OBJS += dmline.o | |
94 endif | |
95 | |
96 ifeq ($(DM_GFX_BLITS),yes) | |
97 DM_CFLAGS += -DDM_GFX_BLITS | |
98 DMLIB_OBJS += dmblit.o | |
99 endif | |
100 | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
101 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
|
102 DM_CFLAGS += -DDM_GFX_BM_TEXT |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
103 DMLIB_OBJS += dmtext_bm.o |
160 | 104 ifeq ($(DM_BUILD_TOOLS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
105 ifeq ($(DM_USE_STDIO),yes) |
160 | 106 BINARIES += fontconv |
107 endif | |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
108 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
109 endif |
60
f28cd66356f6
Initial work for bitmapped fonts and text drawing. Also moved TTF header
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
110 |
0 | 111 ifeq ($(DM_GFX_TTF_TEXT),yes) |
112 DM_CFLAGS += -DDM_GFX_TTF_TEXT | |
64
ad1ef3f0d474
More work on the text subsystem.
Matti Hamalainen <ccr@tnsp.org>
parents:
60
diff
changeset
|
113 DMLIB_OBJS += dmtext_ttf.o |
0 | 114 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
115 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 116 ifeq ($(DM_GFX_BLITS),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
117 ifeq ($(DM_USE_STDIO),yes) |
0 | 118 BINARIES += blittest vview vptest efu |
119 endif | |
120 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
121 endif |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
122 endif |
0 | 123 |
124 ifeq ($(DM_GFX_8BIT),yes) | |
125 DM_CFLAGS += -DDM_GFX_8BIT | |
126 endif | |
127 | |
128 ifeq ($(DM_GFX_15BIT),yes) | |
129 DM_CFLAGS += -DDM_GFX_15BIT | |
130 endif | |
131 | |
132 ifeq ($(DM_GFX_16BIT),yes) | |
133 DM_CFLAGS += -DDM_GFX_15BIT | |
134 endif | |
135 | |
136 ifeq ($(DM_GFX_32BIT),yes) | |
137 DM_CFLAGS += -DDM_GFX_15BIT | |
138 endif | |
139 | |
140 | |
141 ### | |
142 ### miniJSS | |
143 ### | |
144 ifeq ($(JSS),yes) | |
105
d5d27f262227
Beging merging of dmsimple2-fork into the main "engine".
Matti Hamalainen <ccr@tnsp.org>
parents:
95
diff
changeset
|
145 DM_CFLAGS+=-DDM_USE_JSS |
0 | 146 |
147 ifeq ($(JSS_LIGHT),yes) | |
148 DM_CFLAGS+=-DJSS_LIGHT -Os | |
149 else | |
150 ifeq ($(JSS_USE_ASSERTS),yes) | |
151 DM_CFLAGS+=-DJSS_USE_ASSERTS | |
152 endif | |
153 ifeq ($(JSS_DEBUG),yes) | |
154 DM_CFLAGS+=-DJSS_DEBUG | |
155 endif | |
156 endif | |
157 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
158 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
|
159 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
|
160 endif |
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
161 |
0 | 162 ifeq ($(JSS_SUP_THREADS),yes) |
163 DM_CFLAGS+=-DJSS_SUP_THREADS | |
164 endif | |
165 | |
166 | |
167 SUP_MODLOAD=no | |
168 ifeq ($(JSS_SUP_XM),yes) | |
169 SUP_MODLOAD=yes | |
170 DMLIB_OBJS+= jloadxm.o | |
171 DM_CFLAGS+=-DJSS_SUP_XM | |
172 endif | |
173 | |
174 ifeq ($(JSS_SUP_JSSMOD),yes) | |
175 SUP_MODLOAD=yes | |
176 DMLIB_OBJS+= jloadjss.o | |
177 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | |
178 endif | |
179 | |
180 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
|
181 TARGETS += $(DMLIB)jmix_c.c |
0 | 182 DMLIB_OBJS+=jmix_c.o |
183 endif | |
184 | |
185 #ifeq ($(DM_USE_SIMD),yes) | |
186 #DMLIB_OBJS+=jmix_simd.o | |
187 #endif | |
188 | |
189 | |
190 ### Dependancies | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
191 ifeq ($(DM_BUILD_TOOLS),yes) |
124
d5cfd29c87c4
Rename some conditional compilation directives.
Matti Hamalainen <ccr@tnsp.org>
parents:
105
diff
changeset
|
192 ifeq ($(DM_USE_STDIO),yes) |
0 | 193 ifeq ($(SUP_MODLOAD),yes) |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
194 BINARIES+= viewmod mod2wav testpl |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
195 ifeq ($(DM_GFX_BM_TEXT),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
196 ifeq ($(DM_GFX_BLITS),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
197 ifeq ($(DM_GFX_MISC),yes) |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
198 BINARIES+= ppl |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
199 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
200 endif |
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
201 endif |
0 | 202 endif |
203 | |
204 ifeq ($(JSS_SUP_JSSMOD),yes) | |
205 ifeq ($(JSS_SUP_XM),yes) | |
206 BINARIES+= xm2jss | |
207 endif | |
208 endif | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
209 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
210 endif |
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
211 |
0 | 212 |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
213 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
|
214 |
0 | 215 endif |
216 | |
166
112eb95f2fba
Improve build system granularity.
Matti Hamalainen <ccr@tnsp.org>
parents:
164
diff
changeset
|
217 |
0 | 218 ### |
219 ### Rest of the rules | |
220 ### | |
334 | 221 CFLAGS += -g -W -Wall -DHAVE_STRING_H $(EXTRA_CFLAGS) |
0 | 222 CXXFLAGS=$(CFLAGS) |
223 | |
224 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
|
225 DM_LDFLAGS += $(LDFLAGS) |
0 | 226 |
227 | |
228 DMLIB_A=$(OBJPATH)dmlib.a | |
229 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
|
230 dmargs.o dmvecmat.o dmperlin.o dmimage.o \ |
344 | 231 dmwav.o dmengine.o dmtimeline.o dmtimelinew.o dmq3d.o |
0 | 232 |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
233 ifeq ($(DM_BUILD_TESTS),yes) |
0 | 234 BINARIES += vecmattest fptest |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
235 endif |
0 | 236 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
237 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) |
0 | 238 |
239 all: $(TARGETS) | |
240 | |
241 ### | |
242 ### Generic rules | |
243 ### | |
344 | 244 $(OBJPATH)gtk%.o: $(DMLIB)gtk%.c $(DMLIB)gtk%.h |
245 @echo " CC $+" | |
246 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) $(GTK_CFLAGS) | |
247 | |
248 | |
322
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
249 $(OBJPATH)%.d: $(DMLIB)%.c |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
250 @echo > $@ |
148e981739f4
Add the (unfinished) timeline code to the build.
Matti Hamalainen <ccr@tnsp.org>
parents:
308
diff
changeset
|
251 @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
|
252 |
0 | 253 |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
254 $(OBJPATH)%.o: $(DMLIB)%.c $(DMLIB)%.h |
0 | 255 @echo " CC $<" |
256 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
257 | |
1
6e169d87d963
Improve buildsystem to support more flexible builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
258 $(OBJPATH)%.o: $(DMLIB)%.c |
0 | 259 @echo " CC $<" |
260 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
261 | |
3 | 262 $(OBJPATH)%.o: %.c %.h |
263 @echo " CC $<" | |
264 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
265 | |
266 $(OBJPATH)%.o: %.c | |
267 @echo " CC $<" | |
268 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
269 | |
0 | 270 |
271 ### | |
272 ### dmlib rules | |
273 ### | |
274 | |
49
033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
Matti Hamalainen <ccr@tnsp.org>
parents:
34
diff
changeset
|
275 $(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
|
276 (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
|
277 |
163 | 278 $(OBJPATH)dmimage.o: $(DMLIB)dmimage.c $(DMLIB)stb_image.c $(DMLIB)dmimage.h |
0 | 279 @echo " CC $+" |
280 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
281 | |
192 | 282 $(OBJPATH)jssmod.o: $(DMLIB)jssmod.c $(DMLIB)jssmod.h $(DMLIB)jss.h |
283 @echo " CC $+" | |
284 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
285 | |
286 $(OBJPATH)jssplr.o: $(DMLIB)jssplr.c $(DMLIB)jssplr.h $(DMLIB)jss.h $(DMLIB)jssmod.h $(DMLIB)jssmix.h | |
287 @echo " CC $+" | |
288 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
289 | |
290 $(OBJPATH)jssmix.o: $(DMLIB)jssmix.c $(DMLIB)jssmix.h $(DMLIB)jss.h | |
291 @echo " CC $+" | |
292 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
293 | |
163 | 294 $(OBJPATH)dmblit.o: $(DMLIB)dmblit.c $(DMLIB)dmscaledblit.h $(DMLIB)dmunscaledblit.h $(DMLIB)dmblitfunc.h $(DMLIB)dmlib.h |
0 | 295 @echo " CC $+" |
296 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
297 | |
232
79dac918c81e
Modularize line clipping etc. a lot, and export all line drawing and
Matti Hamalainen <ccr@tnsp.org>
parents:
207
diff
changeset
|
298 $(OBJPATH)dmline.o: $(DMLIB)dmline.c $(DMLIB)dmdrawline.h $(DMLIB)dmlinefunc.h $(DMLIB)dmlineclip.h $(DMLIB)dmlib.h |
0 | 299 @echo " CC $+" |
300 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
301 | |
163 | 302 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c $(DMLIB)dmlib.h |
0 | 303 @echo " CC $+" |
304 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | |
305 | |
306 | |
2
9a8355b47e1c
Various improvements in the build system to add granularity
Matti Hamalainen <ccr@tnsp.org>
parents:
1
diff
changeset
|
307 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
0 | 308 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" |
309 @$(AR) cru $@ $+ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) | |
310 @$(RANLIB) $@ | |
311 | |
28
920fb22cffcf
Fix build process for jmix_c.c dependancy.
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
312 |
0 | 313 |
314 ### | |
315 ### Tests and binaries | |
316 ### | |
317 $(BINPATH)vview$(EXEEXT): $(OBJPATH)vview.o $(DMLIB_A) | |
318 @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
|
319 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 320 |
321 $(BINPATH)blittest$(EXEEXT): $(OBJPATH)blittest.o $(DMLIB_A) | |
322 @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
|
323 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 324 |
325 $(BINPATH)efu$(EXEEXT): $(OBJPATH)efu.o $(DMLIB_A) | |
326 @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
|
327 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 328 |
329 $(BINPATH)vptest$(EXEEXT): $(OBJPATH)vptest.o $(DMLIB_A) | |
330 @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
|
331 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
0 | 332 |
333 $(BINPATH)%test$(EXEEXT): $(OBJPATH)%test.o $(DMLIB_A) | |
334 @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
|
335 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 336 |
337 $(BINPATH)packed$(EXEEXT): $(OBJPATH)packed.o $(DMLIB_A) | |
338 @echo " LINK $+" | |
163 | 339 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 340 |
341 $(BINPATH)mod2wav$(EXEEXT): $(OBJPATH)mod2wav.o $(DMLIB_A) | |
342 @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
|
343 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) -lm |
0 | 344 |
345 $(BINPATH)xm2jss$(EXEEXT): $(OBJPATH)xm2jss.o $(DMLIB_A) | |
346 @echo " LINK $+" | |
163 | 347 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 348 |
349 $(BINPATH)viewmod$(EXEEXT): $(OBJPATH)viewmod.o $(DMLIB_A) | |
350 @echo " LINK $+" | |
163 | 351 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) |
0 | 352 |
160 | 353 $(BINPATH)fontconv$(EXEEXT): $(OBJPATH)fontconv.o $(DMLIB_A) |
354 @echo " LINK $+" | |
289
4d053d9e6439
Add SDL_CFLAGS to fontconv build.
Matti Hamalainen <ccr@tnsp.org>
parents:
285
diff
changeset
|
355 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) -lSDL_ttf |
160 | 356 |
0 | 357 $(BINPATH)testpl$(EXEEXT): $(OBJPATH)testpl.o $(DMLIB_A) |
358 @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
|
359 @$(CC) -o $@ $(filter %.o %.a,$+) $(DM_LDFLAGS) $(SDL_LDFLAGS) |
0 | 360 |
164
a49d431ff40e
Add a hardcoded font to PPL.
Matti Hamalainen <ccr@tnsp.org>
parents:
163
diff
changeset
|
361 $(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
|
362 @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
|
363 @$(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
|
364 |
308
c4d52b8e3be4
Fix building of demo executable, the order of objects for linking was incorrect.
Matti Hamalainen <ccr@tnsp.org>
parents:
304
diff
changeset
|
365 $(BINPATH)$(DEMO_BIN)$(EXEEXT): $(OBJPATH)$(DEMO_BIN).o $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) |
304
9a945c87f5ec
Add special rule for demo executables.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
366 @echo " LINK $+" |
9a945c87f5ec
Add special rule for demo executables.
Matti Hamalainen <ccr@tnsp.org>
parents:
298
diff
changeset
|
367 @$(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
|
368 |
344 | 369 ### |
370 ### Editor targets | |
371 ### | |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
372 $(EDITOR_PRO): $(DMLIB)Makefile.gen config.mak $(addprefix $(DMLIB),$(EDITOR_SOURCES)) $(addprefix $(OBJPATH),$(DEMO_OBJS)) $(DMLIB_A) |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
373 @echo " CREATE $@" |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
374 @echo > $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
375 @echo "POST_TARGETDEPS = $(filter %.o %.a,$+)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
376 @echo "QMAKE_CXXFLAGS += $(DM_CFLAGS) $(SDL_CFLAGS)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
377 @echo "QMAKE_LIBS += $(DM_LDFLAGS) $(SDL_LDFLAGS)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
378 @echo "MAKEFILE = $(EDITOR_MAKEFILE)" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
379 @echo "CONFIG += debug" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
380 @echo "QT += core gui opengl" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
381 @echo "TARGET = editor" >> $@ |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
382 @echo "TEMPLATE = app" >> $@ |
370
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
383 @echo "SOURCES = $(addprefix $(DMLIB),$(EDITOR_SOURCES))" >> $@ |
7e640b1f990b
Fix build process for out of tree builds.
Matti Hamalainen <ccr@tnsp.org>
parents:
357
diff
changeset
|
384 @echo "HEADERS = $(addprefix $(DMLIB),$(EDITOR_HEADERS))" >> $@ |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
385 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
386 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
387 $(EDITOR_MAKEFILE): $(EDITOR_PRO) |
355
dbc62ba3f132
Work towards Qt-based editor instead.
Matti Hamalainen <ccr@tnsp.org>
parents:
353
diff
changeset
|
388 @echo " QMAKE $+" |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
389 @qmake -Wall $< |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
390 |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
391 $(BINPATH)ed_$(DEMO_BIN)$(EXEEXT): $(EDITOR_MAKEFILE) |
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
392 @make -f $< |
344 | 393 |
0 | 394 |
395 ### | |
396 ### Special targets | |
397 ### | |
398 clean: | |
357
1b8362a26692
Work towards Qt based editor.
Matti Hamalainen <ccr@tnsp.org>
parents:
355
diff
changeset
|
399 $(RM) $(TARGETS) $(OBJPATH)*.o $(EDITOR_MAKEFILE) $(EDITOR_PRO) |
0 | 400 |