source: trunk/makefile.inc @ 604

Revision 604, 6.4 KB checked in by phyrephox, 4 years ago (diff)
  • fixed platform_id again :D (wasnt really a bug)

final commit for tonight (hopefully) thx to reyalp

  • 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#PLATFORMSUB=101a
117
118#PLATFORM=ixus950_sd850
119#PLATFORMSUB=100c
120
121#PLATFORM=ixus55_sd450
122#PLATFORMSUB=100b
123
124#PLATFORM=ixus55_sd450
125#PLATFORMSUB=100c
126
127#PLATFORM=ixus55_sd450
128#PLATFORMSUB=100d
129
130#PLATFORM=ixus60_sd600
131#PLATFORMSUB=100a
132
133#PLATFORM=ixus60_sd600
134#PLATFORMSUB=100d
135
136#PLATFORM=ixus70_sd1000
137#PLATFORMSUB=100c
138
139#PLATFORM=ixus70_sd1000
140#PLATFORMSUB=101b
141
142#PLATFORM=ixus70_sd1000
143#PLATFORMSUB=102a
144
145#PLATFORM=a650
146#PLATFORMSUB=100d
147
148#PLATFORM=a450
149#PLATFORMSUB=100d
150
151#PLATFORM=a460
152#PLATFORMSUB=100d
153
154#PLATFORM=a550
155#PLATFORMSUB=100c
156
157#PLATFORM=a590
158#PLATFORMSUB=100e
159
160#PLATFORM=a590
161#PLATFORMSUB=101b
162
163#PLATFORM=a630
164#PLATFORMSUB=100c
165
166#PLATFORM=s5is
167#PLATFORMSUB=101a
168
169#PLATFORM=s5is
170#PLATFORMSUB=101b
171
172#PLATFORM=ixus65_sd630
173#PLATFORMSUB=100a
174
175#PLATFORM=tx1
176#PLATFORMSUB=100g
177
178#PLATFORM=tx1
179#PLATFORMSUB=101b
180
181#PLATFORM=ixus960_sd950
182#PLATFORM=100d
183
184#PLATFORM=ixus75_sd750
185#PLATFORMSUB=100b
186
187#PLATFORM=ixus75_sd750
188#PLATFORMSUB=101a
189
190#PLATFORM=ixus75_sd750
191#PLATFORMSUB=102a
192
193MEMISOSIZE="(&_end-&_start)"
194include $(topdir)buildconf.inc
195include $(topdir)version.inc
196include $(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)/makefile.inc
197
198SILENT=SILENT
199
200NOZERO100K=TRUE
201
202##########################################################################
203##########################################################################
204##########################################################################
205
206ESED = sed -r
207
208ifndef OSTYPE
209  HOSTPLATFORM:=$(patsubst MINGW%,MINGW,$(shell uname -s))
210  ifeq ($(HOSTPLATFORM),MINGW)
211    OSTYPE = Windows
212    EXE = .exe
213    SH = sh
214    DEVNULL = NUL
215    SORT = $(dir $(shell which uniq.exe | sed s/\\\\/\\\//g))/sort.exe
216  else
217    ifeq ($(HOSTPLATFORM),Linux)
218      OSTYPE = Linux
219      EXE =
220      SH =
221      DEVNULL = /dev/null
222      SORT = sort
223    else
224      ifeq ($(HOSTPLATFORM),Darwin)
225        OSTYPE = Darwin
226        EXE =
227        SH =
228        DEVNULL = /dev/null
229        SORT = sort
230        ESED = sed -E
231      else
232        OSTYPE = Other
233        EXE =
234        SH =
235        DEVNULL = /dev/null
236        SORT = sort
237      endif
238    endif
239  endif
240else
241  EXE =
242  SH =
243  DEVNULL = /dev/null
244  SORT = sort
245endif
246
247##########################################################################
248##########################################################################
249##########################################################################
250
251HOSTCC=gcc
252HOSTCFLAGS=-g -O2 -Wall
253
254PAKWIF=$(topdir)tools/pakwif$(EXE)
255ENCODE_DISKBOOT=$(topdir)tools/dancingbits$(EXE)
256
257##########################################################################
258
259CC=arm-elf-gcc
260OBJCOPY=arm-elf-objcopy
261OBJDUMP=arm-elf-objdump
262STRIP=arm-elf-strip
263NM=arm-elf-nm
264AR=arm-elf-ar
265RANLIB=arm-elf-ranlib
266SIZE=arm-elf-size
267
268GCC_VERSION=$(shell $(CC) -dumpversion)
269GCC_VERSION_MAJOR=$(firstword $(subst ., ,$(GCC_VERSION)))
270
271# -msoft-float is used per default but object files are marked as hard-float
272CFLAGS=-fno-inline -Os -fno-strict-aliasing
273# flags for gcc v4
274# CFLAGS+=-mcpu=arm946e-s
275# for gcc v3, we use to allow use of strd etc
276ifeq ($(GCC_VERSION_MAJOR),3)
277    CFLAGS+=-march=armv5te
278else
279    ifeq ($(GCC_VERSION_MAJOR),4)
280        # TODO should be -mcpu, but breaks things ATM
281        CFLAGS+=-mtune=arm946e-s
282    endif
283endif
284
285
286CTHUMB=-mthumb
287CFLAGS+=-mthumb-interwork
288CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)
289CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DPLATFORMID=$(PLATFORMID) -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1
290CFLAGS+=-Wall -Wno-unused -Wno-format
291LDFLAGS=-L$(topdir)lib/math -L$(topdir)lib/font
292LDFLAGS+=-L$(topdir)lib/libc -L$(topdir)lib/ubasic
293LDFLAGS+=-L$(topdir)platform/$(PLATFORM) -L$(topdir)platform/$(PLATFORM)/sub/$(PLATFORMSUB)
294
295ifdef OPT_DEBUGGING
296CFLAGS+=-DOPT_DEBUGGING
297endif
298
299##########################################################################
300
301default: all
302
303ifndef SKIPBUILDRULES
304
305%.o: %.c
306        @echo $< \-\> $@
307        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
308%.o: %.S
309        @echo $< \-\> $@
310        $(CC) $(CFLAGS) -nostdinc -c -o $@ $<
311%.a:
312        @echo $^ \-\> $@
313        $(AR) rcs $@ $^
314
315.dep/%.d: %.c .dep
316        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
317            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
318            rm -f $@.$$$$
319
320.dep/%.d: %.S .dep
321        $(CC) $(CFLAGS) -M $< > $@.$$$$; \
322            sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
323            rm -f $@.$$$$
324
325endif
326
327all: all-recursive
328clean: clean-recursive
329distclean: distclean-recursive
330
331.dep:
332        mkdir .dep
333
334clean-recursive:
335        @for i in $(SUBDIRS); do \
336            echo \>\> Cleaning in $(FOLDER)$$i; \
337            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" clean || exit 1; \
338        done
339
340distclean-recursive:
341        @for i in $(SUBDIRS); do \
342            echo \>\> Distcleaning in $(FOLDER)$$i; \
343            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" distclean || exit 1; \
344        done
345
346all-recursive:
347        @for i in $(SUBDIRS); do \
348            echo \>\> Entering to $(FOLDER)$$i; \
349            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" || exit 1; \
350            echo \<\< Leaving $(FOLDER)$$i; \
351        done
352
353depend-recursive:
354        @for i in $(SUBDIRS); do \
355            echo \>\> Entering to $(FOLDER)$$i; \
356            $(MAKE) -C $$i FOLDER="$(FOLDER)$$i/" depend || exit 1; \
357            echo \<\< Leaving $(FOLDER)$$i; \
358        done
359
360ifdef SILENT
361.SILENT:
362endif
Note: See TracBrowser for help on using the repository browser.