Blame view

config.mk 11.3 KB
e22117437   wdenk   Initial revision
1
  #
eca3aeb35   Wolfgang Denk   Licenses: introdu...
2
  # (C) Copyright 2000-2013
e22117437   wdenk   Initial revision
3
4
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
eca3aeb35   Wolfgang Denk   Licenses: introdu...
5
  # SPDX-License-Identifier:	GPL-2.0+
e22117437   wdenk   Initial revision
6
  #
e22117437   wdenk   Initial revision
7
  #########################################################################
120ae6091   Benoît Thébaudeau   Makefile: Move SH...
8
9
10
11
12
13
  # Set shell to bash if possible, otherwise fall back to sh
  SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
  	else if [ -x /bin/bash ]; then echo /bin/bash; \
  	else echo sh; fi; fi)
  
  export	SHELL
f93286397   Marian Balakowicz   Add support for a...
14
  ifeq ($(CURDIR),$(SRCTREE))
511d0c72b   Wolfgang Denk   Coding style cleanup
15
  dir :=
f93286397   Marian Balakowicz   Add support for a...
16
17
18
  else
  dir := $(subst $(SRCTREE)/,,$(CURDIR))
  endif
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
19
20
21
  ifneq ($(OBJTREE),$(SRCTREE))
  # Create object files for SPL in a separate directory
  ifeq ($(CONFIG_SPL_BUILD),y)
3aa29de0b   Ying Zhang   TPL : introduce t...
22
23
24
  ifeq ($(CONFIG_TPL_BUILD),y)
  obj := $(if $(dir),$(TPLTREE)/$(dir)/,$(TPLTREE)/)
  else
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
25
  obj := $(if $(dir),$(SPLTREE)/$(dir)/,$(SPLTREE)/)
3aa29de0b   Ying Zhang   TPL : introduce t...
26
  endif
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
27
  else
f93286397   Marian Balakowicz   Add support for a...
28
  obj := $(if $(dir),$(OBJTREE)/$(dir)/,$(OBJTREE)/)
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
29
  endif
f93286397   Marian Balakowicz   Add support for a...
30
31
32
33
  src := $(if $(dir),$(SRCTREE)/$(dir)/,$(SRCTREE)/)
  
  $(shell mkdir -p $(obj))
  else
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
34
35
  # Create object files for SPL in a separate directory
  ifeq ($(CONFIG_SPL_BUILD),y)
3aa29de0b   Ying Zhang   TPL : introduce t...
36
37
38
  ifeq ($(CONFIG_TPL_BUILD),y)
  obj := $(if $(dir),$(TPLTREE)/$(dir)/,$(TPLTREE)/)
  else
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
39
  obj := $(if $(dir),$(SPLTREE)/$(dir)/,$(SPLTREE)/)
3aa29de0b   Ying Zhang   TPL : introduce t...
40
  endif
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
41
42
  $(shell mkdir -p $(obj))
  else
f93286397   Marian Balakowicz   Add support for a...
43
  obj :=
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
44
  endif
f93286397   Marian Balakowicz   Add support for a...
45
46
  src :=
  endif
592c5cabe   wdenk   Patch by Murray J...
47
48
49
50
  # clean the slate ...
  PLATFORM_RELFLAGS =
  PLATFORM_CPPFLAGS =
  PLATFORM_LDFLAGS =
e22117437   wdenk   Initial revision
51
  #########################################################################
d984fed06   Scott Wood   makefiles: fixes ...
52
53
54
55
56
57
58
  HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \
  		  $(HOSTCPPFLAGS)
  HOSTSTRIP	= strip
  
  #
  # Mac OS X / Darwin's C preprocessor is Apple specific.  It
  # generates numerous errors and warnings.  We want to bypass it
844f07d8a   Wolfgang Denk   Coding Style (whi...
59
  # and use GNU C's cpp.	To do this we pass the -traditional-cpp
d984fed06   Scott Wood   makefiles: fixes ...
60
61
62
63
64
65
66
67
  # option to the compiler.  Note that the -traditional-cpp flag
  # DOES NOT have the same semantics as GNU C's flag, all it does
  # is invoke the GNU preprocessor in stock ANSI/ISO C fashion.
  #
  # Apple's linker is similar, thanks to the new 2 stage linking
  # multiple symbol definitions are treated as errors, hence the
  # -multiply_defined suppress option to turn off this error.
  #
4cda43789   Mike Frysinger   build system: tre...
68
  ifeq ($(HOSTOS),darwin)
c7da8c19b   Andreas Biessmann   config.mk: use di...
69
70
71
  # get major and minor product version (e.g. '10' and '6' for Snow Leopard)
  DARWIN_MAJOR_VERSION	= $(shell sw_vers -productVersion | cut -f 1 -d '.')
  DARWIN_MINOR_VERSION	= $(shell sw_vers -productVersion | cut -f 2 -d '.')
f534c7cdc   Mike Frysinger   config.mk: avoid ...
72
73
  os_x_before	= $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \
  	$(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo "$(4)"; fi ;)
c7da8c19b   Andreas Biessmann   config.mk: use di...
74
75
  
  # Snow Leopards build environment has no longer restrictions as described above
f534c7cdc   Mike Frysinger   config.mk: avoid ...
76
77
78
  HOSTCC		 = $(call os_x_before, 10, 5, "cc", "gcc")
  HOSTCFLAGS	+= $(call os_x_before, 10, 4, "-traditional-cpp")
  HOSTLDFLAGS	+= $(call os_x_before, 10, 5, "-multiply_defined suppress")
e22117437   wdenk   Initial revision
79
80
81
  else
  HOSTCC		= gcc
  endif
d984fed06   Scott Wood   makefiles: fixes ...
82
83
84
85
86
87
88
89
90
91
92
  
  ifeq ($(HOSTOS),cygwin)
  HOSTCFLAGS	+= -ansi
  endif
  
  # We build some files with extra pedantic flags to try to minimize things
  # that won't build on some weird host compiler -- though there are lots of
  # exceptions for files that aren't complaint.
  
  HOSTCFLAGS_NOPED = $(filter-out -pedantic,$(HOSTCFLAGS))
  HOSTCFLAGS	+= -pedantic
e22117437   wdenk   Initial revision
93
94
  
  #########################################################################
1820d4c73   Wolfgang Denk   Make sure only su...
95
  #
19a695f84   Tom Rini   tools, config.mk:...
96
  # Option checker, gcc version (courtesy linux kernel) to ensure
1820d4c73   Wolfgang Denk   Make sure only su...
97
98
  # only supported compiler options are used
  #
b6a467d73   Daniel Schwierzeck   config.mk: use me...
99
  CC_OPTIONS_CACHE_FILE := $(OBJTREE)/include/generated/cc_options.mk
6f4acc179   Tom Rini   config.mk: Make c...
100
  CC_TEST_OFILE := $(OBJTREE)/include/generated/cc_test_file.o
b6a467d73   Daniel Schwierzeck   config.mk: use me...
101
102
  
  -include $(CC_OPTIONS_CACHE_FILE)
6f4acc179   Tom Rini   config.mk: Make c...
103
104
  cc-option-sys = $(shell mkdir -p $(dir $(CC_TEST_OFILE)); \
  		if $(CC) $(CFLAGS) $(1) -S -xc /dev/null -o $(CC_TEST_OFILE) \
b6a467d73   Daniel Schwierzeck   config.mk: use me...
105
106
107
108
109
110
111
112
113
114
  		> /dev/null 2>&1; then \
  		echo 'CC_OPTIONS += $(strip $1)' >> $(CC_OPTIONS_CACHE_FILE); \
  		echo "$(1)"; fi)
  
  ifeq ($(CONFIG_CC_OPT_CACHE_DISABLE),y)
  cc-option = $(strip $(if $(call cc-option-sys,$1),$1,$2))
  else
  cc-option = $(strip $(if $(findstring $1,$(CC_OPTIONS)),$1,\
  		$(if $(call cc-option-sys,$1),$1,$2)))
  endif
e22117437   wdenk   Initial revision
115

19a695f84   Tom Rini   tools, config.mk:...
116
117
  # cc-version
  # Usage gcc-ver := $(call cc-version)
dd88ab325   Masahiro Yamada   Makefile: Move so...
118
119
120
  cc-version = $(shell $(SHELL) $(SRCTREE)/scripts/gcc-version.sh $(CC))
  binutils-version = $(shell $(SHELL) $(SRCTREE)/scripts/binutils-version.sh $(AS))
  dtc-version = $(shell $(SHELL) $(SRCTREE)/scripts/dtc-version.sh $(DTC))
19a695f84   Tom Rini   tools, config.mk:...
121

e22117437   wdenk   Initial revision
122
123
124
125
  #
  # Include the make variables (CC, etc...)
  #
  AS	= $(CROSS_COMPILE)as
7cb714a57   Khem Raj   config: Always us...
126
127
128
129
  
  # Always use GNU ld
  LD	= $(shell if $(CROSS_COMPILE)ld.bfd -v > /dev/null 2>&1; \
  		then echo "$(CROSS_COMPILE)ld.bfd"; else echo "$(CROSS_COMPILE)ld"; fi;)
e22117437   wdenk   Initial revision
130
131
132
133
  CC	= $(CROSS_COMPILE)gcc
  CPP	= $(CC) -E
  AR	= $(CROSS_COMPILE)ar
  NM	= $(CROSS_COMPILE)nm
94a91e248   Mike Frysinger   generate u-boot.l...
134
  LDR	= $(CROSS_COMPILE)ldr
e22117437   wdenk   Initial revision
135
136
137
138
  STRIP	= $(CROSS_COMPILE)strip
  OBJCOPY = $(CROSS_COMPILE)objcopy
  OBJDUMP = $(CROSS_COMPILE)objdump
  RANLIB	= $(CROSS_COMPILE)RANLIB
bbb0b128c   Simon Glass   fdt: Add support ...
139
  DTC	= dtc
4ab64933e   Kim Phillips   add check infrast...
140
  CHECK	= sparse
e22117437   wdenk   Initial revision
141

c4e5f52a5   Wolfgang Denk   config.mk: use co...
142
143
144
  #########################################################################
  
  # Load generated board configuration
3aa29de0b   Ying Zhang   TPL : introduce t...
145
146
147
148
  ifeq ($(CONFIG_TPL_BUILD),y)
  # Include TPL autoconf
  sinclude $(OBJTREE)/include/tpl-autoconf.mk
  else
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
149
150
151
152
153
  ifeq ($(CONFIG_SPL_BUILD),y)
  # Include SPL autoconf
  sinclude $(OBJTREE)/include/spl-autoconf.mk
  else
  # Include normal autoconf
c4e5f52a5   Wolfgang Denk   config.mk: use co...
154
  sinclude $(OBJTREE)/include/autoconf.mk
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
155
  endif
3aa29de0b   Ying Zhang   TPL : introduce t...
156
  endif
5e987ddf8   Joakim Tjernlund   Top config.mk: ad...
157
  sinclude $(OBJTREE)/include/config.mk
c4e5f52a5   Wolfgang Denk   config.mk: use co...
158

03b7004dd   Peter Tyser   Create CPUDIR var...
159
160
  # Some architecture config.mk files need to know what CPUDIR is set to,
  # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
8d1f26820   Peter Tyser   ppc: Move cpu/$CP...
161
162
163
164
165
166
  # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
  # CPU-specific code.
  CPUDIR=arch/$(ARCH)/cpu/$(CPU)
  ifneq ($(SRCTREE)/$(CPUDIR),$(wildcard $(SRCTREE)/$(CPUDIR)))
  CPUDIR=arch/$(ARCH)/cpu
  endif
03b7004dd   Peter Tyser   Create CPUDIR var...
167

ea0364f1b   Peter Tyser   Move lib_$ARCH di...
168
  sinclude $(TOPDIR)/arch/$(ARCH)/config.mk	# include architecture dependend rules
03b7004dd   Peter Tyser   Create CPUDIR var...
169
  sinclude $(TOPDIR)/$(CPUDIR)/config.mk		# include  CPU	specific rules
c4e5f52a5   Wolfgang Denk   config.mk: use co...
170
  ifdef	SOC
03b7004dd   Peter Tyser   Create CPUDIR var...
171
  sinclude $(TOPDIR)/$(CPUDIR)/$(SOC)/config.mk	# include  SoC	specific rules
c4e5f52a5   Wolfgang Denk   config.mk: use co...
172
173
174
175
176
177
178
179
180
181
182
  endif
  ifdef	VENDOR
  BOARDDIR = $(VENDOR)/$(BOARD)
  else
  BOARDDIR = $(BOARD)
  endif
  ifdef	BOARD
  sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk	# include board specific rules
  endif
  
  #########################################################################
5968adc41   Mike Frysinger   build: force migr...
183
184
185
  # We don't actually use $(ARFLAGS) anywhere anymore, so catch people
  # who are porting old code to latest mainline but not updating $(AR).
  ARFLAGS = $(error update your Makefile to use cmd_link_o_target and not AR)
e22117437   wdenk   Initial revision
186
  RELFLAGS= $(PLATFORM_RELFLAGS)
9acb626fc   Heiko Schocher   Add MCF5282 suppo...
187
  DBGFLAGS= -g # -DDEBUG
e22117437   wdenk   Initial revision
188
  OPTFLAGS= -Os #-fomit-frame-pointer
83b7e2a7f   Scott Wood   Handle most LDSCR...
189

6dd652fa4   wdenk   Patches by Murray...
190
  OBJCFLAGS += --gap-fill=0xff
e22117437   wdenk   Initial revision
191

b783edaee   wdenk   * Header file cle...
192
  gccincdir := $(shell $(CC) -print-file-name=include)
e22117437   wdenk   Initial revision
193
  CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS)		\
c1f5805a9   Marek Vasut   serial: Compile d...
194
  	-D__KERNEL__
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
195
196
197
198
199
200
  
  # Enable garbage collection of un-used sections for SPL
  ifeq ($(CONFIG_SPL_BUILD),y)
  CPPFLAGS += -ffunction-sections -fdata-sections
  LDFLAGS_FINAL += --gc-sections
  endif
29ce737d6   Simon Glass   mkimage: Build si...
201
  # TODO(sjg@chromium.org): Is this correct on Mac OS?
bce883707   Marek Vasut   ARM: mxs: tools: ...
202
203
204
205
206
207
208
209
  
  # MXSImage needs LibSSL
  ifneq ($(CONFIG_MX23)$(CONFIG_MX28),)
  HOSTLIBS	+= -lssl -lcrypto
  # Add CONFIG_MXS into host CFLAGS, so we can check whether or not register
  # the mxsimage support within tools/mxsimage.c .
  HOSTCFLAGS	+= -DCONFIG_MXS
  endif
29ce737d6   Simon Glass   mkimage: Build si...
210
211
  ifdef CONFIG_FIT_SIGNATURE
  HOSTLIBS	+= -lssl -lcrypto
971c450a4   Simon Glass   mkimage: Use boar...
212
213
214
215
  
  # This affects include/image.h, but including the board config file
  # is tricky, so manually define this options here.
  HOSTCFLAGS	+= -DCONFIG_FIT_SIGNATURE
29ce737d6   Simon Glass   mkimage: Build si...
216
  endif
14d0a02a1   Wolfgang Denk   Rename TEXT_BASE ...
217
218
  ifneq ($(CONFIG_SYS_TEXT_BASE),)
  CPPFLAGS += -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
161b2af4d   Mike Frysinger   Only use TEXT_BAS...
219
  endif
f93286397   Marian Balakowicz   Add support for a...
220

c8f9c302c   Daniel Schwierzeck   Extend build-syst...
221
222
  ifeq ($(CONFIG_SPL_BUILD),y)
  CPPFLAGS += -DCONFIG_SPL_BUILD
3aa29de0b   Ying Zhang   TPL : introduce t...
223
224
225
  ifeq ($(CONFIG_TPL_BUILD),y)
  CPPFLAGS += -DCONFIG_TPL_BUILD
  endif
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
226
  endif
5c1a7ea6a   Simon Glass   __HAVE_ARCH_GENER...
227
228
229
  # Does this architecture support generic board init?
  ifeq ($(__HAVE_ARCH_GENERIC_BOARD),)
  ifneq ($(CONFIG_SYS_GENERIC_BOARD),)
fada9e204   Simon Glass   Trigger generic b...
230
231
  CHECK_GENERIC_BOARD = $(error Your architecture does not support generic board. \
  Please undefined CONFIG_SYS_GENERIC_BOARD in your board config file)
5c1a7ea6a   Simon Glass   __HAVE_ARCH_GENER...
232
233
  endif
  endif
f93286397   Marian Balakowicz   Add support for a...
234
  ifneq ($(OBJTREE),$(SRCTREE))
3d83efbce   Masahiro Yamada   sandbox: Use syst...
235
  CPPFLAGS += -I$(OBJTREE)/include
f93286397   Marian Balakowicz   Add support for a...
236
  endif
3d83efbce   Masahiro Yamada   sandbox: Use syst...
237
  CPPFLAGS += -I$(TOPDIR)/include -I$(SRCTREE)/arch/$(ARCH)/include
53677ef18   Wolfgang Denk   Big white-space c...
238
  CPPFLAGS += -fno-builtin -ffreestanding -nostdinc	\
f93286397   Marian Balakowicz   Add support for a...
239
  	-isystem $(gccincdir) -pipe $(PLATFORM_CPPFLAGS)
e22117437   wdenk   Initial revision
240

e22117437   wdenk   Initial revision
241
  CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes
d642c467a   Marek Vasut   build: Pull -DBUI...
242
243
244
  
  ifdef BUILD_TAG
  CFLAGS += -DBUILD_TAG='"$(BUILD_TAG)"'
e22117437   wdenk   Initial revision
245
  endif
cca4e4aec   Wolfgang Denk   Reduce build times
246
247
  CFLAGS_SSP := $(call cc-option,-fno-stack-protector)
  CFLAGS += $(CFLAGS_SSP)
6262e4e74   Mike Frysinger   disable security ...
248
249
  # Some toolchains enable security related warning flags by default,
  # but they don't make much sense in the u-boot world, so disable them.
cca4e4aec   Wolfgang Denk   Reduce build times
250
251
252
  CFLAGS_WARN := $(call cc-option,-Wno-format-nonliteral) \
  	       $(call cc-option,-Wno-format-security)
  CFLAGS += $(CFLAGS_WARN)
28eab0d77   Haavard Skinnemoen   Conditionally add...
253

4a30f1e87   Tom Rini   config.mk: Check ...
254
255
256
  # Report stack usage if supported
  CFLAGS_STACK := $(call cc-option,-fstack-usage)
  CFLAGS += $(CFLAGS_STACK)
5c2aeac5a   Simon Glass   Support tracing i...
257
258
259
260
261
262
263
264
265
  BCURDIR = $(subst $(SRCTREE)/,,$(CURDIR:$(obj)%=%))
  
  ifeq ($(findstring examples/,$(BCURDIR)),)
  ifeq ($(CONFIG_SPL_BUILD),)
  ifdef FTRACE
  CFLAGS += -finstrument-functions -DFTRACE
  endif
  endif
  endif
e11887a77   Haavard Skinnemoen   Don't pass any de...
266
267
268
  # $(CPPFLAGS) sets -g, which causes gcc to pass a suitable -g<format>
  # option to the assembler.
  AFLAGS_DEBUG :=
b62fa913d   Marian Balakowicz   Fix gcc 3.4.x AFL...
269

483a0cf80   Marian Balakowicz   Fixes for gcc 3.4...
270
271
272
273
274
  # turn jbsr into jsr for m68k
  ifeq ($(ARCH),m68k)
  ifeq ($(findstring 3.4,$(shell $(CC) --version)),3.4)
  AFLAGS_DEBUG := -Wa,-gstabs,-S
  endif
483a0cf80   Marian Balakowicz   Fixes for gcc 3.4...
275
  endif
b62fa913d   Marian Balakowicz   Fix gcc 3.4.x AFL...
276

e22117437   wdenk   Initial revision
277
  AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
8aba9dcee   Nobuhiro Iwamatsu   Divides variable ...
278
  LDFLAGS += $(PLATFORM_LDFLAGS)
6dc1eceb9   Haiying Wang   Introduce a new l...
279
  LDFLAGS_FINAL += -Bstatic
8aba9dcee   Nobuhiro Iwamatsu   Divides variable ...
280

6dc1eceb9   Haiying Wang   Introduce a new l...
281
  LDFLAGS_u-boot += -T $(obj)u-boot.lds $(LDFLAGS_FINAL)
14d0a02a1   Wolfgang Denk   Rename TEXT_BASE ...
282
  ifneq ($(CONFIG_SYS_TEXT_BASE),)
8aba9dcee   Nobuhiro Iwamatsu   Divides variable ...
283
  LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
161b2af4d   Mike Frysinger   Only use TEXT_BAS...
284
  endif
e22117437   wdenk   Initial revision
285

3aa29de0b   Ying Zhang   TPL : introduce t...
286
  LDFLAGS_$(SPL_BIN) += -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL)
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
287
  ifneq ($(CONFIG_SPL_TEXT_BASE),)
3aa29de0b   Ying Zhang   TPL : introduce t...
288
  LDFLAGS_$(SPL_BIN) += -Ttext $(CONFIG_SPL_TEXT_BASE)
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
289
  endif
4ab64933e   Kim Phillips   add check infrast...
290
291
  # Linus' kernel sanity checking tool
  CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
93e145964   Wolfgang Denk   Coding Style clea...
292
  		  -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF)
4ab64933e   Kim Phillips   add check infrast...
293

e22117437   wdenk   Initial revision
294
295
296
297
298
299
300
301
302
  # Location of a usable BFD library, where we define "usable" as
  # "built for ${HOST}, supports ${TARGET}".  Sensible values are
  # - When cross-compiling: the root of the cross-environment
  # - Linux/ppc (native): /usr
  # - NetBSD/ppc (native): you lose ... (must extract these from the
  #   binutils build directory, plus the native and U-Boot include
  #   files don't like each other)
  #
  # So far, this is used only by tools/gdb/Makefile.
4cda43789   Mike Frysinger   build system: tre...
303
  ifeq ($(HOSTOS),darwin)
e22117437   wdenk   Initial revision
304
305
  BFD_ROOT_DIR =		/usr/local/tools
  else
ea909b760   wdenk   * Added support f...
306
307
308
309
  ifeq ($(HOSTARCH),$(ARCH))
  # native
  BFD_ROOT_DIR =		/usr
  else
e22117437   wdenk   Initial revision
310
311
  #BFD_ROOT_DIR =		/LinuxPPC/CDK		# Linux/i386
  #BFD_ROOT_DIR =		/usr/pkg/cross		# NetBSD/i386
e22117437   wdenk   Initial revision
312
313
  BFD_ROOT_DIR =		/opt/powerpc
  endif
ea909b760   wdenk   * Added support f...
314
  endif
e22117437   wdenk   Initial revision
315
316
  
  #########################################################################
d984fed06   Scott Wood   makefiles: fixes ...
317
  export	HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE \
434c51a5e   Peter Tyser   Remove unneeded C...
318
  	AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP MAKE
14d0a02a1   Wolfgang Denk   Rename TEXT_BASE ...
319
  export	CONFIG_SYS_TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
e22117437   wdenk   Initial revision
320
321
  
  #########################################################################
5ec5529b8   Mike Frysinger   allow boards to c...
322
  # Allow boards to use custom optimize flags on a per dir/file basis
326a69452   Mike Frysinger   config.mk: unify ...
323
324
  ALL_AFLAGS = $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR))
  ALL_CFLAGS = $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR))
475088430   Simon Glass   Adjust dependency...
325
326
327
328
329
330
331
  EXTRA_CPPFLAGS = $(CPPFLAGS_$(BCURDIR)/$(@F)) $(CPPFLAGS_$(BCURDIR))
  ALL_CFLAGS += $(EXTRA_CPPFLAGS)
  
  # The _DEP version uses the $< file target (for dependency generation)
  # See rules.mk
  EXTRA_CPPFLAGS_DEP = $(CPPFLAGS_$(BCURDIR)/$(addsuffix .o,$(basename $<))) \
  		$(CPPFLAGS_$(BCURDIR))
f93286397   Marian Balakowicz   Add support for a...
332
  $(obj)%.s:	%.S
326a69452   Mike Frysinger   config.mk: unify ...
333
  	$(CPP) $(ALL_AFLAGS) -o $@ $<
f93286397   Marian Balakowicz   Add support for a...
334
  $(obj)%.o:	%.S
326a69452   Mike Frysinger   config.mk: unify ...
335
  	$(CC)  $(ALL_AFLAGS) -o $@ $< -c
f93286397   Marian Balakowicz   Add support for a...
336
  $(obj)%.o:	%.c
4ab64933e   Kim Phillips   add check infrast...
337
338
339
  ifneq ($(CHECKSRC),0)
  	$(CHECK) $(CHECKFLAGS) $(ALL_CFLAGS) $<
  endif
326a69452   Mike Frysinger   config.mk: unify ...
340
  	$(CC)  $(ALL_CFLAGS) -o $@ $< -c
31f30c9eb   Mike Frysinger   add %.c->%.i and ...
341
  $(obj)%.i:	%.c
326a69452   Mike Frysinger   config.mk: unify ...
342
  	$(CPP) $(ALL_CFLAGS) -o $@ $< -c
31f30c9eb   Mike Frysinger   add %.c->%.i and ...
343
  $(obj)%.s:	%.c
326a69452   Mike Frysinger   config.mk: unify ...
344
  	$(CC)  $(ALL_CFLAGS) -o $@ $< -c -S
f93286397   Marian Balakowicz   Add support for a...
345

e22117437   wdenk   Initial revision
346
  #########################################################################
6d8962e81   Sebastien Carlier   Switch from archi...
347
348
349
  
  # If the list of objects to link is empty, just create an empty built-in.o
  cmd_link_o_target = $(if $(strip $1),\
8aba9dcee   Nobuhiro Iwamatsu   Divides variable ...
350
  		      $(LD) $(LDFLAGS) -r -o $@ $1,\
844f07d8a   Wolfgang Denk   Coding Style (whi...
351
  		      rm -f $@; $(AR) rcs $@ )
6d8962e81   Sebastien Carlier   Switch from archi...
352
353
  
  #########################################################################