source: trunk/makefile.inc @ 938

Revision 938, 8.5 KB checked in by reyalp, 3 years ago (diff)

Add movie_rec stuff for D10. Add d10 to batch builds as beta. Remove beta tag from ixus980_sd990

  • 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=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
259#PLATFORM=sx20
260#PLATFORMSUB=102b
261
262PLATFORM=ixus85_sd770
263PLATFORMSUB=100a
264
265PLATFORM=ixus95_sd1200
266PLATFORMSUB=100c
267
268#PLATFORM=a430
269#PLATFORMSUB=100b
270
271#PLATFORM=d10
272#PLATFORMSUB=100a
273
274MEMISOSIZE="(&_end-&_start)"
275# override this on the command line or in buildconf to use PRIMARY.BIN from a different tree
276# should be an absolute path
277PRIMARY_ROOT=$(topdir)platform
278include $(topdir)buildconf.inc
279# optional local version of buildconf.inc, not in SVN so it can be used in autobuilds
280# and to avoid getting accidentally included in svn diffs
281# you may also set your default camera here
282-include $(topdir)localbuildconf.inc
283include $(topdir)version.inc
284include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc
285ifdef OPT_FI2
286include $(topdir)/platform/fi2.inc
287endif
288
289SILENT=SILENT
290
291NOZERO100K=TRUE
292
293##########################################################################
294##########################################################################
295##########################################################################
296
297ESED = sed -r
298
299# keep sort order consistent
300export LC_ALL=C
301
302ifndef OSTYPE
303  HOSTPLATFORM:=$(patsubst MINGW%,MINGW,$(shell uname -s))
304  ifeq ($(HOSTPLATFORM),MINGW)
305        OSTYPE = Windows
306        EXE = .exe
307        SH = sh
308        DEVNULL = NUL
309        OLDSEPARATOR = \\\\
310        NEWSEPARATOR = /
311        SORT := $(dir $(shell which uniq.exe | sed 's_$(OLDSEPARATOR)_$(NEWSEPARATOR)_g'))/sort.exe
312  else
313    ifeq ($(HOSTPLATFORM),Linux)
314      OSTYPE = Linux
315      EXE =
316      SH =
317      DEVNULL = /dev/null
318      SORT = sort
319    else
320      ifeq ($(HOSTPLATFORM),Darwin)
321        OSTYPE = Darwin
322        EXE =
323        SH =
324        DEVNULL = /dev/null
325        SORT = sort
326        ESED = sed -E
327      else
328        OSTYPE = Other
329        EXE =
330        SH =
331        DEVNULL = /dev/null
332        SORT = sort
333      endif
334    endif
335  endif
336else
337  EXE =
338  SH =
339  DEVNULL = /dev/null
340  SORT = sort
341endif
342
343##########################################################################
344##########################################################################
345##########################################################################
346
347HOSTCC=gcc
348HOSTCFLAGS=-g -O2 -Wall
349HOSTAR=ar
350
351PAKWIF=$(topdir)tools/pakwif$(EXE)
352PAKFI2=$(topdir)tools/packfi2/fi2enc$(EXE)
353ENCODE_DISKBOOT=$(topdir)tools/dancingbits$(EXE)
354
355##########################################################################
356
357CC=arm-elf-gcc
358OBJCOPY=arm-elf-objcopy
359OBJDUMP=arm-elf-objdump
360STRIP=arm-elf-strip
361NM=arm-elf-nm
362AR=arm-elf-ar
363RANLIB=arm-elf-ranlib
364SIZE=arm-elf-size
365
366GCC_VERSION=$(shell $(CC) -dumpversion)
367GCC_VERSION_MAJOR=$(firstword $(subst ., ,$(GCC_VERSION)))
368
369# -msoft-float is used per default but object files are marked as hard-float
370CFLAGS=-fno-inline -Os -fno-strict-aliasing
371# flags for gcc v4
372# CFLAGS+=-mcpu=arm946e-s
373# for gcc v3, we use to allow use of strd etc
374ifeq ($(GCC_VERSION_MAJOR),3)
375    CFLAGS+=-march=armv5te
376else
377    ifeq ($(GCC_VERSION_MAJOR),4)
378        # TODO should be -mcpu, but breaks things ATM
379        CFLAGS+=-mtune=arm946e-s
380    endif
381endif
382
383
384CTHUMB=-mthumb
385CFLAGS+=-mthumb-interwork
386CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)
387CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DPLATFORMID=$(PLATFORMID) -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1
388CFLAGS+=-Wall -Wno-unused -Wno-format
389LDFLAGS=-L$(topdir)lib/math -L$(topdir)lib/font
390LDFLAGS+=-L$(topdir)lib/libc -L$(topdir)lib/ubasic
391LDFLAGS+=-L$(topdir)platform/$(PLATFORM) -L$(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)
392
393ifdef OPT_DEBUGGING
394CFLAGS+=-DOPT_DEBUGGING
395endif
396
397ifdef OPT_WARNINGS
398     ifeq ($(GCC_VERSION_MAJOR),3)
399           CFLAGS+=-Wwrite-strings -Wsign-compare -Wunused -Wno-unused-parameter
400           HOSTCFLAGS+=-Wwrite-strings -Wsign-compare -Wunused -Wno-unused-parameter
401     endif
402     ifeq ($(GCC_VERSION_MAJOR),4)
403           CFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-parameter
404           #HOSTCFLAGS+=-Wextra -fdiagnostics-show-option -Wno-missing-field-initializers -Wunused -Wno-unused-parameter
405     endif
406endif
407
408##########################################################################
409
410default: all
411
412ifndef SKIPBUILDRULES
413
414%.o: %.c
415        @echo $< \-\> $@
416        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
417%.o: %.S
418        @echo $< \-\> $@
419        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
420%.a:
421        @echo $^ \-\> $@
422        $(AR) rcs $@ $^
423
424.dep/%.d: %.c .dep
425        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
426                sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
427        rm -f $@.$$$$
428
429.dep/%.d: %.S .dep
430        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
431                sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
432                rm -f $@.$$$$
433
434endif
435
436all: all-recursive
437clean: clean-recursive
438distclean: distclean-recursive
439
440.dep:
441        mkdir .dep
442
443clean-recursive:
444        @for i in $(SUBDIRS); do \
445                echo \>\> Cleaning in $(FOLDER)$$i; \
446                $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" clean || exit 1; \
447        done
448
449distclean-recursive:
450        @for i in $(SUBDIRS); do \
451                echo \>\> Distcleaning in $(FOLDER)$$i; \
452                $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" distclean || exit 1; \
453        done
454
455all-recursive:
456        @for i in $(SUBDIRS); do \
457                echo \>\> Entering to $(FOLDER)$$i; \
458                $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" || exit 1; \
459                echo \<\< Leaving $(FOLDER)$$i; \
460        done
461
462depend-recursive:
463        @for i in $(SUBDIRS); do \
464                echo \>\> Entering to $(FOLDER)$$i; \
465                $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" depend || exit 1; \
466                echo \<\< Leaving $(FOLDER)$$i; \
467        done
468
469ifdef SILENT
470.SILENT:
471endif
Note: See TracBrowser for help on using the repository browser.