Blame view

Makefile 28.3 KB
7ebf7443a   wdenk   Initial revision
1
  #
eca3aeb35   Wolfgang Denk   Licenses: introdu...
2
  # (C) Copyright 2000-2013
7ebf7443a   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+
7ebf7443a   wdenk   Initial revision
6
  #
d19ad726b   Tom Rini   Prepare v2014.01-rc1
7
8
  VERSION = 2014
  PATCHLEVEL = 01
211e47549   Wolfgang Denk   Prepare v2012.07-rc1
9
  SUBLEVEL =
d19ad726b   Tom Rini   Prepare v2014.01-rc1
10
  EXTRAVERSION = -rc1
8b9e47876   Wolfgang Denk   Update CHANGELOG,...
11
  ifneq "$(SUBLEVEL)" ""
881a87ecb   Wolfgang Denk   Add GIT version i...
12
  U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
8b9e47876   Wolfgang Denk   Update CHANGELOG,...
13
14
15
  else
  U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)
  endif
efb2172ec   Simon Glass   Move timestamp an...
16
17
  TIMESTAMP_FILE = $(obj)include/generated/timestamp_autogenerated.h
  VERSION_FILE = $(obj)include/generated/version_autogenerated.h
881a87ecb   Wolfgang Denk   Add GIT version i...
18

7ebf7443a   wdenk   Initial revision
19
  HOSTARCH := $(shell uname -m | \
fea257200   Graeme Russ   x86: Rename i386 ...
20
  	sed -e s/i.86/x86/ \
7ebf7443a   wdenk   Initial revision
21
22
23
  	    -e s/sun4u/sparc64/ \
  	    -e s/arm.*/arm/ \
  	    -e s/sa110/arm/ \
d0179083a   Kumar Gala   Fixup native buil...
24
25
  	    -e s/ppc64/powerpc/ \
  	    -e s/ppc/powerpc/ \
8d1f63554   Nobuhiro Iwamatsu   sh: Fix build on ...
26
27
  	    -e s/macppc/powerpc/\
  	    -e s/sh.*/sh/)
7ebf7443a   wdenk   Initial revision
28

f9d77ed38   Wolfgang Denk   Make "tr" command...
29
  HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
7ebf7443a   wdenk   Initial revision
30
  	    sed -e 's/\(cygwin\).*/cygwin/')
120ae6091   Benoît Thébaudeau   Makefile: Move SH...
31
  export	HOSTARCH HOSTOS
7ebf7443a   wdenk   Initial revision
32
33
34
35
36
  
  # Deal with colliding definitions from tcsh etc.
  VENDOR=
  
  #########################################################################
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
37
38
39
40
41
42
43
44
  # Allow for silent builds
  ifeq (,$(findstring s,$(MAKEFLAGS)))
  XECHO = echo
  else
  XECHO = :
  endif
  
  #########################################################################
f93286397   Marian Balakowicz   Add support for a...
45
  #
1bce2aeb6   Robert P. J. Day   Cosmetic: Fix a n...
46
  # U-boot build supports generating object files in a separate external
f93286397   Marian Balakowicz   Add support for a...
47
  # directory. Two use cases are supported:
887e2ec9e   Stefan Roese   Add support for A...
48
  #
f93286397   Marian Balakowicz   Add support for a...
49
50
51
  # 1) Add O= to the make command line
  # 'make O=/tmp/build all'
  #
1bce2aeb6   Robert P. J. Day   Cosmetic: Fix a n...
52
  # 2) Set environment variable BUILD_DIR to point to the desired location
f93286397   Marian Balakowicz   Add support for a...
53
54
55
56
57
58
  # 'export BUILD_DIR=/tmp/build'
  # 'make'
  #
  # The second approach can also be used with a MAKEALL script
  # 'export BUILD_DIR=/tmp/build'
  # './MAKEALL'
887e2ec9e   Stefan Roese   Add support for A...
59
  #
1bce2aeb6   Robert P. J. Day   Cosmetic: Fix a n...
60
  # Command line 'O=' setting overrides BUILD_DIR environment variable.
887e2ec9e   Stefan Roese   Add support for A...
61
  #
f93286397   Marian Balakowicz   Add support for a...
62
63
  # When none of the above methods is used the local build is performed and
  # the object files are placed in the source directory.
887e2ec9e   Stefan Roese   Add support for A...
64
  #
f93286397   Marian Balakowicz   Add support for a...
65

f93286397   Marian Balakowicz   Add support for a...
66
67
68
  ifeq ("$(origin O)", "command line")
  BUILD_DIR := $(O)
  endif
f93286397   Marian Balakowicz   Add support for a...
69

4ab64933e   Kim Phillips   add check infrast...
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
  # Call a source code checker (by default, "sparse") as part of the
  # C compilation.
  #
  # Use 'make C=1' to enable checking of re-compiled files.
  #
  # See the linux kernel file "Documentation/sparse.txt" for more details,
  # including where to get the "sparse" utility.
  
  ifdef C
  ifeq ("$(origin C)", "command line")
  CHECKSRC := $(C)
  endif
  endif
  ifndef CHECKSRC
    CHECKSRC = 0
  endif
  export CHECKSRC
f93286397   Marian Balakowicz   Add support for a...
87
88
  ifneq ($(BUILD_DIR),)
  saved-output := $(BUILD_DIR)
4f0645eb7   Marian Balakowicz   Fix LOG_DIR direc...
89
90
91
  
  # Attempt to create a output directory.
  $(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR})
a73c8dbb4   Stefan Roese   Update NAND boot ...
92
  # Verify if it was successful.
f93286397   Marian Balakowicz   Add support for a...
93
94
95
96
97
  BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)
  $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
  endif # ifneq ($(BUILD_DIR),)
  
  OBJTREE		:= $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
c8f9c302c   Daniel Schwierzeck   Extend build-syst...
98
  SPLTREE		:= $(OBJTREE)/spl
3aa29de0b   Ying Zhang   TPL : introduce t...
99
  TPLTREE		:= $(OBJTREE)/tpl
f93286397   Marian Balakowicz   Add support for a...
100
101
102
  SRCTREE		:= $(CURDIR)
  TOPDIR		:= $(SRCTREE)
  LNDIR		:= $(OBJTREE)
3aa29de0b   Ying Zhang   TPL : introduce t...
103
  export	TOPDIR SRCTREE OBJTREE SPLTREE TPLTREE
f93286397   Marian Balakowicz   Add support for a...
104
105
106
  
  MKCONFIG	:= $(SRCTREE)/mkconfig
  export MKCONFIG
7ebf7443a   wdenk   Initial revision
107

f93286397   Marian Balakowicz   Add support for a...
108
  ifneq ($(OBJTREE),$(SRCTREE))
dd520bf31   Wolfgang Denk   Code cleanup.
109
  REMOTE_BUILD	:= 1
f93286397   Marian Balakowicz   Add support for a...
110
111
112
113
114
115
116
117
118
119
120
121
  export REMOTE_BUILD
  endif
  
  # $(obj) and (src) are defined in config.mk but here in main Makefile
  # we also need them before config.mk is included which is the case for
  # some targets like unconfig, clean, clobber, distclean, etc.
  ifneq ($(OBJTREE),$(SRCTREE))
  obj := $(OBJTREE)/
  src := $(SRCTREE)/
  else
  obj :=
  src :=
887e2ec9e   Stefan Roese   Add support for A...
122
  endif
f93286397   Marian Balakowicz   Add support for a...
123
  export obj src
5013c09f7   Wolfgang Denk   Makefile: cleanup...
124
125
  # Make sure CDPATH settings don't interfere
  unexport CDPATH
f93286397   Marian Balakowicz   Add support for a...
126
  #########################################################################
7ebf7443a   wdenk   Initial revision
127

6d1ce3878   Mike Frysinger   make sure topleve...
128
129
  # The "tools" are needed early, so put this first
  # Don't include stuff already done in $(LIBS)
349e83f07   Che-liang Chiou   examples: api: al...
130
131
132
  # The "examples" conditionally depend on U-Boot (say, when USE_PRIVATE_LIBGCC
  # is "yes"), so compile examples after U-Boot is compiled.
  SUBDIR_TOOLS = tools
349e83f07   Che-liang Chiou   examples: api: al...
133
  SUBDIRS = $(SUBDIR_TOOLS)
6d1ce3878   Mike Frysinger   make sure topleve...
134

249b53a61   Loïc Minier   Build timestamp_a...
135
  .PHONY : $(SUBDIRS) $(VERSION_FILE) $(TIMESTAMP_FILE)
6d1ce3878   Mike Frysinger   make sure topleve...
136

ae6d1056d   Wolfgang Denk   Fix Makefile depe...
137
  ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))
7ebf7443a   wdenk   Initial revision
138

2632c008e   Mike Frysinger   autoconf.mk: incl...
139
140
141
142
143
144
  # Include autoconf.mk before config.mk so that the config options are available
  # to all top level build files.  We need the dummy all: target to prevent the
  # dependency target in autoconf.mk.dep from being the default.
  all:
  sinclude $(obj)include/autoconf.mk.dep
  sinclude $(obj)include/autoconf.mk
8a7e7d569   Masahiro Yamada   Makefile: descend...
145
146
  SUBDIR_EXAMPLES-y := examples/standalone
  SUBDIR_EXAMPLES-$(CONFIG_API) += examples/api
b5728756e   Simon Glass   sandbox: Adjust M...
147
  ifndef CONFIG_SANDBOX
8a7e7d569   Masahiro Yamada   Makefile: descend...
148
  SUBDIRS += $(SUBDIR_EXAMPLES-y)
b5728756e   Simon Glass   sandbox: Adjust M...
149
  endif
7ebf7443a   wdenk   Initial revision
150
  # load ARCH, BOARD, and CPU configuration
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
151
  include $(obj)include/config.mk
1d9f41050   wdenk   Patch by Steven S...
152
  export	ARCH CPU BOARD VENDOR SOC
f93286397   Marian Balakowicz   Add support for a...
153

1ea6bcd85   Mike Frysinger   push CROSS_COMPIL...
154
  # set default to nothing for native builds
a5284efd1   Wolfgang Denk   Fix HOSTARCH hand...
155
  ifeq ($(HOSTARCH),$(ARCH))
1ea6bcd85   Mike Frysinger   push CROSS_COMPIL...
156
  CROSS_COMPILE ?=
5c952cf02   wdenk   Patches by Scott ...
157
  endif
7ebf7443a   wdenk   Initial revision
158

92b197f0d   Wolfgang Denk   Fix Makefile: inc...
159
160
  # load other configuration
  include $(TOPDIR)/config.mk
fada9e204   Simon Glass   Trigger generic b...
161
162
163
164
165
166
167
168
169
  # Targets which don't build the source code
  NON_BUILD_TARGETS = backup clean clobber distclean mkproper tidy unconfig
  
  # Only do the generic board check when actually building, not configuring
  ifeq ($(filter $(NON_BUILD_TARGETS),$(MAKECMDGOALS)),)
  ifeq ($(findstring _config,$(MAKECMDGOALS)),)
  $(CHECK_GENERIC_BOARD)
  endif
  endif
d51dfff7a   Ilya Yanok   config.mk: move L...
170
171
172
  # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
  # that (or fail if absent).  Otherwise, search for a linker script in a
  # standard location.
ee60197e6   Simon Glass   Allow arch direct...
173
  LDSCRIPT_MAKEFILE_DIR = $(dir $(LDSCRIPT))
d51dfff7a   Ilya Yanok   config.mk: move L...
174
175
176
177
178
179
180
  ifndef LDSCRIPT
  	#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
  	ifdef CONFIG_SYS_LDSCRIPT
  		# need to strip off double quotes
  		LDSCRIPT := $(subst ",,$(CONFIG_SYS_LDSCRIPT))
  	endif
  endif
ee60197e6   Simon Glass   Allow arch direct...
181
  # If there is no specified link script, we look in a number of places for it
d51dfff7a   Ilya Yanok   config.mk: move L...
182
183
184
185
186
187
188
189
190
191
192
193
194
195
  ifndef LDSCRIPT
  	ifeq ($(CONFIG_NAND_U_BOOT),y)
  		LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds
  		ifeq ($(wildcard $(LDSCRIPT)),)
  			LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds
  		endif
  	endif
  	ifeq ($(wildcard $(LDSCRIPT)),)
  		LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
  	endif
  	ifeq ($(wildcard $(LDSCRIPT)),)
  		LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
  	endif
  	ifeq ($(wildcard $(LDSCRIPT)),)
ee60197e6   Simon Glass   Allow arch direct...
196
197
198
199
200
  		LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
  		# We don't expect a Makefile here
  		LDSCRIPT_MAKEFILE_DIR =
  	endif
  	ifeq ($(wildcard $(LDSCRIPT)),)
d51dfff7a   Ilya Yanok   config.mk: move L...
201
202
203
  $(error could not find linker script)
  	endif
  endif
7ebf7443a   wdenk   Initial revision
204
205
  #########################################################################
  # U-Boot objects....order is important (i.e. start must be first)
03b7004dd   Peter Tyser   Create CPUDIR var...
206
  OBJS  = $(CPUDIR)/start.o
7ebf7443a   wdenk   Initial revision
207
  ifeq ($(CPU),ppc4xx)
03b7004dd   Peter Tyser   Create CPUDIR var...
208
  OBJS += $(CPUDIR)/resetvec.o
7ebf7443a   wdenk   Initial revision
209
  endif
42d1f0394   wdenk   * Patches by Xian...
210
  ifeq ($(CPU),mpc85xx)
03b7004dd   Peter Tyser   Create CPUDIR var...
211
  OBJS += $(CPUDIR)/resetvec.o
42d1f0394   wdenk   * Patches by Xian...
212
  endif
7ebf7443a   wdenk   Initial revision
213

a32e626f9   Simon Glass   x86: Remove unnee...
214
  OBJS := $(addprefix $(obj),$(OBJS))
f93286397   Marian Balakowicz   Add support for a...
215

e66443fdb   Scott Wood   Makefile: fix HAV...
216
  HAVE_VENDOR_COMMON_LIB = $(if $(wildcard board/$(VENDOR)/common/Makefile),y,n)
8b5a02640   Daniel Schwierzeck   Makefile: cosmeti...
217

e2906a594   Masahiro Yamada   Makefile: rename ...
218
  LIBS-y += lib/
e2906a594   Masahiro Yamada   Makefile: rename ...
219
220
  LIBS-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
  LIBS-y += $(CPUDIR)/
1d9f41050   wdenk   Patch by Steven S...
221
  ifdef SOC
e2906a594   Masahiro Yamada   Makefile: rename ...
222
  LIBS-y += $(CPUDIR)/$(SOC)/
1d9f41050   wdenk   Patch by Steven S...
223
  endif
e2906a594   Masahiro Yamada   Makefile: rename ...
224
225
226
  LIBS-$(CONFIG_IXP4XX_NPE) += drivers/net/npe/
  LIBS-$(CONFIG_OF_EMBED) += dts/
  LIBS-y += arch/$(ARCH)/lib/
57c3e5fcf   Masahiro Yamada   Makefile: move fs...
227
  LIBS-y += fs/
e2906a594   Masahiro Yamada   Makefile: rename ...
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
  LIBS-y += net/
  LIBS-y += disk/
  LIBS-y += drivers/
  LIBS-y += drivers/dma/
  LIBS-y += drivers/gpio/
  LIBS-y += drivers/i2c/
  LIBS-y += drivers/input/
  LIBS-y += drivers/mmc/
  LIBS-y += drivers/mtd/
  LIBS-y += drivers/mtd/nand/
  LIBS-y += drivers/mtd/onenand/
  LIBS-y += drivers/mtd/ubi/
  LIBS-y += drivers/mtd/spi/
  LIBS-y += drivers/net/
  LIBS-y += drivers/net/phy/
  LIBS-y += drivers/pci/
  LIBS-y += drivers/power/ \
  	drivers/power/fuel_gauge/ \
  	drivers/power/mfd/ \
  	drivers/power/pmic/ \
  	drivers/power/battery/
  LIBS-y += drivers/spi/
  LIBS-$(CONFIG_FMAN_ENET) += drivers/net/fm/
5614e71b4   York Sun   Driver/DDR: Movin...
251
  LIBS-$(CONFIG_SYS_FSL_DDR) += drivers/ddr/fsl/
e2906a594   Masahiro Yamada   Makefile: rename ...
252
253
254
255
256
257
258
259
260
261
  LIBS-y += drivers/serial/
  LIBS-y += drivers/usb/eth/
  LIBS-y += drivers/usb/gadget/
  LIBS-y += drivers/usb/host/
  LIBS-y += drivers/usb/musb/
  LIBS-y += drivers/usb/musb-new/
  LIBS-y += drivers/usb/phy/
  LIBS-y += drivers/usb/ulpi/
  LIBS-y += common/
  LIBS-y += lib/libfdt/
8a7e7d569   Masahiro Yamada   Makefile: descend...
262
  LIBS-$(CONFIG_API) += api/
e2906a594   Masahiro Yamada   Makefile: rename ...
263
264
  LIBS-y += post/
  LIBS-y += test/
f93286397   Marian Balakowicz   Add support for a...
265

24e8bee50   Alison Wang   arm: vf610: Add V...
266
  ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610))
e2906a594   Masahiro Yamada   Makefile: rename ...
267
  LIBS-y += arch/$(ARCH)/imx-common/
18936ee2a   Jason Liu   i.mx: introduce t...
268
  endif
e2906a594   Masahiro Yamada   Makefile: rename ...
269
270
  LIBS-$(CONFIG_ARM) += arch/arm/cpu/
  LIBS-$(CONFIG_PPC) += arch/powerpc/cpu/
852bd07c8   Minkyu Kang   ARMV7: S5P: make ...
271

e2906a594   Masahiro Yamada   Makefile: rename ...
272
  LIBS-y += board/$(BOARDDIR)/
08e39a843   Masahiro Yamada   Makefile: merge $...
273

e2906a594   Masahiro Yamada   Makefile: rename ...
274
  LIBS-y := $(patsubst %/, %/built-in.o, $(LIBS-y))
f52d7b352   Daniel Schwierzeck   Makefile: replace...
275
  LIBS := $(addprefix $(obj),$(sort $(LIBS-y)))
249b53a61   Loïc Minier   Build timestamp_a...
276
  .PHONY : $(LIBS)
a8c7c708a   wdenk   * Patch by Gleb N...
277

4f7cb08ee   wdenk   * Patch by Martin...
278
  # Add GCC lib
52b1bf2c5   Wolfgang Denk   Make linking agai...
279
280
  ifdef USE_PRIVATE_LIBGCC
  ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
635d1b3e1   Matthias Weisser   Makefile: Fix bui...
281
  PLATFORM_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/libgcc.o
52b1bf2c5   Wolfgang Denk   Make linking agai...
282
283
284
285
  else
  PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
  endif
  else
cca4e4aec   Wolfgang Denk   Reduce build times
286
  PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
52b1bf2c5   Wolfgang Denk   Make linking agai...
287
288
289
  endif
  PLATFORM_LIBS += $(PLATFORM_LIBGCC)
  export PLATFORM_LIBS
3d3befa75   wdenk   * Patch by Philip...
290

6ac9f4797   Mike Frysinger   start a linker sc...
291
292
293
294
295
  # Special flags for CPP when processing the linker script.
  # Pass the version down so we can handle backwards compatibility
  # on the fly.
  LDPPFLAGS += \
  	-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
7e6403a66   Simon Glass   Define CPUDIR for...
296
  	-DCPUDIR=$(CPUDIR) \
6ac9f4797   Mike Frysinger   start a linker sc...
297
298
  	$(shell $(LD) --version | \
  	  sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
f93286397   Marian Balakowicz   Add support for a...
299
  __OBJS := $(subst $(obj),,$(OBJS))
08e39a843   Masahiro Yamada   Makefile: merge $...
300
  __LIBS := $(subst $(obj),,$(LIBS))
f93286397   Marian Balakowicz   Add support for a...
301

7ebf7443a   wdenk   Initial revision
302
  #########################################################################
bdccc4fed   wdenk   * Map ISP1362 USB...
303
  #########################################################################
7ebf7443a   wdenk   Initial revision
304

f3a14d377   Mike Frysinger   Makefile: allow b...
305
306
307
  ifneq ($(CONFIG_BOARD_SIZE_LIMIT),)
  BOARD_SIZE_CHECK = \
  	@actual=`wc -c $@ | awk '{print $$1}'`; \
d060e6f44   Joe Hershberger   Allow CONFIG_BOAR...
308
  	limit=`printf "%d" $(CONFIG_BOARD_SIZE_LIMIT)`; \
f3a14d377   Mike Frysinger   Makefile: allow b...
309
  	if test $$actual -gt $$limit; then \
d060e6f44   Joe Hershberger   Allow CONFIG_BOAR...
310
311
312
313
  		echo "$@ exceeds file size limit:" >&2 ; \
  		echo "  limit:  $$limit bytes" >&2 ; \
  		echo "  actual: $$actual bytes" >&2 ; \
  		echo "  excess: $$((actual - limit)) bytes" >&2; \
f3a14d377   Mike Frysinger   Makefile: allow b...
314
315
316
317
318
  		exit 1; \
  	fi
  else
  BOARD_SIZE_CHECK =
  endif
8137af19e   Scott Wood   arm64: Add tool t...
319
320
321
322
323
324
325
326
327
328
  # Statically apply RELA-style relocations (currently arm64 only)
  ifneq ($(CONFIG_STATIC_RELA),)
  # $(1) is u-boot ELF, $(2) is u-boot bin, $(3) is text base
  DO_STATIC_RELA = \
  	start=$$($(NM) $(1) | grep __rel_dyn_start | cut -f 1 -d ' '); \
  	end=$$($(NM) $(1) | grep __rel_dyn_end | cut -f 1 -d ' '); \
  	$(obj)tools/relocate-rela $(2) $(3) $$start $$end
  else
  DO_STATIC_RELA =
  endif
3e88337b2   Mike Frysinger   Blackfin: move AL...
329
  # Always append ALL so that arch config.mk's can add custom ones
4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
330
  ALL-y += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map
e935a374d   Haiying Wang   Fix NAND_SPL and ...
331

4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
332
333
  ALL-$(CONFIG_NAND_U_BOOT) += $(obj)u-boot-nand.bin
  ALL-$(CONFIG_ONENAND_U_BOOT) += $(obj)u-boot-onenand.bin
262737f05   Shaohui Xie   powerpc/tool/pbl:...
334
  ALL-$(CONFIG_RAMBOOT_PBL) += $(obj)u-boot.pbl
5df2ee27d   Daniel Schwierzeck   Hook SPL build-sy...
335
  ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin
4c267374a   Henrik Nordström   Always build u-bo...
336
  ALL-$(CONFIG_SPL_FRAMEWORK) += $(obj)u-boot.img
3aa29de0b   Ying Zhang   TPL : introduce t...
337
  ALL-$(CONFIG_TPL) += $(obj)tpl/u-boot-tpl.bin
2c0f79e44   Simon Glass   fdt: Add support ...
338
  ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin
b343bbb52   Vadim Bendebury   build: Fix make e...
339
340
341
  ifneq ($(CONFIG_SPL_TARGET),)
  ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))
  endif
f4dc714aa   Scott Wood   arm64: Turn u-boo...
342
  ALL-$(CONFIG_REMAKE_ELF) += $(obj)u-boot.elf
0d3c62e46   Chander Kashyap   ARMV7: MMC SPL Bo...
343

12b7b70cb   Allen Martin   tegra20: enable S...
344
  # enable combined SPL/u-boot/dtb rules for tegra
6d6c0baeb   Tom Warren   Tegra30: Add gene...
345
  ifneq ($(CONFIG_TEGRA),)
7dcd3a21f   Vidya Sagar   tegra: allow buil...
346
  ifeq ($(CONFIG_SPL),y)
12b7b70cb   Allen Martin   tegra20: enable S...
347
348
349
350
351
352
  ifeq ($(CONFIG_OF_SEPARATE),y)
  ALL-y += $(obj)u-boot-dtb-tegra.bin
  else
  ALL-y += $(obj)u-boot-nodtb-tegra.bin
  endif
  endif
7dcd3a21f   Vidya Sagar   tegra: allow buil...
353
  endif
12b7b70cb   Allen Martin   tegra20: enable S...
354

71f84ef07   Masahiro Yamada   ARM: imx-common: ...
355
  build := -f $(TOPDIR)/scripts/Makefile.build -C
8a7e7d569   Masahiro Yamada   Makefile: descend...
356
  all:		$(ALL-y) $(SUBDIR_EXAMPLES-y)
7ebf7443a   wdenk   Initial revision
357

501ebdf28   Stephen Warren   Validate dtc is n...
358
  $(obj)u-boot.dtb:	checkdtc $(obj)u-boot
bcfe8fdf3   Masahiro Yamada   dts, api, test: c...
359
  		$(MAKE) $(build) dts binary
2c0f79e44   Simon Glass   fdt: Add support ...
360
361
362
363
  		mv $(obj)dts/dt.dtb $@
  
  $(obj)u-boot-dtb.bin:	$(obj)u-boot.bin $(obj)u-boot.dtb
  		cat $^ >$@
f93286397   Marian Balakowicz   Add support for a...
364
  $(obj)u-boot.hex:	$(obj)u-boot
6310eb9da   wdenk   Patches by David ...
365
  		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
f93286397   Marian Balakowicz   Add support for a...
366
  $(obj)u-boot.srec:	$(obj)u-boot
47ed5dd03   Albert ARIBAUD   arm: keep all sec...
367
  		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
7ebf7443a   wdenk   Initial revision
368

f93286397   Marian Balakowicz   Add support for a...
369
  $(obj)u-boot.bin:	$(obj)u-boot
7ebf7443a   wdenk   Initial revision
370
  		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
8137af19e   Scott Wood   arm64: Add tool t...
371
  		$(call DO_STATIC_RELA,$<,$@,$(CONFIG_SYS_TEXT_BASE))
f3a14d377   Mike Frysinger   Makefile: allow b...
372
  		$(BOARD_SIZE_CHECK)
7ebf7443a   wdenk   Initial revision
373

94a91e248   Mike Frysinger   generate u-boot.l...
374
  $(obj)u-boot.ldr:	$(obj)u-boot
76d82187c   Mike Frysinger   Blackfin: tweak e...
375
  		$(CREATE_LDR_ENV)
68e563249   Mike Frysinger   Blackfin: dont ge...
376
  		$(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
f3a14d377   Mike Frysinger   Makefile: allow b...
377
  		$(BOARD_SIZE_CHECK)
94a91e248   Mike Frysinger   generate u-boot.l...
378
379
380
381
382
383
  
  $(obj)u-boot.ldr.hex:	$(obj)u-boot.ldr
  		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary
  
  $(obj)u-boot.ldr.srec:	$(obj)u-boot.ldr
  		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary
b40bda6bd   Stefan Roese   Makefile: Add pos...
384
385
386
387
388
389
390
  #
  # U-Boot entry point, needed for booting of full-blown U-Boot
  # from the SPL U-Boot version.
  #
  ifndef CONFIG_SYS_UBOOT_START
  CONFIG_SYS_UBOOT_START := 0
  endif
f93286397   Marian Balakowicz   Add support for a...
391
  $(obj)u-boot.img:	$(obj)u-boot.bin
a2a0a7171   Wolfgang Denk   Makefile: fix out...
392
  		$(obj)tools/mkimage -A $(ARCH) -T firmware -C none \
b40bda6bd   Stefan Roese   Makefile: Add pos...
393
394
  		-O u-boot -a $(CONFIG_SYS_TEXT_BASE) \
  		-e $(CONFIG_SYS_UBOOT_START) \
881a87ecb   Wolfgang Denk   Add GIT version i...
395
  		-n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
bdccc4fed   wdenk   * Map ISP1362 USB...
396
397
  			sed -e 's/"[	 ]*$$/ for $(BOARD) board"/') \
  		-d $< $@
291b3dcd4   Otavio Salvador   build: imx: Fix '...
398
  $(obj)u-boot.imx: $(obj)u-boot.bin depend
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
399
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common $(OBJTREE)/u-boot.imx
8edcde5e4   Stefano Babic   mkimage: Add Free...
400

aa0c7a86c   Prafulla Wadaskar   mkimage: Add Kirk...
401
  $(obj)u-boot.kwb:       $(obj)u-boot.bin
31d80c77f   Prafulla Wadaskar   kirkwood: get rid...
402
  		$(obj)tools/mkimage -n $(CONFIG_SYS_KWD_CONFIG) -T kwbimage \
2ea88b063   Eric Cooper   Makefile: rename ...
403
  		-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
aa0c7a86c   Prafulla Wadaskar   mkimage: Add Kirk...
404

5d898a00f   Shaohui Xie   powerpc/CoreNet: ...
405
406
407
408
  $(obj)u-boot.pbl:	$(obj)u-boot.bin
  		$(obj)tools/mkimage -n $(CONFIG_PBLRCW_CONFIG) \
  		-R $(CONFIG_PBLPBI_CONFIG) -T pblimage \
  		-d $< $@
566a494f5   Heiko Schocher   [PCS440EP] u...
409
  $(obj)u-boot.sha1:	$(obj)u-boot.bin
011595307   Heiko Schocher   [PCS440EP] - fix...
410
  		$(obj)tools/ubsha1 $(obj)u-boot.bin
566a494f5   Heiko Schocher   [PCS440EP] u...
411

f93286397   Marian Balakowicz   Add support for a...
412
  $(obj)u-boot.dis:	$(obj)u-boot
7ebf7443a   wdenk   Initial revision
413
  		$(OBJDUMP) -d $< > $@
3aa29de0b   Ying Zhang   TPL : introduce t...
414
415
416
417
418
  # $@ is output, $(1) and $(2) are inputs, $(3) is padded intermediate,
  # $(4) is pad-to
  SPL_PAD_APPEND = \
  		$(OBJCOPY) ${OBJCFLAGS} --pad-to=$(4) -I binary -O binary \
  		$(1) $(obj)$(3); \
b6df9b01f   York Sun   Makefile: Fix bui...
419
  		cat $(obj)$(3) $(2) > $@; \
3aa29de0b   Ying Zhang   TPL : introduce t...
420
  		rm $(obj)$(3)
74752baa7   Scott Wood   spl: Change PAD_T...
421

3aa29de0b   Ying Zhang   TPL : introduce t...
422
423
424
425
426
  ifdef CONFIG_TPL
  SPL_PAYLOAD := $(obj)tpl/u-boot-with-tpl.bin
  else
  SPL_PAYLOAD := $(obj)u-boot.bin
  endif
74752baa7   Scott Wood   spl: Change PAD_T...
427

3aa29de0b   Ying Zhang   TPL : introduce t...
428
429
430
431
  $(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(SPL_PAYLOAD)
  		$(call SPL_PAD_APPEND,$<,$(SPL_PAYLOAD),spl/u-boot-spl-pad.bin,$(CONFIG_SPL_PAD_TO))
  
  $(obj)tpl/u-boot-with-tpl.bin: $(obj)tpl/u-boot-tpl.bin $(obj)u-boot.bin
b6df9b01f   York Sun   Makefile: Fix bui...
432
  		$(call SPL_PAD_APPEND,$<,$(obj)u-boot.bin,tpl/u-boot-tpl-pad.bin,$(CONFIG_TPL_PAD_TO))
7816f2cf8   Heiko Schocher   mkimage: add UBL ...
433

ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
434
  $(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
435
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common \
ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
436
  			$(OBJTREE)/u-boot-with-spl.imx
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
437
  $(obj)u-boot-with-nand-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
438
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common \
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
439
  			$(OBJTREE)/u-boot-with-nand-spl.imx
5364add4e   Scott Wood   spl: rename u-boo...
440
  $(obj)u-boot.ubl:       $(obj)u-boot-with-spl.bin
277f00f5b   José Miguel Gonçalves   Add u-boot-pad.bi...
441
  		$(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \
5364add4e   Scott Wood   spl: rename u-boo...
442
  		-e $(CONFIG_SYS_TEXT_BASE) -d $< $(obj)u-boot.ubl
277f00f5b   José Miguel Gonçalves   Add u-boot-pad.bi...
443

3f7f2414e   Tom Rini   ARM: SPL: Convert...
444
  $(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
6d660e773   Sughosh Ganu   hawkboard/omapl-1...
445
446
  		$(obj)tools/mkimage -s -n $(if $(CONFIG_AIS_CONFIG_FILE),$(CONFIG_AIS_CONFIG_FILE),"/dev/null") \
  			-T aisimage \
d36d88598   Christian Riesch   arm, davinci: Add...
447
448
449
450
451
452
  			-e $(CONFIG_SPL_TEXT_BASE) \
  			-d $(obj)spl/u-boot-spl.bin \
  			$(obj)spl/u-boot-spl.ais
  		$(OBJCOPY) ${OBJCFLAGS} -I binary \
  			--pad-to=$(CONFIG_SPL_MAX_SIZE) -O binary \
  			$(obj)spl/u-boot-spl.ais $(obj)spl/u-boot-spl-pad.ais
3f7f2414e   Tom Rini   ARM: SPL: Convert...
453
  		cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.img > \
d36d88598   Christian Riesch   arm, davinci: Add...
454
  			$(obj)u-boot.ais
d36d88598   Christian Riesch   arm, davinci: Add...
455

a54535551   Otavio Salvador   MX28: config: All...
456

30b9b932a   Marek Vasut   iMX28: Add u-boot...
457
  $(obj)u-boot.sb:       $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
edabc1bc6   Masahiro Yamada   Makfile: fix a ru...
458
  		$(MAKE) $(build) $(SRCTREE)/$(CPUDIR)/$(SOC)/ $(OBJTREE)/u-boot.sb
30b9b932a   Marek Vasut   iMX28: Add u-boot...
459

94aebe6cc   Stefan Roese   Makefile: Add u-b...
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
  # On x600 (SPEAr600) U-Boot is appended to U-Boot SPL.
  # Both images are created using mkimage (crc etc), so that the ROM
  # bootloader can check its integrity. Padding needs to be done to the
  # SPL image (with mkimage header) and not the binary. Otherwise the resulting image
  # which is loaded/copied by the ROM bootloader to SRAM doesn't fit.
  # The resulting image containing both U-Boot images is called u-boot.spr
  $(obj)u-boot.spr:	$(obj)u-boot.img $(obj)spl/u-boot-spl.bin
  		$(obj)tools/mkimage -A $(ARCH) -T firmware -C none \
  		-a $(CONFIG_SPL_TEXT_BASE) -e $(CONFIG_SPL_TEXT_BASE) -n XLOADER \
  		-d $(obj)spl/u-boot-spl.bin $(obj)spl/u-boot-spl.img
  		tr "\000" "\377" < /dev/zero | dd ibs=1 count=$(CONFIG_SPL_PAD_TO) \
  			of=$(obj)spl/u-boot-spl-pad.img 2>/dev/null
  		dd if=$(obj)spl/u-boot-spl.img of=$(obj)spl/u-boot-spl-pad.img \
  			conv=notrunc 2>/dev/null
  		cat $(obj)spl/u-boot-spl-pad.img $(obj)u-boot.img > $@
6d6c0baeb   Tom Warren   Tegra30: Add gene...
475
  ifneq ($(CONFIG_TEGRA),)
9972db5cf   Stephen Warren   tegra: always bui...
476
  $(obj)u-boot-nodtb-tegra.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
984df4ec9   Allen Martin   tegra20: add u-bo...
477
  		$(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SYS_TEXT_BASE) -O binary $(obj)spl/u-boot-spl $(obj)spl/u-boot-spl-pad.bin
9972db5cf   Stephen Warren   tegra: always bui...
478
  		cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $@
984df4ec9   Allen Martin   tegra20: add u-bo...
479
  		rm $(obj)spl/u-boot-spl-pad.bin
9972db5cf   Stephen Warren   tegra: always bui...
480
481
482
483
484
  
  ifeq ($(CONFIG_OF_SEPARATE),y)
  $(obj)u-boot-dtb-tegra.bin: $(obj)u-boot-nodtb-tegra.bin $(obj)u-boot.dtb
  		cat $(obj)u-boot-nodtb-tegra.bin $(obj)u-boot.dtb > $@
  endif
984df4ec9   Allen Martin   tegra20: add u-bo...
485
  endif
984df4ec9   Allen Martin   tegra20: add u-bo...
486

fb3d2b8a3   Stefan Roese   Makefile: Add tar...
487
488
  $(obj)u-boot-img.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
  		cat $(obj)spl/u-boot-spl.bin $(obj)u-boot.img > $@
ecddccd00   Stefan Roese   Makefile: Add tar...
489
490
491
492
493
494
495
496
497
498
499
  # PPC4xx needs the SPL at the end of the image, since the reset vector
  # is located at 0xfffffffc. So we can't use the "u-boot-img.bin" target
  # and need to introduce a new build target with the full blown U-Boot
  # at the start padded up to the start of the SPL image. And then concat
  # the SPL image to the end.
  $(obj)u-boot-img-spl-at-end.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
  		tr "\000" "\377" < /dev/zero | dd ibs=1 count=$(CONFIG_UBOOT_PAD_TO) \
  			of=$(obj)u-boot-pad.img 2>/dev/null
  		dd if=$(obj)u-boot.img of=$(obj)u-boot-pad.img \
  			conv=notrunc 2>/dev/null
  		cat $(obj)u-boot-pad.img $(obj)spl/u-boot-spl.bin > $@
f4dc714aa   Scott Wood   arm64: Turn u-boo...
500
501
502
503
504
505
506
507
508
509
510
  # Create a new ELF from a raw binary file.  This is useful for arm64
  # where static relocation needs to be performed on the raw binary,
  # but certain simulators only accept an ELF file (but don't do the
  # relocation).
  # FIXME refactor dts/Makefile to share target/arch detection
  $(obj)u-boot.elf: $(obj)u-boot.bin
  	@$(OBJCOPY)  -B aarch64 -I binary -O elf64-littleaarch64 \
  		$< $(obj)u-boot-elf.o
  	@$(LD) $(obj)u-boot-elf.o -o $@ \
  		--defsym=_start=$(CONFIG_SYS_TEXT_BASE) \
  		-Ttext=$(CONFIG_SYS_TEXT_BASE)
86eb49b3e   Simon Glass   sandbox: Makefile...
511
512
513
514
515
516
  ifeq ($(CONFIG_SANDBOX),y)
  GEN_UBOOT = \
  		cd $(LNDIR) && $(CC) $(SYMS) -T $(obj)u-boot.lds \
  			-Wl,--start-group $(__LIBS) -Wl,--end-group \
  			$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map -o u-boot
  else
ecb1dc892   Mike Frysinger   Add support for L...
517
  GEN_UBOOT = \
97b24d3d5   Marek Vasut   common: Add symbo...
518
  		cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
ef123c525   Albert ARIBAUD   Refactor linker-g...
519
  			$(__OBJS) \
f93286397   Marian Balakowicz   Add support for a...
520
  			--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
b2184c314   wdenk   * Patch by Daniel...
521
  			-Map u-boot.map -o u-boot
86eb49b3e   Simon Glass   sandbox: Makefile...
522
  endif
16a354f92   Wolfgang Denk   include/asm-offse...
523
  $(obj)u-boot:	depend \
08e39a843   Masahiro Yamada   Makefile: merge $...
524
  		$(SUBDIR_TOOLS) $(OBJS) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds
ecb1dc892   Mike Frysinger   Add support for L...
525
526
  		$(GEN_UBOOT)
  ifeq ($(CONFIG_KALLSYMS),y)
8a156fb6e   Mike Frysinger   fix out of tree b...
527
  		smap=`$(call SYSTEM_MAP,$(obj)u-boot) | \
1aada9cd6   Wolfgang Denk   Fix all linker sc...
528
529
530
  			awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\\\000"}'` ; \
  		$(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" \
  			-c common/system_map.c -o $(obj)common/system_map.o
ecb1dc892   Mike Frysinger   Add support for L...
531
532
  		$(GEN_UBOOT) $(obj)common/system_map.o
  endif
7ebf7443a   wdenk   Initial revision
533

3bddafaab   Masahiro Yamada   Makefile: convert...
534
535
  $(OBJS):
  	@:
f93286397   Marian Balakowicz   Add support for a...
536

349e83f07   Che-liang Chiou   examples: api: al...
537
  $(LIBS):	depend $(SUBDIR_TOOLS)
3bddafaab   Masahiro Yamada   Makefile: convert...
538
  		$(MAKE) $(build) $(dir $(subst $(obj),,$@))
a8c7c708a   wdenk   * Patch by Gleb N...
539

d0d6144e0   Peter Tyser   Makefile: Make au...
540
  $(SUBDIRS):	depend
b028f7151   wdenk   * Patch by Yuli B...
541
  		$(MAKE) -C $@ all
7ebf7443a   wdenk   Initial revision
542

8a7e7d569   Masahiro Yamada   Makefile: descend...
543
  $(SUBDIR_EXAMPLES-y): $(obj)u-boot
349e83f07   Che-liang Chiou   examples: api: al...
544

d0d6144e0   Peter Tyser   Makefile: Make au...
545
  $(LDSCRIPT):	depend
f65c98129   Mike Frysinger   Makefile: add tar...
546
  		$(MAKE) -C $(dir $@) $(notdir $@)
ef123c525   Albert ARIBAUD   Refactor linker-g...
547
  $(obj)u-boot.lds: $(LDSCRIPT)
97b24d3d5   Marek Vasut   common: Add symbo...
548
  		$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
1aada9cd6   Wolfgang Denk   Fix all linker sc...
549

e935a374d   Haiying Wang   Fix NAND_SPL and ...
550
  nand_spl:	$(TIMESTAMP_FILE) $(VERSION_FILE) depend
8318fbf8c   Marian Balakowicz   Fix sequoia separ...
551
  		$(MAKE) -C nand_spl/board/$(BOARDDIR) all
887e2ec9e   Stefan Roese   Add support for A...
552

e935a374d   Haiying Wang   Fix NAND_SPL and ...
553
  $(obj)u-boot-nand.bin:	nand_spl $(obj)u-boot.bin
8318fbf8c   Marian Balakowicz   Fix sequoia separ...
554
  		cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
887e2ec9e   Stefan Roese   Add support for A...
555

bd25fdba4   Aneesh V   Makefile: Add the...
556
  $(obj)spl/u-boot-spl.bin:	$(SUBDIR_TOOLS) depend
5df2ee27d   Daniel Schwierzeck   Hook SPL build-sy...
557
  		$(MAKE) -C spl all
3aa29de0b   Ying Zhang   TPL : introduce t...
558
559
  $(obj)tpl/u-boot-tpl.bin:	$(SUBDIR_TOOLS) depend
  		$(MAKE) -C spl all CONFIG_TPL_BUILD=y
2a9987935   Daniel Hobi   Makefile: fix par...
560
561
  # Explicitly make _depend in subdirs containing multiple targets to prevent
  # parallel sub-makes creating .depend files simultaneously.
16a354f92   Wolfgang Denk   include/asm-offse...
562
  depend dep:	$(TIMESTAMP_FILE) $(VERSION_FILE) \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
563
  		$(obj)include/spl-autoconf.mk \
3aa29de0b   Ying Zhang   TPL : introduce t...
564
  		$(obj)include/tpl-autoconf.mk \
16a354f92   Wolfgang Denk   include/asm-offse...
565
  		$(obj)include/autoconf.mk \
a4814a69d   Stefano Babic   Makefile : fix ge...
566
567
  		$(obj)include/generated/generic-asm-offsets.h \
  		$(obj)include/generated/asm-offsets.h
7ebf7443a   wdenk   Initial revision
568

e5e4e705c   Li Yang   Update Makefile f...
569
570
  TAG_SUBDIRS = $(SUBDIRS)
  TAG_SUBDIRS += $(dir $(__LIBS))
a340c325e   Jean-Christophe PLAGNIOL-VILLARD   Makefile : fix ta...
571
  TAG_SUBDIRS += include
a340c325e   Jean-Christophe PLAGNIOL-VILLARD   Makefile : fix ta...
572

857d9ea67   Horst Kronstorfer   Let source cross-...
573
574
  FIND := find
  FINDFLAGS := -L
1064d980b   Tom Rini   tools: checkstack...
575
576
577
578
  checkstack:
  		$(CROSS_COMPILE)objdump -d $(obj)u-boot \
  			`$(FIND) $(obj) -name u-boot-spl -print` | \
  			perl $(src)tools/checkstack.pl $(ARCH)
f93286397   Marian Balakowicz   Add support for a...
579
  tags ctags:
857d9ea67   Horst Kronstorfer   Let source cross-...
580
  		ctags -w -o $(obj)ctags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
e5e4e705c   Li Yang   Update Makefile f...
581
  						-name '*.[chS]' -print`
7ebf7443a   wdenk   Initial revision
582
583
  
  etags:
857d9ea67   Horst Kronstorfer   Let source cross-...
584
  		etags -a -o $(obj)etags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
e5e4e705c   Li Yang   Update Makefile f...
585
  						-name '*.[chS]' -print`
ffda586fc   Li Yang   add cscope build ...
586
  cscope:
857d9ea67   Horst Kronstorfer   Let source cross-...
587
588
  		$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) -name '*.[chS]' -print > \
  						cscope.files
ffda586fc   Li Yang   add cscope build ...
589
  		cscope -b -q -k
7ebf7443a   wdenk   Initial revision
590

ecb1dc892   Mike Frysinger   Add support for L...
591
592
  SYSTEM_MAP = \
  		$(NM) $1 | \
7ebf7443a   wdenk   Initial revision
593
  		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
ecb1dc892   Mike Frysinger   Add support for L...
594
595
  		LC_ALL=C sort
  $(obj)System.map:	$(obj)u-boot
bc8bb6ec0   Masahiro Yamada   Makefile: refacto...
596
  		@$(call SYSTEM_MAP,$<) > $@
7ebf7443a   wdenk   Initial revision
597

06a119a03   Tom Rini   Makefile: Add a '...
598
599
600
601
602
603
604
  checkthumb:
  	@if test $(call cc-version) -lt 0404; then \
  		echo -n '*** Your GCC does not produce working '; \
  		echo 'binaries in THUMB mode.'; \
  		echo '*** Your board is configured for THUMB mode.'; \
  		false; \
  	fi
6ec63f411   Scott Wood   powerpc: change ....
605
606
607
608
609
610
611
612
613
  
  # GCC 3.x is reported to have problems generating the type of relocation
  # that U-Boot wants.
  # See http://lists.denx.de/pipermail/u-boot/2012-September/135156.html
  checkgcc4:
  	@if test $(call cc-version) -lt 0400; then \
  		echo -n '*** Your GCC is too old, please upgrade to GCC 4.x or newer'; \
  		false; \
  	fi
501ebdf28   Stephen Warren   Validate dtc is n...
614
615
616
617
618
  checkdtc:
  	@if test $(call dtc-version) -lt 0104; then \
  		echo '*** Your dtc is too old, please upgrade to dtc 1.4 or newer'; \
  		false; \
  	fi
2f155f6c0   Grant Likely   [BUILD] Generate ...
619
620
621
622
623
624
  #
  # Auto-generate the autoconf.mk file (which is included by all makefiles)
  #
  # This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
  # the dep file is only include in this top level makefile to determine when
  # to regenerate the autoconf.mk file.
1510b82d5   Wolfgang Denk   Makefile: fix "er...
625
626
  $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h
  	@$(XECHO) Generating $@ ; \
16fe77752   Mike Frysinger   error check autoc...
627
  	set -e ; \
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
628
  	: Generate the dependancies ; \
4c34b2a09   Mike Frysinger   autoconf.mk.dep: ...
629
  	$(CC) -x c -DDO_DEPS_ONLY -M $(CFLAGS) $(CPPFLAGS) \
1510b82d5   Wolfgang Denk   Makefile: fix "er...
630
631
632
633
634
  		-MQ $(obj)include/autoconf.mk include/common.h > $@
  
  $(obj)include/autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
  	set -e ; \
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
635
  	: Extract the config macros ; \
1510b82d5   Wolfgang Denk   Makefile: fix "er...
636
  	$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
4a0f7538c   Wolfgang Denk   Makefile: fix dep...
637
638
  		sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
  	mv $@.tmp $@
2f155f6c0   Grant Likely   [BUILD] Generate ...
639

39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
640
  # Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
3aa29de0b   Ying Zhang   TPL : introduce t...
641
642
643
644
645
646
647
648
  $(obj)include/tpl-autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
  	set -e ; \
  	: Extract the config macros ; \
  	$(CPP) $(CFLAGS) -DCONFIG_TPL_BUILD  -DCONFIG_SPL_BUILD\
  			-DDO_DEPS_ONLY -dM include/common.h | \
  	sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
  	mv $@.tmp $@
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
649
650
651
652
653
654
655
  $(obj)include/spl-autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
  	set -e ; \
  	: Extract the config macros ; \
  	$(CPP) $(CFLAGS) -DCONFIG_SPL_BUILD -DDO_DEPS_ONLY -dM include/common.h | \
  	sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
  	mv $@.tmp $@
16a354f92   Wolfgang Denk   include/asm-offse...
656
  $(obj)include/generated/generic-asm-offsets.h:	$(obj)include/autoconf.mk.dep \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
657
  	$(obj)include/spl-autoconf.mk \
3aa29de0b   Ying Zhang   TPL : introduce t...
658
  	$(obj)include/tpl-autoconf.mk \
16a354f92   Wolfgang Denk   include/asm-offse...
659
660
661
662
663
  	$(obj)lib/asm-offsets.s
  	@$(XECHO) Generating $@
  	tools/scripts/make-asm-offsets $(obj)lib/asm-offsets.s $@
  
  $(obj)lib/asm-offsets.s:	$(obj)include/autoconf.mk.dep \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
664
  	$(obj)include/spl-autoconf.mk \
3aa29de0b   Ying Zhang   TPL : introduce t...
665
  	$(obj)include/tpl-autoconf.mk \
16a354f92   Wolfgang Denk   include/asm-offse...
666
667
668
669
670
  	$(src)lib/asm-offsets.c
  	@mkdir -p $(obj)lib
  	$(CC) -DDO_DEPS_ONLY \
  		$(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
  		-o $@ $(src)lib/asm-offsets.c -c -S
a4814a69d   Stefano Babic   Makefile : fix ge...
671
  $(obj)include/generated/asm-offsets.h:	$(obj)include/autoconf.mk.dep \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
672
  	$(obj)include/spl-autoconf.mk \
3aa29de0b   Ying Zhang   TPL : introduce t...
673
  	$(obj)include/tpl-autoconf.mk \
a4814a69d   Stefano Babic   Makefile : fix ge...
674
  	$(obj)$(CPUDIR)/$(SOC)/asm-offsets.s
b12734eed   Wolfgang Denk   Makefile: avoid "...
675
  	@$(XECHO) Generating $@
a4814a69d   Stefano Babic   Makefile : fix ge...
676
  	tools/scripts/make-asm-offsets $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s $@
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
677
  $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s:	$(obj)include/autoconf.mk.dep \
3aa29de0b   Ying Zhang   TPL : introduce t...
678
679
  	$(obj)include/spl-autoconf.mk \
  	$(obj)include/tpl-autoconf.mk
a4814a69d   Stefano Babic   Makefile : fix ge...
680
681
682
683
684
685
686
687
  	@mkdir -p $(obj)$(CPUDIR)/$(SOC)
  	if [ -f $(src)$(CPUDIR)/$(SOC)/asm-offsets.c ];then \
  		$(CC) -DDO_DEPS_ONLY \
  		$(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
  			-o $@ $(src)$(CPUDIR)/$(SOC)/asm-offsets.c -c -S; \
  	else \
  		touch $@; \
  	fi
7ebf7443a   wdenk   Initial revision
688
  #########################################################################
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
689
  else	# !config.mk
f93286397   Marian Balakowicz   Add support for a...
690
691
  all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
  $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \
249b53a61   Loïc Minier   Build timestamp_a...
692
  $(filter-out tools,$(SUBDIRS)) \
2e78e75e1   Masahiro Yamada   tools: updater: R...
693
  depend dep tags ctags etags cscope $(obj)System.map:
7ebf7443a   wdenk   Initial revision
694
695
  	@echo "System not configured - see README" >&2
  	@ exit 1
c7c0d542a   Mike Frysinger   tools: allow peop...
696

249b53a61   Loïc Minier   Build timestamp_a...
697
  tools: $(VERSION_FILE) $(TIMESTAMP_FILE)
0358df427   Mike Frysinger   unify toplevel to...
698
  	$(MAKE) -C $@ all
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
699
  endif	# config.mk
7ebf7443a   wdenk   Initial revision
700

54799e459   Scott Wood   arm64: Make check...
701
702
  # ARM relocations should all be R_ARM_RELATIVE (32-bit) or
  # R_AARCH64_RELATIVE (64-bit).
c37980c31   Albert ARIBAUD   arm: ensure u-boo...
703
  checkarmreloc: $(obj)u-boot
54799e459   Scott Wood   arm64: Make check...
704
705
706
707
708
709
710
  	@RELOC="`$(CROSS_COMPILE)readelf -r -W $< | cut -d ' ' -f 4 | \
  		grep R_A | sort -u`"; \
  	if test "$$RELOC" != "R_ARM_RELATIVE" -a \
  		 "$$RELOC" != "R_AARCH64_RELATIVE"; then \
  		echo "$< contains unexpected relocations: $$RELOC"; \
  		false; \
  	fi
c37980c31   Albert ARIBAUD   arm: ensure u-boo...
711

28abd48f5   Ilya Yanok   Makefile: move $(...
712
  $(VERSION_FILE):
14ce91b11   Mike Frysinger   fix unconfigured ...
713
  		@mkdir -p $(dir $(VERSION_FILE))
28abd48f5   Ilya Yanok   Makefile: move $(...
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
  		@( localvers='$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ; \
  		   printf '#define PLAIN_VERSION "%s%s"
  ' \
  			"$(U_BOOT_VERSION)" "$${localvers}" ; \
  		   printf '#define U_BOOT_VERSION "U-Boot %s%s"
  ' \
  			"$(U_BOOT_VERSION)" "$${localvers}" ; \
  		) > $@.tmp
  		@( printf '#define CC_VERSION_STRING "%s"
  ' \
  		 '$(shell $(CC) --version | head -n 1)' )>>  $@.tmp
  		@( printf '#define LD_VERSION_STRING "%s"
  ' \
  		 '$(shell $(LD) -v | head -n 1)' )>>  $@.tmp
  		@cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
249b53a61   Loïc Minier   Build timestamp_a...
729
730
  $(TIMESTAMP_FILE):
  		@mkdir -p $(dir $(TIMESTAMP_FILE))
a76406fb0   Loïc Minier   Safer timestamp_a...
731
732
733
  		@LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > $@.tmp
  		@LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> $@.tmp
  		@cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
249b53a61   Loïc Minier   Build timestamp_a...
734

0358df427   Mike Frysinger   unify toplevel to...
735
736
737
  easylogo env gdb:
  	$(MAKE) -C tools/$@ all MTD_VERSION=${MTD_VERSION}
  gdbtools: gdb
30ff89189   Marek Vasut   kerneldoc: Implan...
738
739
  xmldocs pdfdocs psdocs htmldocs mandocs: tools/kernel-doc/docproc
  	$(MAKE) U_BOOT_VERSION=$(U_BOOT_VERSION) -C doc/DocBook/ $@
249b53a61   Loïc Minier   Build timestamp_a...
740
  tools-all: easylogo env gdb $(VERSION_FILE) $(TIMESTAMP_FILE)
0358df427   Mike Frysinger   unify toplevel to...
741
  	$(MAKE) -C tools HOST_TOOLS_ALL=y
4e53a2585   Wolfgang Denk   Fix Makefile for ...
742
743
  .PHONY : CHANGELOG
  CHANGELOG:
b985b5d6e   Ben Warren   Fix TSEC driver: ...
744
745
  	git log --no-merges U-Boot-1_1_5.. | \
  	unexpand -a | sed -e 's/\s\s*$$//' > $@
4e53a2585   Wolfgang Denk   Fix Makefile for ...
746

0a823aa2a   Harald Welte   Add 'license' com...
747
  include/license.h: tools/bin2header COPYING
0e42ada31   Wolfgang Denk   Fix printing of m...
748
  	cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h
7ebf7443a   wdenk   Initial revision
749
750
751
  #########################################################################
  
  unconfig:
887e2ec9e   Stefan Roese   Add support for A...
752
  	@rm -f $(obj)include/config.h $(obj)include/config.mk \
2f155f6c0   Grant Likely   [BUILD] Generate ...
753
  		$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
754
  		$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep \
3aa29de0b   Ying Zhang   TPL : introduce t...
755
756
  		$(obj)include/spl-autoconf.mk \
  		$(obj)include/tpl-autoconf.mk
7ebf7443a   wdenk   Initial revision
757

a6862bc12   Wolfgang Denk   Makefile/mkconfig...
758
759
  %_config::	unconfig
  	@$(MKCONFIG) -A $(@:_config=)
d6a5e6d53   Loïc Minier   Cleanup .boards.d...
760
761
  sinclude $(obj).boards.depend
  $(obj).boards.depend:	boards.cfg
50c2a91b6   Masahiro Yamada   Makefile: Do not ...
762
  	@awk '(NF && $$1 !~ /^#/) { print $$7 ": " $$7 "_config; $$(MAKE)" }' $< > $@
9f4a42066   Mike Frysinger   new default short...
763

699f05125   Wolfgang Denk   Prepare v1.3.4-rc...
764
  #########################################################################
3e38691e8   wdenk   * Patch by Arun D...
765
  #########################################################################
7ebf7443a   wdenk   Initial revision
766
767
  
  clean:
1bc153861   Peter Tyser   Move examples/ to...
768
  	@rm -f $(obj)examples/standalone/82559_eeprom			  \
d640ac58d   Wolfgang Denk   Remove "atmel_df_...
769
  	       $(obj)examples/standalone/atmel_df_pow2			  \
1bc153861   Peter Tyser   Move examples/ to...
770
771
772
773
774
  	       $(obj)examples/standalone/eepro100_eeprom		  \
  	       $(obj)examples/standalone/hello_world			  \
  	       $(obj)examples/standalone/interrupt			  \
  	       $(obj)examples/standalone/mem_to_mem_idma2intr		  \
  	       $(obj)examples/standalone/sched				  \
201a017c2   Mike Frysinger   examples: add smc...
775
  	       $(obj)examples/standalone/smc911{11,x}_eeprom		  \
1bc153861   Peter Tyser   Move examples/ to...
776
777
  	       $(obj)examples/standalone/test_burst			  \
  	       $(obj)examples/standalone/timer
d4abc757c   Peter Tyser   Move api_examples...
778
  	@rm -f $(obj)examples/api/demo{,.bin}
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
779
780
781
782
783
  	@rm -f $(obj)tools/bmp_logo	   $(obj)tools/easylogo/easylogo  \
  	       $(obj)tools/env/{fw_printenv,fw_setenv}			  \
  	       $(obj)tools/envcrc					  \
  	       $(obj)tools/gdb/{astest,gdbcont,gdbsend}			  \
  	       $(obj)tools/gen_eth_addr    $(obj)tools/img2srec		  \
7717fe10b   Horst Kronstorfer   Makefile: add too...
784
  	       $(obj)tools/mk{env,}image   $(obj)tools/mpc86x_clk	  \
ad403e71b   Chander Kashyap   CONFIG: EXYNOS5: ...
785
  	       $(obj)tools/mk{$(BOARD),}spl				  \
8aa090265   Marek Vasut   MX28: Cleanup mxs...
786
  	       $(obj)tools/mxsboot					  \
30ff89189   Marek Vasut   kerneldoc: Implan...
787
  	       $(obj)tools/ncb		   $(obj)tools/ubsha1		  \
6c887b2ac   Simon Glass   Add proftool to d...
788
789
  	       $(obj)tools/kernel-doc/docproc				  \
  	       $(obj)tools/proftool
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
790
  	@rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image}	  \
74c7a95f2   Wolfgang Denk   Makefile: clean M...
791
  	       $(obj)board/matrix_vision/*/bootscript.img		  \
566e5cf45   Wolfgang Denk   ARM: drop unsuppo...
792
  	       $(obj)board/voiceblue/eeprom 				  \
1aada9cd6   Wolfgang Denk   Fix all linker sc...
793
  	       $(obj)u-boot.lds						  \
fb5166ce3   Mike Frysinger   Blackfin: add ini...
794
  	       $(obj)arch/blackfin/cpu/init.{lds,elf}
dc7746d86   Wolfgang Denk   Makefile: remove ...
795
  	@rm -f $(obj)include/bmp_logo.h
c270730f5   Che-Liang Chiou   tools: logo: spli...
796
  	@rm -f $(obj)include/bmp_logo_data.h
16a354f92   Wolfgang Denk   include/asm-offse...
797
  	@rm -f $(obj)lib/asm-offsets.s
a4814a69d   Stefano Babic   Makefile : fix ge...
798
799
  	@rm -f $(obj)include/generated/asm-offsets.h
  	@rm -f $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s
d4abc757c   Peter Tyser   Move api_examples...
800
  	@rm -f $(TIMESTAMP_FILE) $(VERSION_FILE)
b3141fdb9   Andreas Bießmann   Makefile: silence...
801
  	@$(MAKE) -s -C doc/DocBook/ cleandocs
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
802
  	@find $(OBJTREE) -type f \
4a30f1e87   Tom Rini   config.mk: Check ...
803
  		\( -name 'core' -o -name '*.bak' -o -name '*~' -o -name '*.su' \
71a988aa6   Troy Kisky   imximage.cfg: run...
804
805
  		-o -name '*.o'	-o -name '*.a' -o -name '*.exe' \
  		-o -name '*.cfgtmp' \) -print \
7ebf7443a   wdenk   Initial revision
806
  		| xargs rm -f
7ebf7443a   wdenk   Initial revision
807

734329f96   Andy Fleming   Add a "tidy" buil...
808
809
810
811
812
813
814
815
  # Removes everything not needed for testing u-boot
  tidy:	clean
  	@find $(OBJTREE) -type f \( -name '*.depend*' \) -print | xargs rm -f
  
  clobber:	tidy
  	@find $(OBJTREE) -type f \( -name '*.srec' \
  		-o -name '*.bin' -o -name u-boot.img \) \
  		-print0 | xargs -0 rm -f
ffda586fc   Li Yang   add cscope build ...
816
  	@rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
5013c09f7   Wolfgang Denk   Makefile: cleanup...
817
  		$(obj)cscope.* $(obj)*.*~
4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
818
  	@rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL-y)
aa0c7a86c   Prafulla Wadaskar   mkimage: Add Kirk...
819
  	@rm -f $(obj)u-boot.kwb
5d898a00f   Shaohui Xie   powerpc/CoreNet: ...
820
  	@rm -f $(obj)u-boot.pbl
c5fb70c91   Stefano Babic   Add initial suppo...
821
  	@rm -f $(obj)u-boot.imx
ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
822
  	@rm -f $(obj)u-boot-with-spl.imx
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
823
  	@rm -f $(obj)u-boot-with-nand-spl.imx
7816f2cf8   Heiko Schocher   mkimage: add UBL ...
824
  	@rm -f $(obj)u-boot.ubl
d36d88598   Christian Riesch   arm, davinci: Add...
825
  	@rm -f $(obj)u-boot.ais
bbb0b128c   Simon Glass   fdt: Add support ...
826
  	@rm -f $(obj)u-boot.dtb
30b9b932a   Marek Vasut   iMX28: Add u-boot...
827
  	@rm -f $(obj)u-boot.sb
714dc001f   Marek Vasut   arm: mxs: Preproc...
828
  	@rm -f $(obj)u-boot.bd
94aebe6cc   Stefan Roese   Makefile: Add u-b...
829
  	@rm -f $(obj)u-boot.spr
97b24d3d5   Marek Vasut   common: Add symbo...
830
831
832
  	@rm -f $(obj)nand_spl/{u-boot.{lds,lst},System.map}
  	@rm -f $(obj)nand_spl/{u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map}
  	@rm -f $(obj)spl/{u-boot-spl,u-boot-spl.bin,u-boot-spl.map}
ef123c525   Albert ARIBAUD   Refactor linker-g...
833
  	@rm -f $(obj)spl/u-boot-spl.lds
3aa29de0b   Ying Zhang   TPL : introduce t...
834
835
  	@rm -f $(obj)tpl/{u-boot-tpl,u-boot-tpl.bin,u-boot-tpl.map}
  	@rm -f $(obj)tpl/u-boot-spl.lds
94bcfe524   Nishanth Menon   Makefile: remove ...
836
  	@rm -f $(obj)MLO MLO.byteswap
a3cbc3969   Stefano Babic   ARM: Add SPL targ...
837
  	@rm -f $(obj)SPL
8b425b3f8   Daniel Schwierzeck   MIPS: fix renamin...
838
  	@rm -f $(obj)tools/xway-swap-bytes
a9d8bc980   Loïc Minier   Don't add symlink...
839
  	@rm -fr $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
16a354f92   Wolfgang Denk   include/asm-offse...
840
  	@rm -fr $(obj)include/generated
a958b663d   Jean-Christophe PLAGNIOL-VILLARD   Makefile: fix pos...
841
  	@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f
bbb0b128c   Simon Glass   fdt: Add support ...
842
  	@rm -f $(obj)dts/*.tmp
6d660e773   Sughosh Ganu   hawkboard/omapl-1...
843
  	@rm -f $(obj)spl/u-boot-spl{,-pad}.ais
f93286397   Marian Balakowicz   Add support for a...
844

f93286397   Marian Balakowicz   Add support for a...
845
846
  mrproper \
  distclean:	clobber unconfig
afd077bd1   Mike Frysinger   simplify clobber ...
847
  ifneq ($(OBJTREE),$(SRCTREE))
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
848
  	rm -rf $(obj)*
f93286397   Marian Balakowicz   Add support for a...
849
  endif
7ebf7443a   wdenk   Initial revision
850
851
852
  
  backup:
  	F=`basename $(TOPDIR)` ; cd .. ; \
d6b937142   Ilya Yanok   Makefile: always ...
853
  	gtar --force-local -zcvf `LC_ALL=C date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
7ebf7443a   wdenk   Initial revision
854
855
  
  #########################################################################