source: trunk/makefile.inc @ 638

Revision 638, 6.7 KB checked in by reyalp, 4 years ago (diff)

set LC_ALL=C so sorting in generated files is consistent.

  • 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=sx100is
22#PLATFORMSUB=100b
23
24#PLATFORM=ixus50_sd400
25#PLATFORMSUB=101a
26
27#PLATFORM=ixus50_sd400
28#PLATFORMSUB=101b
29
30#PLATFORM=ixus750_sd550
31#PLATFORMSUB=100f
32
33#PLATFORM=ixus750_sd550
34#PLATFORMSUB=100g
35
36#PLATFORM=a640
37#PLATFORMSUB=100b
38
39#PLATFORM=a700
40#PLATFORMSUB=100b
41
42#PLATFORM=a710
43#PLATFORMSUB=100a
44
45#PLATFORM=s2is
46#PLATFORMSUB=100e
47
48#PLATFORM=s2is
49#PLATFORMSUB=100f
50
51#PLATFORM=s2is
52#PLATFORMSUB=100g
53
54#PLATFORM=g7
55#PLATFORMSUB=100e
56
57#PLATFORM=g7
58#PLATFORMSUB=100g
59
60#PLATFORM=g7
61#PLATFORMSUB=100i
62
63#PLATFORM=g7
64#PLATFORMSUB=100j
65
66#PLATFORM=g9
67#PLATFORMSUB=100d
68
69#PLATFORM=g9
70#PLATFORMSUB=100g
71
72#PLATFORM=a530
73#PLATFORMSUB=100a
74
75#PLATFORM=a540
76#PLATFORMSUB=100b
77
78#PLATFORM=a560
79#PLATFORMSUB=100a
80
81#PLATFORM=a570
82#PLATFORMSUB=100a
83
84#PLATFORM=a570
85#PLATFORMSUB=100e
86
87#PLATFORM=a610
88#PLATFORMSUB=100e
89
90#PLATFORM=a610
91#PLATFORMSUB=100f
92
93#PLATFORM=ixus700_sd500
94#PLATFORMSUB=101a
95
96#PLATFORM=ixus700_sd500
97#PLATFORMSUB=101b
98
99#PLATFORM=ixus800_sd700
100#PLATFORMSUB=100b
101
102#PLATFORM=ixus800_sd700
103#PLATFORMSUB=101b
104
105#PLATFORM=a720
106#PLATFORMSUB=100c
107
108#PLATFORM=ixus850_sd800
109#PLATFORMSUB=100e
110
111#PLATFORM=ixus860_sd870
112#PLATFORMSUB=100c
113
114#PLATFORM=ixus80_sd1100
115#PLATFORMSUB=100c
116
117#PLATFORM=ixus80_sd1100
118#PLATFORMSUB=101a
119
120#PLATFORM=ixus950_sd850
121#PLATFORMSUB=100c
122
123#PLATFORM=ixus55_sd450
124#PLATFORMSUB=100b
125
126#PLATFORM=ixus55_sd450
127#PLATFORMSUB=100c
128
129#PLATFORM=ixus55_sd450
130#PLATFORMSUB=100d
131
132#PLATFORM=ixus60_sd600
133#PLATFORMSUB=100a
134
135#PLATFORM=ixus60_sd600
136#PLATFORMSUB=100d
137
138#PLATFORM=ixus70_sd1000
139#PLATFORMSUB=100c
140
141#PLATFORM=ixus70_sd1000
142#PLATFORMSUB=101b
143
144#PLATFORM=ixus70_sd1000
145#PLATFORMSUB=102a
146
147#PLATFORM=a650
148#PLATFORMSUB=100d
149
150#PLATFORM=a450
151#PLATFORMSUB=100d
152
153#PLATFORM=a460
154#PLATFORMSUB=100d
155
156#PLATFORM=a550
157#PLATFORMSUB=100c
158
159#PLATFORM=a590
160#PLATFORMSUB=100e
161
162#PLATFORM=a590
163#PLATFORMSUB=101b
164
165#PLATFORM=a630
166#PLATFORMSUB=100c
167
168#PLATFORM=s5is
169#PLATFORMSUB=101a
170
171#PLATFORM=s5is
172#PLATFORMSUB=101b
173
174#PLATFORM=ixus65_sd630
175#PLATFORMSUB=100a
176
177#PLATFORM=tx1
178#PLATFORMSUB=100g
179
180#PLATFORM=tx1
181#PLATFORMSUB=101b
182
183#PLATFORM=ixus960_sd950
184#PLATFORMSUB=100d
185
186#PLATFORM=ixus75_sd750
187#PLATFORMSUB=100b
188
189#PLATFORM=ixus75_sd750
190#PLATFORMSUB=101a
191
192#PLATFORM=ixus75_sd750
193#PLATFORMSUB=102a
194
195#PLATFORM=ixusizoom_sd30
196#PLATFORMSUB=100g
197
198MEMISOSIZE="(&_end-&_start)"
199# override this on the command line or in buildconf to use PRIMARY.BIN from a different tree
200# should be an absolute path
201PRIMARY_ROOT=$(topdir)platform
202include $(topdir)buildconf.inc
203include $(topdir)version.inc
204include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc
205
206SILENT=SILENT
207
208NOZERO100K=TRUE
209
210##########################################################################
211##########################################################################
212##########################################################################
213
214ESED = sed -r
215
216# keep sort order consistent
217export LC_ALL=C
218
219ifndef OSTYPE
220  HOSTPLATFORM:=$(patsubst MINGW%,MINGW,$(shell uname -s))
221  ifeq ($(HOSTPLATFORM),MINGW)
222    OSTYPE = Windows
223    EXE = .exe
224    SH = sh
225    DEVNULL = NUL
226    SORT = $(dir $(shell which uniq.exe | sed s/\\\\/\\\//g))/sort.exe
227  else
228    ifeq ($(HOSTPLATFORM),Linux)
229      OSTYPE = Linux
230      EXE =
231      SH =
232      DEVNULL = /dev/null
233      SORT = sort
234    else
235      ifeq ($(HOSTPLATFORM),Darwin)
236        OSTYPE = Darwin
237        EXE =
238        SH =
239        DEVNULL = /dev/null
240        SORT = sort
241        ESED = sed -E
242      else
243        OSTYPE = Other
244        EXE =
245        SH =
246        DEVNULL = /dev/null
247        SORT = sort
248      endif
249    endif
250  endif
251else
252  EXE =
253  SH =
254  DEVNULL = /dev/null
255  SORT = sort
256endif
257
258##########################################################################
259##########################################################################
260##########################################################################
261
262HOSTCC=gcc
263HOSTCFLAGS=-g -O2 -Wall
264
265PAKWIF=$(topdir)tools/pakwif$(EXE)
266ENCODE_DISKBOOT=$(topdir)tools/dancingbits$(EXE)
267
268##########################################################################
269
270CC=arm-elf-gcc
271OBJCOPY=arm-elf-objcopy
272OBJDUMP=arm-elf-objdump
273STRIP=arm-elf-strip
274NM=arm-elf-nm
275AR=arm-elf-ar
276RANLIB=arm-elf-ranlib
277SIZE=arm-elf-size
278
279GCC_VERSION=$(shell $(CC) -dumpversion)
280GCC_VERSION_MAJOR=$(firstword $(subst ., ,$(GCC_VERSION)))
281
282# -msoft-float is used per default but object files are marked as hard-float
283CFLAGS=-fno-inline -Os -fno-strict-aliasing
284# flags for gcc v4
285# CFLAGS+=-mcpu=arm946e-s
286# for gcc v3, we use to allow use of strd etc
287ifeq ($(GCC_VERSION_MAJOR),3)
288    CFLAGS+=-march=armv5te
289else
290    ifeq ($(GCC_VERSION_MAJOR),4)
291        # TODO should be -mcpu, but breaks things ATM
292        CFLAGS+=-mtune=arm946e-s
293    endif
294endif
295
296
297CTHUMB=-mthumb
298CFLAGS+=-mthumb-interwork
299CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)
300CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DPLATFORMID=$(PLATFORMID) -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1
301CFLAGS+=-Wall -Wno-unused -Wno-format
302LDFLAGS=-L$(topdir)lib/math -L$(topdir)lib/font
303LDFLAGS+=-L$(topdir)lib/libc -L$(topdir)lib/ubasic
304LDFLAGS+=-L$(topdir)platform/$(PLATFORM) -L$(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)
305
306ifdef OPT_DEBUGGING
307CFLAGS+=-DOPT_DEBUGGING
308endif
309
310##########################################################################
311
312default: all
313
314ifndef SKIPBUILDRULES
315
316%.o: %.c
317        @echo $< \-\> $@
318        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
319%.o: %.S
320        @echo $< \-\> $@
321        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
322%.a:
323        @echo $^ \-\> $@
324        $(AR) rcs $@ $^
325
326.dep/%.d: %.c .dep
327        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
328            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
329            rm -f $@.$$$$
330
331.dep/%.d: %.S .dep
332        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
333            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
334            rm -f $@.$$$$
335
336endif
337
338all: all-recursive
339clean: clean-recursive
340distclean: distclean-recursive
341
342.dep:
343        mkdir .dep
344
345clean-recursive:
346        @for i in $(SUBDIRS); do \
347            echo \>\> Cleaning in $(FOLDER)$$i; \
348            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" clean || exit 1; \
349        done
350
351distclean-recursive:
352        @for i in $(SUBDIRS); do \
353            echo \>\> Distcleaning in $(FOLDER)$$i; \
354            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" distclean || exit 1; \
355        done
356
357all-recursive:
358        @for i in $(SUBDIRS); do \
359            echo \>\> Entering to $(FOLDER)$$i; \
360            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" || exit 1; \
361            echo \<\< Leaving $(FOLDER)$$i; \
362        done
363
364depend-recursive:
365        @for i in $(SUBDIRS); do \
366            echo \>\> Entering to $(FOLDER)$$i; \
367            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" depend || exit 1; \
368            echo \<\< Leaving $(FOLDER)$$i; \
369        done
370
371ifdef SILENT
372.SILENT:
373endif
Note: See TracBrowser for help on using the repository browser.