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