Mercurial > hg > dmlib
comparison Makefile.gen @ 2:9a8355b47e1c
Various improvements in the build system to add granularity
for building different parts of the engine and tools.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 28 Sep 2012 02:20:31 +0300 |
parents | 6e169d87d963 |
children | 82fc316e70d0 |
comparison
equal
deleted
inserted
replaced
1:6e169d87d963 | 2:9a8355b47e1c |
---|---|
5 | 5 |
6 ifeq ($(EXTRA_CFLAGS),) | 6 ifeq ($(EXTRA_CFLAGS),) |
7 EXTRA_CFLAGS=-march=core2 | 7 EXTRA_CFLAGS=-march=core2 |
8 endif | 8 endif |
9 | 9 |
10 ifneq ($(DMLIB),) | |
11 DM_CFLAGS += -I$(DMLIB) | |
12 endif | |
10 | 13 |
11 ### | 14 ### |
12 ### Form additional compilation defines based on settings | 15 ### Form additional compilation defines based on settings |
13 ### | 16 ### |
14 | 17 |
32 ### | 35 ### |
33 ifeq ($(DMRES_PACKFS),yes) | 36 ifeq ($(DMRES_PACKFS),yes) |
34 DM_CFLAGS += -DDMRES_PACKFS | 37 DM_CFLAGS += -DDMRES_PACKFS |
35 DMLIB_OBJS += dmpack.o dmpackutil.o | 38 DMLIB_OBJS += dmpack.o dmpackutil.o |
36 DM_LDFLAGS += -lz | 39 DM_LDFLAGS += -lz |
40 ifeq ($(DM_BUILD_TOOLS),yes) | |
37 BINARIES += packed | 41 BINARIES += packed |
42 endif | |
38 endif | 43 endif |
39 | 44 |
40 ifeq ($(DMRES_STDIO),yes) | 45 ifeq ($(DMRES_STDIO),yes) |
41 DM_CFLAGS += -DDMRES_STDIO | 46 DM_CFLAGS += -DDMRES_STDIO |
42 endif | 47 endif |
63 | 68 |
64 ifeq ($(DM_GFX_TTF_TEXT),yes) | 69 ifeq ($(DM_GFX_TTF_TEXT),yes) |
65 DM_CFLAGS += -DDM_GFX_TTF_TEXT | 70 DM_CFLAGS += -DDM_GFX_TTF_TEXT |
66 DMLIB_OBJS += dmtext.o | 71 DMLIB_OBJS += dmtext.o |
67 | 72 |
73 ifeq ($(DM_BUILD_TESTS),yes) | |
68 ifeq ($(DM_GFX_BLITS),yes) | 74 ifeq ($(DM_GFX_BLITS),yes) |
69 BINARIES += blittest vview vptest efu | 75 BINARIES += blittest vview vptest efu |
76 endif | |
70 endif | 77 endif |
71 endif | 78 endif |
72 | 79 |
73 ifeq ($(DM_GFX_8BIT),yes) | 80 ifeq ($(DM_GFX_8BIT),yes) |
74 DM_CFLAGS += -DDM_GFX_8BIT | 81 DM_CFLAGS += -DDM_GFX_8BIT |
121 DMLIB_OBJS+= jloadjss.o | 128 DMLIB_OBJS+= jloadjss.o |
122 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) | 129 DM_CFLAGS+=-DJSS_SUP_JSSMOD $(JSSMOD_FLAGS) |
123 endif | 130 endif |
124 | 131 |
125 ifeq ($(DM_USE_C),yes) | 132 ifeq ($(DM_USE_C),yes) |
126 TARGETS += jmix_c.c | 133 TARGETS += $(DMLIB)jmix_c.c |
127 DMLIB_OBJS+=jmix_c.o | 134 DMLIB_OBJS+=jmix_c.o |
128 | 135 |
129 endif | 136 endif |
130 | 137 |
131 #ifeq ($(DM_USE_SIMD),yes) | 138 #ifeq ($(DM_USE_SIMD),yes) |
132 #DMLIB_OBJS+=jmix_simd.o | 139 #DMLIB_OBJS+=jmix_simd.o |
133 #endif | 140 #endif |
134 | 141 |
135 | 142 |
136 ### Dependancies | 143 ### Dependancies |
144 ifeq ($(DM_BUILD_TOOLS),yes) | |
145 ifeq ($(DMRES_STDIO),yes) | |
137 ifeq ($(SUP_MODLOAD),yes) | 146 ifeq ($(SUP_MODLOAD),yes) |
138 BINARIES+= viewmod mod2wav testpl | 147 BINARIES+= viewmod mod2wav testpl |
139 endif | 148 endif |
140 | |
141 | 149 |
142 ifeq ($(JSS_SUP_JSSMOD),yes) | 150 ifeq ($(JSS_SUP_JSSMOD),yes) |
143 ifeq ($(JSS_SUP_XM),yes) | 151 ifeq ($(JSS_SUP_XM),yes) |
144 BINARIES+= xm2jss | 152 BINARIES+= xm2jss |
145 endif | 153 endif |
146 endif | 154 endif |
155 endif | |
156 endif | |
157 | |
147 | 158 |
148 endif | 159 endif |
149 | 160 |
150 ### | 161 ### |
151 ### Rest of the rules | 162 ### Rest of the rules |
159 | 170 |
160 DMLIB_A=$(OBJPATH)dmlib.a | 171 DMLIB_A=$(OBJPATH)dmlib.a |
161 DMLIB_OBJS += dmfile.o dmlib.o dmlerp.o dmstring.o \ | 172 DMLIB_OBJS += dmfile.o dmlib.o dmlerp.o dmstring.o \ |
162 dmargs.o dmvecmat.o dmperlin.o dmimage.o dmres.o | 173 dmargs.o dmvecmat.o dmperlin.o dmimage.o dmres.o |
163 | 174 |
175 ifeq ($(DM_BUILD_TESTS),yes) | |
164 BINARIES += vecmattest fptest | 176 BINARIES += vecmattest fptest |
177 endif | |
165 | 178 |
166 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) | 179 TARGETS += $(DMLIB_A) $(addprefix $(BINPATH),$(addsuffix $(EXEEXT),$(BINARIES))) |
167 | 180 |
168 all: $(TARGETS) | 181 all: $(TARGETS) |
169 | 182 |
203 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c | 216 $(OBJPATH)dmargs.o: $(DMLIB)dmargs.c $(DMLIB)dmargs.h $(DMLIB)dmargs_int.c |
204 @echo " CC $+" | 217 @echo " CC $+" |
205 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) | 218 @$(CC) $(CFLAGS) -c -o $@ $< $(DM_CFLAGS) |
206 | 219 |
207 | 220 |
208 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) Makefile.gen config.mak | 221 $(DMLIB_A): $(addprefix $(OBJPATH),$(DMLIB_OBJS)) $(DMLIB)Makefile.gen config.mak |
209 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" | 222 @echo " AR $@ $(addprefix $(OBJPATH),$(DMLIB_OBJS))" |
210 @$(AR) cru $@ $+ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) | 223 @$(AR) cru $@ $+ $(addprefix $(OBJPATH),$(DMLIB_OBJS)) |
211 @$(RANLIB) $@ | 224 @$(RANLIB) $@ |
212 | 225 |
213 | 226 |