root/branches/msl/makefile.inc

Revision 293, 8.4 KB (checked in by msl, 2 years ago)

Aktualisierung auf Rev. 882 offizieller Trunk

*  http://tools.assembla.com/chdk/changeset/882/trunk
* Betrifft G11 1.00l
* Version 1.00l hinzugefügt, Danke ERR99

Line 
1VER=CHDK
2
3PLATFORM=s3is
4PLATFORMSUB=100a
5
6#PLATFORM=a620
7#PLATFORMSUB=100f
8
9#PLATFORM=a610
10#PLATFORMSUB=100e
11
12#PLATFORM=ixus40_sd300
13#PLATFORMSUB=100k
14
15#PLATFORM=ixus40_sd300
16#PLATFORMSUB=100j
17
18#PLATFORM=sx100is
19#PLATFORMSUB=100c
20
21#PLATFORM=sx10
22#PLATFORMSUB=101a
23
24#PLATFORM=sx1
25#PLATFORMSUB=200h
26
27#PLATFORM=sx100is
28#PLATFORMSUB=100b
29
30#PLATFORM=sx110is
31#PLATFORMSUB=100b
32
33#PLATFORM=sx200is
34#PLATFORMSUB=100c
35# note, 100d compatible with 100c
36
37#PLATFORM=ixus50_sd400
38#PLATFORMSUB=101a
39
40#PLATFORM=ixus50_sd400
41#PLATFORMSUB=101b
42
43#PLATFORM=ixus750_sd550
44#PLATFORMSUB=100f
45
46#PLATFORM=ixus750_sd550
47#PLATFORMSUB=100g
48
49#PLATFORM=a640
50#PLATFORMSUB=100b
51
52#PLATFORM=a700
53#PLATFORMSUB=100b
54
55#PLATFORM=a710
56#PLATFORMSUB=100a
57
58#PLATFORM=s2is
59#PLATFORMSUB=100e
60
61#PLATFORM=s2is
62#PLATFORMSUB=100f
63
64#PLATFORM=s2is
65#PLATFORMSUB=100g
66
67#PLATFORM=g7
68#PLATFORMSUB=100e
69
70#PLATFORM=g7
71#PLATFORMSUB=100g
72
73#PLATFORM=g7
74#PLATFORMSUB=100i
75
76#PLATFORM=g7
77#PLATFORMSUB=100j
78
79#PLATFORM=g9
80#PLATFORMSUB=100d
81
82#PLATFORM=g9
83#PLATFORMSUB=100g
84
85#PLATFORM=a530
86#PLATFORMSUB=100a
87
88#PLATFORM=a540
89#PLATFORMSUB=100b
90
91#PLATFORM=a560
92#PLATFORMSUB=100a
93
94#PLATFORM=a570
95#PLATFORMSUB=101a
96
97#PLATFORM=a570
98#PLATFORMSUB=100e
99
100#PLATFORM=a610
101#PLATFORMSUB=100f
102
103#PLATFORM=ixus700_sd500
104#PLATFORMSUB=101a
105
106#PLATFORM=ixus700_sd500
107#PLATFORMSUB=101b
108
109#PLATFORM=ixus800_sd700
110#PLATFORMSUB=100b
111
112#PLATFORM=ixus800_sd700
113#PLATFORMSUB=101b
114
115#PLATFORM=a720
116#PLATFORMSUB=100c
117
118#PLATFORM=ixus850_sd800
119#PLATFORMSUB=100e
120
121#PLATFORM=ixus860_sd870
122#PLATFORMSUB=100c
123
124#PLATFORM=ixus870_sd880
125#PLATFORMSUB=100e
126
127#PLATFORM=ixus870_sd880
128#PLATFORMSUB=101a
129
130#PLATFORM=ixus870_sd880
131#PLATFORMSUB=102b
132
133#PLATFORM=ixus80_sd1100
134#PLATFORMSUB=100c
135
136#PLATFORM=ixus80_sd1100
137#PLATFORMSUB=101a
138
139#PLATFORM=ixus950_sd850
140#PLATFORMSUB=100c
141
142#PLATFORM=ixus55_sd450
143#PLATFORMSUB=100b
144
145#PLATFORM=ixus55_sd450
146#PLATFORMSUB=100c
147
148#PLATFORM=ixus55_sd450
149#PLATFORMSUB=100d
150
151#PLATFORM=ixus60_sd600
152#PLATFORMSUB=100a
153
154#PLATFORM=ixus60_sd600
155#PLATFORMSUB=100d
156
157#PLATFORM=ixus70_sd1000
158#PLATFORMSUB=100c
159
160#PLATFORM=ixus70_sd1000
161#PLATFORMSUB=101b
162
163#PLATFORM=ixus70_sd1000
164#PLATFORMSUB=102a
165
166#PLATFORM=a650
167#PLATFORMSUB=100d
168
169#PLATFORM=a450
170#PLATFORMSUB=100d
171
172#PLATFORM=a460
173#PLATFORMSUB=100d
174
175#PLATFORM=a550
176#PLATFORMSUB=100c
177
178#PLATFORM=a590
179#PLATFORMSUB=100e
180
181#PLATFORM=a590
182#PLATFORMSUB=101b
183
184#PLATFORM=a630
185#PLATFORMSUB=100c
186
187#PLATFORM=s5is
188#PLATFORMSUB=101a
189
190#PLATFORM=s5is
191#PLATFORMSUB=101b
192
193#PLATFORM=ixus65_sd630
194#PLATFORMSUB=100a
195
196#PLATFORM=tx1
197#PLATFORMSUB=100g
198
199#PLATFORM=tx1
200#PLATFORMSUB=101b
201
202#PLATFORM=ixus960_sd950
203#PLATFORMSUB=100d
204
205#PLATFORM=ixus970_sd890
206#PLATFORMSUB=100b
207
208#PLATFORM=ixus970_sd890
209#PLATFORMSUB=100c
210
211#PLATFORM=ixus970_sd890
212#PLATFORMSUB=100f
213
214#PLATFORM=ixus75_sd750
215#PLATFORMSUB=100b
216
217#PLATFORM=ixus75_sd750
218#PLATFORMSUB=101a
219
220#PLATFORM=ixus75_sd750
221#PLATFORMSUB=102a
222
223#PLATFORM=ixusizoom_sd30
224#PLATFORMSUB=100g
225
226#PLATFORM=a470
227#PLATFORMSUB=102c
228
229#PLATFORM=a470
230#PLATFORMSUB=101b
231
232#PLATFORM=ixus980_sd990
233#PLATFORMSUB=100e
234
235#PLATFORM=ixus980_sd990
236#PLATFORMSUB=101b
237
238#PLATFORM=a2000
239#PLATFORMSUB=100c
240
241#PLATFORM=ixus100_sd780
242#PLATFORMSUB=100c
243
244#PLATFORM=ixus90_sd790
245#PLATFORMSUB=100c
246
247#PLATFORM=ixus90_sd790
248#PLATFORMSUB=100d
249
250#PLATFORM=g11
251#PLATFORMSUB=100f
252
253#PLATFORM=g11
254#PLATFORMSUB=100j
255
256#PLATFORM=g11
257#PLATFORMSUB=100l
258
259MEMISOSIZE="(&_end-&_start)"
260# override this on the command line or in buildconf to use PRIMARY.BIN from a different tree
261# should be an absolute path
262PRIMARY_ROOT=$(topdir)platform
263include $(topdir)buildconf.inc
264# optional local version of buildconf.inc, not in SVN so it can be used in autobuilds
265# and to avoid getting accidentally included in svn diffs
266# you may also set your default camera here
267-include $(topdir)localbuildconf.inc
268include $(topdir)version.inc
269include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc
270ifdef OPT_FI2
271include $(topdir)/platform/fi2.inc
272endif
273
274SILENT=SILENT
275
276NOZERO100K=TRUE
277
278##########################################################################
279##########################################################################
280##########################################################################
281
282ESED = sed -r
283
284# keep sort order consistent
285export LC_ALL=C
286
287ifndef OSTYPE
288  HOSTPLATFORM:=$(patsubst MINGW%,MINGW,$(shell uname -s))
289  ifeq ($(HOSTPLATFORM),MINGW)
290    OSTYPE = Windows
291    EXE = .exe
292    SH = sh
293    DEVNULL = NUL
294        OLDSEPARATOR = \\\\
295        NEWSEPARATOR = /
296        SORT := $(dir $(shell which uniq.exe | sed 's_$(OLDSEPARATOR)_$(NEWSEPARATOR)_g'))/sort.exe
297  else
298    ifeq ($(HOSTPLATFORM),Linux)
299      OSTYPE = Linux
300      EXE =
301      SH =
302      DEVNULL = /dev/null
303      SORT = sort
304    else
305      ifeq ($(HOSTPLATFORM),Darwin)
306        OSTYPE = Darwin
307        EXE =
308        SH =
309        DEVNULL = /dev/null
310        SORT = sort
311        ESED = sed -E
312      else
313        OSTYPE = Other
314        EXE =
315        SH =
316        DEVNULL = /dev/null
317        SORT = sort
318      endif
319    endif
320  endif
321else
322  EXE =
323  SH =
324  DEVNULL = /dev/null
325  SORT = sort
326endif
327
328##########################################################################
329##########################################################################
330##########################################################################
331
332HOSTCC=gcc
333HOSTCFLAGS=-g -O2 -Wall
334HOSTAR=ar
335
336PAKWIF=$(topdir)tools/pakwif$(EXE)
337PAKFI2=$(topdir)tools/packfi2/fi2enc$(EXE)
338ENCODE_DISKBOOT=$(topdir)tools/dancingbits$(EXE)
339
340##########################################################################
341
342CC=arm-elf-gcc
343OBJCOPY=arm-elf-objcopy
344OBJDUMP=arm-elf-objdump
345STRIP=arm-elf-strip
346NM=arm-elf-nm
347AR=arm-elf-ar
348RANLIB=arm-elf-ranlib
349SIZE=arm-elf-size
350
351GCC_VERSION=$(shell $(CC) -dumpversion)
352GCC_VERSION_MAJOR=$(firstword $(subst ., ,$(GCC_VERSION)))
353
354# -msoft-float is used per default but object files are marked as hard-float
355CFLAGS=-fno-inline -Os -fno-strict-aliasing
356# flags for gcc v4
357# CFLAGS+=-mcpu=arm946e-s
358# for gcc v3, we use to allow use of strd etc
359ifeq ($(GCC_VERSION_MAJOR),3)
360    CFLAGS+=-march=armv5te
361else
362    ifeq ($(GCC_VERSION_MAJOR),4)
363        # TODO should be -mcpu, but breaks things ATM
364        CFLAGS+=-mtune=arm946e-s
365    endif
366endif
367
368
369CTHUMB=-mthumb
370CFLAGS+=-mthumb-interwork
371CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)
372CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DPLATFORMID=$(PLATFORMID) -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1
373CFLAGS+=-Wall -Wno-unused -Wno-format
374LDFLAGS=-L$(topdir)lib/math -L$(topdir)lib/font
375LDFLAGS+=-L$(topdir)lib/libc -L$(topdir)lib/ubasic
376LDFLAGS+=-L$(topdir)platform/$(PLATFORM) -L$(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)
377
378ifdef OPT_DEBUGGING
379CFLAGS+=-DOPT_DEBUGGING
380endif
381
382ifdef OPT_WARNINGS
383     ifeq ($(GCC_VERSION_MAJOR),3)
384           CFLAGS+=-Wwrite-strings -Wsign-compare -Wunused -Wno-unused-parameter
385           HOSTCFLAGS+=-Wwrite-strings -Wsign-compare -Wunused -Wno-unused-parameter
386     endif
387     ifeq ($(GCC_VERSION_MAJOR),4)
388           CFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-parameter
389           #HOSTCFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-parameter
390     endif
391endif
392
393##########################################################################
394
395default: all
396
397ifndef SKIPBUILDRULES
398
399%.o: %.c
400        @echo $< \-\> $@
401        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
402%.o: %.S
403        @echo $< \-\> $@
404        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
405%.a:
406        @echo $^ \-\> $@
407        $(AR) rcs $@ $^
408
409.dep/%.d: %.c .dep
410        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
411            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
412            rm -f $@.$$$$
413
414.dep/%.d: %.S .dep
415        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
416            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
417            rm -f $@.$$$$
418
419endif
420
421all: all-recursive
422clean: clean-recursive
423distclean: distclean-recursive
424
425.dep:
426        mkdir .dep
427
428clean-recursive:
429        @for i in $(SUBDIRS); do \
430            echo \>\> Cleaning in $(FOLDER)$$i; \
431            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" clean || exit 1; \
432        done
433
434distclean-recursive:
435        @for i in $(SUBDIRS); do \
436            echo \>\> Distcleaning in $(FOLDER)$$i; \
437            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" distclean || exit 1; \
438        done
439
440all-recursive:
441        @for i in $(SUBDIRS); do \
442            echo \>\> Entering to $(FOLDER)$$i; \
443            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" || exit 1; \
444            echo \<\< Leaving $(FOLDER)$$i; \
445        done
446
447depend-recursive:
448        @for i in $(SUBDIRS); do \
449            echo \>\> Entering to $(FOLDER)$$i; \
450            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" depend || exit 1; \
451            echo \<\< Leaving $(FOLDER)$$i; \
452        done
453
454ifdef SILENT
455.SILENT:
456endif
Note: See TracBrowser for help on using the browser.