source: trunk/makefile.inc @ 552

Revision 552, 5.6 KB checked in by phyrephox, 5 years ago (diff)

maintenance: moved the optional stuff to the new buildconf.inc, for easier parsing and/or modifying (whim - maybe in your CHDK shell?) - see http://chdk.setepontos.com/index.php/topic,2509.msg23423.html#msg23423
now when you "undef" the stuff, the files will not be compiled/linked anymore (as they did with my previous committ, thus you didnt "save" as much binary space as projected)

  • Property svn:eol-style set to LF
Line 
1VER=CHDK
2
3PLATFORM=s3is
4PLATFORMSUB=100a
5
6#PLATFORM=a620
7#PLATFORMSUB=100f
8
9#PLATFORM=ixus40_sd300
10#PLATFORMSUB=100k
11
12#PLATFORM=ixus40_sd300
13#PLATFORMSUB=100j
14
15#PLATFORM=sx100is
16#PLATFORMSUB=100c
17
18#PLATFORM=sx100is
19#PLATFORMSUB=100b
20
21#PLATFORM=ixus50_sd400
22#PLATFORMSUB=101a
23
24#PLATFORM=ixus50_sd400
25#PLATFORMSUB=101b
26
27#PLATFORM=ixus750_sd550
28#PLATFORMSUB=100f
29
30#PLATFORM=ixus750_sd550
31#PLATFORMSUB=100g
32
33#PLATFORM=a640
34#PLATFORMSUB=100b
35
36#PLATFORM=a700
37#PLATFORMSUB=100b
38
39#PLATFORM=a710
40#PLATFORMSUB=100a
41
42#PLATFORM=s2is
43#PLATFORMSUB=100e
44
45#PLATFORM=s2is
46#PLATFORMSUB=100f
47
48#PLATFORM=s2is
49#PLATFORMSUB=100g
50
51#PLATFORM=g7
52#PLATFORMSUB=100e
53
54#PLATFORM=g7
55#PLATFORMSUB=100g
56
57#PLATFORM=g7
58#PLATFORMSUB=100i
59
60#PLATFORM=g7
61#PLATFORMSUB=100j
62
63#PLATFORM=a530
64#PLATFORMSUB=100a
65
66#PLATFORM=a540
67#PLATFORMSUB=100b
68
69#PLATFORM=a560
70#PLATFORMSUB=100a
71
72#PLATFORM=a570
73#PLATFORMSUB=100a
74
75#PLATFORM=a570
76#PLATFORMSUB=100e
77
78#PLATFORM=a610
79#PLATFORMSUB=100e
80
81#PLATFORM=a610
82#PLATFORMSUB=100f
83
84#PLATFORM=ixus700_sd500
85#PLATFORMSUB=101a
86
87#PLATFORM=ixus700_sd500
88#PLATFORMSUB=101b
89
90#PLATFORM=ixus800_sd700
91#PLATFORMSUB=100b
92
93#PLATFORM=ixus800_sd700
94#PLATFORMSUB=101b
95
96#PLATFORM=a720
97#PLATFORMSUB=100c
98
99#PLATFORM=ixus850_sd800
100#PLATFORMSUB=100e
101
102#PLATFORM=ixus860_sd870
103#PLATFORMSUB=100c
104
105#PLATFORM=ixus950_sd850
106#PLATFORMSUB=100c
107
108#PLATFORM=ixus55_sd450
109#PLATFORMSUB=100b
110
111#PLATFORM=ixus55_sd450
112#PLATFORMSUB=100c
113
114#PLATFORM=ixus55_sd450
115#PLATFORMSUB=100d
116
117#PLATFORM=ixus60_sd600
118#PLATFORMSUB=100a
119
120#PLATFORM=ixus60_sd600
121#PLATFORMSUB=100d
122
123#PLATFORM=ixus70_sd1000
124#PLATFORMSUB=100c
125
126#PLATFORM=ixus70_sd1000
127#PLATFORMSUB=101b
128
129#PLATFORM=ixus70_sd1000
130#PLATFORMSUB=102a
131
132#PLATFORM=a650
133#PLATFORMSUB=100d
134
135#PLATFORM=a450
136#PLATFORMSUB=100d
137
138#PLATFORM=a460
139#PLATFORMSUB=100d
140
141#PLATFORM=a550
142#PLATFORMSUB=100c
143
144#PLATFORM=a630
145#PLATFORMSUB=100c
146
147#PLATFORM=s5is
148#PLATFORMSUB=101a
149
150#PLATFORM=s5is
151#PLATFORMSUB=101b
152
153#PLATFORM=ixus65_sd630
154#PLATFORMSUB=100a
155
156#PLATFORM=tx1
157#PLATFORMSUB=100g
158
159#PLATFORM=tx1
160#PLATFORMSUB=101b
161
162#PLATFORM=ixus960_sd950
163#PLATFORM=100d
164
165
166
167
168MEMISOSIZE="(&_end-&_start)"
169include $(topdir)buildconf.inc
170include $(topdir)version.inc
171include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc
172
173SILENT=SILENT
174
175NOZERO100K=TRUE
176
177##########################################################################
178##########################################################################
179##########################################################################
180
181ESED = sed -r
182
183ifndef OSTYPE
184  HOSTPLATFORM:=$(patsubst MINGW%,MINGW,$(shell uname -s))
185  ifeq ($(HOSTPLATFORM),MINGW)
186    OSTYPE = Windows
187    EXE = .exe
188    SH = sh
189    DEVNULL = NUL
190    SORT = $(dir $(shell which uniq.exe | sed s/\\\\/\\\//g))/sort.exe
191  else
192    ifeq ($(HOSTPLATFORM),Linux)
193      OSTYPE = Linux
194      EXE =
195      SH =
196      DEVNULL = /dev/null
197      SORT = sort
198    else
199      ifeq ($(HOSTPLATFORM),Darwin)
200        OSTYPE = Darwin
201        EXE =
202        SH =
203        DEVNULL = /dev/null
204        SORT = sort
205        ESED = sed -E
206      else
207        OSTYPE = Other
208        EXE =
209        SH =
210        DEVNULL = /dev/null
211        SORT = sort
212      endif
213    endif
214  endif
215else
216  EXE =
217  SH =
218  DEVNULL = /dev/null
219  SORT = sort
220endif
221
222##########################################################################
223##########################################################################
224##########################################################################
225
226HOSTCC=gcc
227HOSTCFLAGS=-g -O2 -Wall
228
229PAKWIF=$(topdir)tools/pakwif$(EXE)
230
231##########################################################################
232
233CC=arm-elf-gcc
234OBJCOPY=arm-elf-objcopy
235OBJDUMP=arm-elf-objdump
236STRIP=arm-elf-strip
237NM=arm-elf-nm
238AR=arm-elf-ar
239RANLIB=arm-elf-ranlib
240SIZE=arm-elf-size
241
242# -msoft-float is used per default but object files are marked as hard-float
243CFLAGS=-fno-inline -Os -fno-strict-aliasing
244# flags for gcc v4
245# CFLAGS+=-mtune=arm946e-s
246CTHUMB=-mthumb
247CFLAGS+=-mthumb-interwork
248CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)
249CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1
250CFLAGS+=-Wall -Wno-unused -Wno-format
251LDFLAGS=-L$(topdir)lib/math -L$(topdir)lib/font
252LDFLAGS+=-L$(topdir)lib/libc -L$(topdir)lib/ubasic
253LDFLAGS+=-L$(topdir)platform/$(PLATFORM) -L$(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)
254
255##########################################################################
256
257default: all
258
259ifndef SKIPBUILDRULES
260
261%.o: %.c
262        @echo $< \-\> $@
263        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
264%.o: %.S
265        @echo $< \-\> $@
266        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
267%.a:
268        @echo $^ \-\> $@
269        $(AR) rcs $@ $^
270
271.dep/%.d: %.c .dep
272        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
273            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
274            rm -f $@.$$$$
275
276.dep/%.d: %.S .dep
277        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
278            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
279            rm -f $@.$$$$
280
281endif
282
283all: all-recursive
284clean: clean-recursive
285distclean: distclean-recursive
286
287.dep:
288        mkdir .dep
289
290clean-recursive:
291        @for i in $(SUBDIRS); do \
292            echo \>\> Cleaning in $(FOLDER)$$i; \
293            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" clean || exit 1; \
294        done
295
296distclean-recursive:
297        @for i in $(SUBDIRS); do \
298            echo \>\> Distcleaning in $(FOLDER)$$i; \
299            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" distclean || exit 1; \
300        done
301
302all-recursive:
303        @for i in $(SUBDIRS); do \
304            echo \>\> Entering to $(FOLDER)$$i; \
305            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" || exit 1; \
306            echo \<\< Leaving $(FOLDER)$$i; \
307        done
308
309depend-recursive:
310        @for i in $(SUBDIRS); do \
311            echo \>\> Entering to $(FOLDER)$$i; \
312            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" depend || exit 1; \
313            echo \<\< Leaving $(FOLDER)$$i; \
314        done
315
316ifdef SILENT
317.SILENT:
318endif
Note: See TracBrowser for help on using the repository browser.