source: trunk/makefile.inc @ 866

Revision 866, 8.2 KB checked in by fe50, 3 years ago (diff)

Notes:

video may be buggy
fast shutter speed overrides (< 1/1500s) doesn't work
colormap probably needs adaptation

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