Blame view

Makefile 27.4 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 =
b44bd2c73   Tom Rini   Prepare v2014.01
10
  EXTRAVERSION =
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
109
110
111
112
113
114
115
116
  # $(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...
117
  endif
f93286397   Marian Balakowicz   Add support for a...
118
  export obj src
5013c09f7   Wolfgang Denk   Makefile: cleanup...
119
120
  # Make sure CDPATH settings don't interfere
  unexport CDPATH
f93286397   Marian Balakowicz   Add support for a...
121
  #########################################################################
7ebf7443a   wdenk   Initial revision
122

6d1ce3878   Mike Frysinger   make sure topleve...
123
124
  # The "tools" are needed early, so put this first
  # Don't include stuff already done in $(LIBS)
349e83f07   Che-liang Chiou   examples: api: al...
125
126
127
  # 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...
128
  SUBDIRS = $(SUBDIR_TOOLS)
6d1ce3878   Mike Frysinger   make sure topleve...
129

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

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

2632c008e   Mike Frysinger   autoconf.mk: incl...
134
135
136
137
138
139
  # 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...
140
141
  SUBDIR_EXAMPLES-y := examples/standalone
  SUBDIR_EXAMPLES-$(CONFIG_API) += examples/api
b5728756e   Simon Glass   sandbox: Adjust M...
142
  ifndef CONFIG_SANDBOX
8a7e7d569   Masahiro Yamada   Makefile: descend...
143
  SUBDIRS += $(SUBDIR_EXAMPLES-y)
b5728756e   Simon Glass   sandbox: Adjust M...
144
  endif
7ebf7443a   wdenk   Initial revision
145
  # load ARCH, BOARD, and CPU configuration
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
146
  include $(obj)include/config.mk
1d9f41050   wdenk   Patch by Steven S...
147
  export	ARCH CPU BOARD VENDOR SOC
f93286397   Marian Balakowicz   Add support for a...
148

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

92b197f0d   Wolfgang Denk   Fix Makefile: inc...
154
155
  # load other configuration
  include $(TOPDIR)/config.mk
fada9e204   Simon Glass   Trigger generic b...
156
  # Targets which don't build the source code
ace8f5064   Bo Shen   Makefile: fix the...
157
  NON_BUILD_TARGETS = backup clean clobber distclean mrproper tidy unconfig
fada9e204   Simon Glass   Trigger generic b...
158
159
160
161
162
163
164
  
  # 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...
165
166
167
  # 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...
168
  LDSCRIPT_MAKEFILE_DIR = $(dir $(LDSCRIPT))
d51dfff7a   Ilya Yanok   config.mk: move L...
169
170
171
172
  ifndef LDSCRIPT
  	#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
  	ifdef CONFIG_SYS_LDSCRIPT
  		# need to strip off double quotes
a8c075414   Masahiro Yamada   Makefile: use two...
173
  		LDSCRIPT := $(CONFIG_SYS_LDSCRIPT:"%"=%)
d51dfff7a   Ilya Yanok   config.mk: move L...
174
175
  	endif
  endif
ee60197e6   Simon Glass   Allow arch direct...
176
  # If there is no specified link script, we look in a number of places for it
d51dfff7a   Ilya Yanok   config.mk: move L...
177
178
179
180
181
182
183
184
185
186
187
188
189
190
  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...
191
192
193
194
195
  		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...
196
197
198
  $(error could not find linker script)
  	endif
  endif
7ebf7443a   wdenk   Initial revision
199
200
  #########################################################################
  # U-Boot objects....order is important (i.e. start must be first)
e8a8b8246   Masahiro Yamada   Makefile: Select ...
201
202
203
  head-y := $(CPUDIR)/start.o
  head-$(CONFIG_4xx) += arch/powerpc/cpu/ppc4xx/resetvec.o
  head-$(CONFIG_MPC85xx) += arch/powerpc/cpu/mpc85xx/resetvec.o
7ebf7443a   wdenk   Initial revision
204

e8a8b8246   Masahiro Yamada   Makefile: Select ...
205
  OBJS := $(addprefix $(obj),$(head-y))
f93286397   Marian Balakowicz   Add support for a...
206

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

e2906a594   Masahiro Yamada   Makefile: rename ...
209
  LIBS-y += lib/
e2906a594   Masahiro Yamada   Makefile: rename ...
210
211
  LIBS-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
  LIBS-y += $(CPUDIR)/
1d9f41050   wdenk   Patch by Steven S...
212
  ifdef SOC
e2906a594   Masahiro Yamada   Makefile: rename ...
213
  LIBS-y += $(CPUDIR)/$(SOC)/
1d9f41050   wdenk   Patch by Steven S...
214
  endif
e2906a594   Masahiro Yamada   Makefile: rename ...
215
216
217
  LIBS-$(CONFIG_IXP4XX_NPE) += drivers/net/npe/
  LIBS-$(CONFIG_OF_EMBED) += dts/
  LIBS-y += arch/$(ARCH)/lib/
57c3e5fcf   Masahiro Yamada   Makefile: move fs...
218
  LIBS-y += fs/
e2906a594   Masahiro Yamada   Makefile: rename ...
219
220
221
222
223
224
225
226
227
  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/
392ba5256   Masahiro Yamada   drivers/mtd: desc...
228
  LIBS-$(CONFIG_CMD_NAND) += drivers/mtd/nand/
e2906a594   Masahiro Yamada   Makefile: rename ...
229
  LIBS-y += drivers/mtd/onenand/
392ba5256   Masahiro Yamada   drivers/mtd: desc...
230
  LIBS-$(CONFIG_CMD_UBI) += drivers/mtd/ubi/
e2906a594   Masahiro Yamada   Makefile: rename ...
231
232
233
234
235
236
237
238
239
240
241
  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...
242
  LIBS-$(CONFIG_SYS_FSL_DDR) += drivers/ddr/fsl/
e2906a594   Masahiro Yamada   Makefile: rename ...
243
244
245
246
247
248
249
250
251
252
  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...
253
  LIBS-$(CONFIG_API) += api/
755e08f0e   Masahiro Yamada   post: descend onl...
254
  LIBS-$(CONFIG_HAS_POST) += post/
e2906a594   Masahiro Yamada   Makefile: rename ...
255
  LIBS-y += test/
f93286397   Marian Balakowicz   Add support for a...
256

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

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

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

4f7cb08ee   wdenk   * Patch by Martin...
269
  # Add GCC lib
52b1bf2c5   Wolfgang Denk   Make linking agai...
270
271
  ifdef USE_PRIVATE_LIBGCC
  ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
635d1b3e1   Matthias Weisser   Makefile: Fix bui...
272
  PLATFORM_LIBGCC = $(OBJTREE)/arch/$(ARCH)/lib/libgcc.o
52b1bf2c5   Wolfgang Denk   Make linking agai...
273
274
275
276
  else
  PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
  endif
  else
cca4e4aec   Wolfgang Denk   Reduce build times
277
  PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
52b1bf2c5   Wolfgang Denk   Make linking agai...
278
279
280
  endif
  PLATFORM_LIBS += $(PLATFORM_LIBGCC)
  export PLATFORM_LIBS
3d3befa75   wdenk   * Patch by Philip...
281

6ac9f4797   Mike Frysinger   start a linker sc...
282
283
284
285
286
  # 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...
287
  	-DCPUDIR=$(CPUDIR) \
6ac9f4797   Mike Frysinger   start a linker sc...
288
289
  	$(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...
290
  __OBJS := $(subst $(obj),,$(OBJS))
08e39a843   Masahiro Yamada   Makefile: merge $...
291
  __LIBS := $(subst $(obj),,$(LIBS))
f93286397   Marian Balakowicz   Add support for a...
292

7ebf7443a   wdenk   Initial revision
293
  #########################################################################
bdccc4fed   wdenk   * Map ISP1362 USB...
294
  #########################################################################
7ebf7443a   wdenk   Initial revision
295

f3a14d377   Mike Frysinger   Makefile: allow b...
296
297
298
  ifneq ($(CONFIG_BOARD_SIZE_LIMIT),)
  BOARD_SIZE_CHECK = \
  	@actual=`wc -c $@ | awk '{print $$1}'`; \
d060e6f44   Joe Hershberger   Allow CONFIG_BOAR...
299
  	limit=`printf "%d" $(CONFIG_BOARD_SIZE_LIMIT)`; \
f3a14d377   Mike Frysinger   Makefile: allow b...
300
  	if test $$actual -gt $$limit; then \
d060e6f44   Joe Hershberger   Allow CONFIG_BOAR...
301
302
303
304
  		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...
305
306
307
308
309
  		exit 1; \
  	fi
  else
  BOARD_SIZE_CHECK =
  endif
8137af19e   Scott Wood   arm64: Add tool t...
310
311
312
313
314
315
316
317
318
319
  # 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...
320
  # Always append ALL so that arch config.mk's can add custom ones
4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
321
  ALL-y += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map
e935a374d   Haiying Wang   Fix NAND_SPL and ...
322

4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
323
324
  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:...
325
  ALL-$(CONFIG_RAMBOOT_PBL) += $(obj)u-boot.pbl
5df2ee27d   Daniel Schwierzeck   Hook SPL build-sy...
326
  ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin
4c267374a   Henrik Nordström   Always build u-bo...
327
  ALL-$(CONFIG_SPL_FRAMEWORK) += $(obj)u-boot.img
3aa29de0b   Ying Zhang   TPL : introduce t...
328
  ALL-$(CONFIG_TPL) += $(obj)tpl/u-boot-tpl.bin
2c0f79e44   Simon Glass   fdt: Add support ...
329
  ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin
b343bbb52   Vadim Bendebury   build: Fix make e...
330
  ifneq ($(CONFIG_SPL_TARGET),)
a8c075414   Masahiro Yamada   Makefile: use two...
331
  ALL-$(CONFIG_SPL) += $(obj)$(CONFIG_SPL_TARGET:"%"=%)
b343bbb52   Vadim Bendebury   build: Fix make e...
332
  endif
f4dc714aa   Scott Wood   arm64: Turn u-boo...
333
  ALL-$(CONFIG_REMAKE_ELF) += $(obj)u-boot.elf
0d3c62e46   Chander Kashyap   ARMV7: MMC SPL Bo...
334

12b7b70cb   Allen Martin   tegra20: enable S...
335
  # enable combined SPL/u-boot/dtb rules for tegra
6d6c0baeb   Tom Warren   Tegra30: Add gene...
336
  ifneq ($(CONFIG_TEGRA),)
7dcd3a21f   Vidya Sagar   tegra: allow buil...
337
  ifeq ($(CONFIG_SPL),y)
12b7b70cb   Allen Martin   tegra20: enable S...
338
339
340
341
342
343
  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...
344
  endif
12b7b70cb   Allen Martin   tegra20: enable S...
345

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

501ebdf28   Stephen Warren   Validate dtc is n...
349
  $(obj)u-boot.dtb:	checkdtc $(obj)u-boot
bcfe8fdf3   Masahiro Yamada   dts, api, test: c...
350
  		$(MAKE) $(build) dts binary
2c0f79e44   Simon Glass   fdt: Add support ...
351
352
353
354
  		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...
355
  $(obj)u-boot.hex:	$(obj)u-boot
6310eb9da   wdenk   Patches by David ...
356
  		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
f93286397   Marian Balakowicz   Add support for a...
357
  $(obj)u-boot.srec:	$(obj)u-boot
47ed5dd03   Albert ARIBAUD   arm: keep all sec...
358
  		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
7ebf7443a   wdenk   Initial revision
359

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

94a91e248   Mike Frysinger   generate u-boot.l...
365
  $(obj)u-boot.ldr:	$(obj)u-boot
76d82187c   Mike Frysinger   Blackfin: tweak e...
366
  		$(CREATE_LDR_ENV)
68e563249   Mike Frysinger   Blackfin: dont ge...
367
  		$(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
f3a14d377   Mike Frysinger   Makefile: allow b...
368
  		$(BOARD_SIZE_CHECK)
94a91e248   Mike Frysinger   generate u-boot.l...
369
370
371
372
373
374
  
  $(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...
375
376
377
378
379
380
381
  #
  # 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...
382
  $(obj)u-boot.img:	$(obj)u-boot.bin
a2a0a7171   Wolfgang Denk   Makefile: fix out...
383
  		$(obj)tools/mkimage -A $(ARCH) -T firmware -C none \
b40bda6bd   Stefan Roese   Makefile: Add pos...
384
385
  		-O u-boot -a $(CONFIG_SYS_TEXT_BASE) \
  		-e $(CONFIG_SYS_UBOOT_START) \
881a87ecb   Wolfgang Denk   Add GIT version i...
386
  		-n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
bdccc4fed   wdenk   * Map ISP1362 USB...
387
388
  			sed -e 's/"[	 ]*$$/ for $(BOARD) board"/') \
  		-d $< $@
291b3dcd4   Otavio Salvador   build: imx: Fix '...
389
  $(obj)u-boot.imx: $(obj)u-boot.bin depend
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
390
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common $(OBJTREE)/u-boot.imx
8edcde5e4   Stefano Babic   mkimage: Add Free...
391

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

5d898a00f   Shaohui Xie   powerpc/CoreNet: ...
396
  $(obj)u-boot.pbl:	$(obj)u-boot.bin
690e42584   Prabhakar Kushwaha   powerpc:Rename CO...
397
398
  		$(obj)tools/mkimage -n $(CONFIG_SYS_FSL_PBL_RCW) \
  		-R $(CONFIG_SYS_FSL_PBL_PBI) -T pblimage \
5d898a00f   Shaohui Xie   powerpc/CoreNet: ...
399
  		-d $< $@
566a494f5   Heiko Schocher   [PCS440EP] u...
400
  $(obj)u-boot.sha1:	$(obj)u-boot.bin
011595307   Heiko Schocher   [PCS440EP] - fix...
401
  		$(obj)tools/ubsha1 $(obj)u-boot.bin
566a494f5   Heiko Schocher   [PCS440EP] u...
402

f93286397   Marian Balakowicz   Add support for a...
403
  $(obj)u-boot.dis:	$(obj)u-boot
7ebf7443a   wdenk   Initial revision
404
  		$(OBJDUMP) -d $< > $@
3aa29de0b   Ying Zhang   TPL : introduce t...
405
406
407
408
409
  # $@ 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...
410
  		cat $(obj)$(3) $(2) > $@; \
3aa29de0b   Ying Zhang   TPL : introduce t...
411
  		rm $(obj)$(3)
74752baa7   Scott Wood   spl: Change PAD_T...
412

3aa29de0b   Ying Zhang   TPL : introduce t...
413
414
415
416
417
  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...
418

3aa29de0b   Ying Zhang   TPL : introduce t...
419
420
421
422
  $(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...
423
  		$(call SPL_PAD_APPEND,$<,$(obj)u-boot.bin,tpl/u-boot-tpl-pad.bin,$(CONFIG_TPL_PAD_TO))
7816f2cf8   Heiko Schocher   mkimage: add UBL ...
424

ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
425
  $(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
426
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common \
ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
427
  			$(OBJTREE)/u-boot-with-spl.imx
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
428
  $(obj)u-boot-with-nand-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
71f84ef07   Masahiro Yamada   ARM: imx-common: ...
429
  		$(MAKE) $(build) $(SRCTREE)/arch/arm/imx-common \
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
430
  			$(OBJTREE)/u-boot-with-nand-spl.imx
5364add4e   Scott Wood   spl: rename u-boo...
431
  $(obj)u-boot.ubl:       $(obj)u-boot-with-spl.bin
277f00f5b   José Miguel Gonçalves   Add u-boot-pad.bi...
432
  		$(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \
5364add4e   Scott Wood   spl: rename u-boo...
433
  		-e $(CONFIG_SYS_TEXT_BASE) -d $< $(obj)u-boot.ubl
277f00f5b   José Miguel Gonçalves   Add u-boot-pad.bi...
434

3f7f2414e   Tom Rini   ARM: SPL: Convert...
435
  $(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
6d660e773   Sughosh Ganu   hawkboard/omapl-1...
436
437
  		$(obj)tools/mkimage -s -n $(if $(CONFIG_AIS_CONFIG_FILE),$(CONFIG_AIS_CONFIG_FILE),"/dev/null") \
  			-T aisimage \
d36d88598   Christian Riesch   arm, davinci: Add...
438
439
440
441
442
443
  			-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...
444
  		cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.img > \
d36d88598   Christian Riesch   arm, davinci: Add...
445
  			$(obj)u-boot.ais
d36d88598   Christian Riesch   arm, davinci: Add...
446

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

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

94aebe6cc   Stefan Roese   Makefile: Add u-b...
451
452
453
454
455
456
457
458
459
  # 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 \
57270260a   Masahiro Yamada   Makefile: fix bro...
460
461
462
463
  		-d $(obj)spl/u-boot-spl.bin $@
  		$(OBJCOPY) -I binary -O binary \
  			--pad-to=$(CONFIG_SPL_PAD_TO) --gap-fill=0xff $@
  		cat $(obj)u-boot.img >> $@
94aebe6cc   Stefan Roese   Makefile: Add u-b...
464

6d6c0baeb   Tom Warren   Tegra30: Add gene...
465
  ifneq ($(CONFIG_TEGRA),)
9972db5cf   Stephen Warren   tegra: always bui...
466
  $(obj)u-boot-nodtb-tegra.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
984df4ec9   Allen Martin   tegra20: add u-bo...
467
  		$(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...
468
  		cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $@
984df4ec9   Allen Martin   tegra20: add u-bo...
469
  		rm $(obj)spl/u-boot-spl-pad.bin
9972db5cf   Stephen Warren   tegra: always bui...
470
471
472
473
474
  
  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...
475
  endif
984df4ec9   Allen Martin   tegra20: add u-bo...
476

fb3d2b8a3   Stefan Roese   Makefile: Add tar...
477
478
  $(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...
479
480
481
482
483
484
  # 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
57270260a   Masahiro Yamada   Makefile: fix bro...
485
486
487
  		$(OBJCOPY) -I binary -O binary --pad-to=$(CONFIG_UBOOT_PAD_TO) \
  			 --gap-fill=0xff $(obj)u-boot.img $@
  		cat $(obj)spl/u-boot-spl.bin >> $@
ecddccd00   Stefan Roese   Makefile: Add tar...
488

f4dc714aa   Scott Wood   arm64: Turn u-boo...
489
490
491
492
493
494
495
496
497
498
499
  # 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...
500
501
502
503
504
505
  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...
506
  GEN_UBOOT = \
97b24d3d5   Marek Vasut   common: Add symbo...
507
  		cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
ef123c525   Albert ARIBAUD   Refactor linker-g...
508
  			$(__OBJS) \
f93286397   Marian Balakowicz   Add support for a...
509
  			--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
b2184c314   wdenk   * Patch by Daniel...
510
  			-Map u-boot.map -o u-boot
86eb49b3e   Simon Glass   sandbox: Makefile...
511
  endif
16a354f92   Wolfgang Denk   include/asm-offse...
512
  $(obj)u-boot:	depend \
8e9a6cb16   Masahiro Yamada   Makefile: delete ...
513
  		$(SUBDIR_TOOLS) $(OBJS) $(LIBS) $(obj)u-boot.lds
ecb1dc892   Mike Frysinger   Add support for L...
514
515
  		$(GEN_UBOOT)
  ifeq ($(CONFIG_KALLSYMS),y)
8a156fb6e   Mike Frysinger   fix out of tree b...
516
  		smap=`$(call SYSTEM_MAP,$(obj)u-boot) | \
1aada9cd6   Wolfgang Denk   Fix all linker sc...
517
518
519
  			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...
520
521
  		$(GEN_UBOOT) $(obj)common/system_map.o
  endif
7ebf7443a   wdenk   Initial revision
522

3bddafaab   Masahiro Yamada   Makefile: convert...
523
524
  $(OBJS):
  	@:
f93286397   Marian Balakowicz   Add support for a...
525

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

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

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

8e9a6cb16   Masahiro Yamada   Makefile: delete ...
534
  $(obj)u-boot.lds: $(LDSCRIPT) depend
97b24d3d5   Marek Vasut   common: Add symbo...
535
  		$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
1aada9cd6   Wolfgang Denk   Fix all linker sc...
536

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

e935a374d   Haiying Wang   Fix NAND_SPL and ...
540
  $(obj)u-boot-nand.bin:	nand_spl $(obj)u-boot.bin
8318fbf8c   Marian Balakowicz   Fix sequoia separ...
541
  		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...
542

bd25fdba4   Aneesh V   Makefile: Add the...
543
  $(obj)spl/u-boot-spl.bin:	$(SUBDIR_TOOLS) depend
5df2ee27d   Daniel Schwierzeck   Hook SPL build-sy...
544
  		$(MAKE) -C spl all
3aa29de0b   Ying Zhang   TPL : introduce t...
545
546
  $(obj)tpl/u-boot-tpl.bin:	$(SUBDIR_TOOLS) depend
  		$(MAKE) -C spl all CONFIG_TPL_BUILD=y
2a9987935   Daniel Hobi   Makefile: fix par...
547
548
  # Explicitly make _depend in subdirs containing multiple targets to prevent
  # parallel sub-makes creating .depend files simultaneously.
16a354f92   Wolfgang Denk   include/asm-offse...
549
  depend dep:	$(TIMESTAMP_FILE) $(VERSION_FILE) \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
550
  		$(obj)include/spl-autoconf.mk \
3aa29de0b   Ying Zhang   TPL : introduce t...
551
  		$(obj)include/tpl-autoconf.mk \
16a354f92   Wolfgang Denk   include/asm-offse...
552
  		$(obj)include/autoconf.mk \
a4814a69d   Stefano Babic   Makefile : fix ge...
553
554
  		$(obj)include/generated/generic-asm-offsets.h \
  		$(obj)include/generated/asm-offsets.h
7ebf7443a   wdenk   Initial revision
555

e5e4e705c   Li Yang   Update Makefile f...
556
557
  TAG_SUBDIRS = $(SUBDIRS)
  TAG_SUBDIRS += $(dir $(__LIBS))
a340c325e   Jean-Christophe PLAGNIOL-VILLARD   Makefile : fix ta...
558
  TAG_SUBDIRS += include
a340c325e   Jean-Christophe PLAGNIOL-VILLARD   Makefile : fix ta...
559

857d9ea67   Horst Kronstorfer   Let source cross-...
560
561
  FIND := find
  FINDFLAGS := -L
1064d980b   Tom Rini   tools: checkstack...
562
563
564
  checkstack:
  		$(CROSS_COMPILE)objdump -d $(obj)u-boot \
  			`$(FIND) $(obj) -name u-boot-spl -print` | \
dd88ab325   Masahiro Yamada   Makefile: Move so...
565
  			perl $(src)scripts/checkstack.pl $(ARCH)
1064d980b   Tom Rini   tools: checkstack...
566

f93286397   Marian Balakowicz   Add support for a...
567
  tags ctags:
857d9ea67   Horst Kronstorfer   Let source cross-...
568
  		ctags -w -o $(obj)ctags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
e5e4e705c   Li Yang   Update Makefile f...
569
  						-name '*.[chS]' -print`
7ebf7443a   wdenk   Initial revision
570
571
  
  etags:
857d9ea67   Horst Kronstorfer   Let source cross-...
572
  		etags -a -o $(obj)etags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
e5e4e705c   Li Yang   Update Makefile f...
573
  						-name '*.[chS]' -print`
ffda586fc   Li Yang   add cscope build ...
574
  cscope:
857d9ea67   Horst Kronstorfer   Let source cross-...
575
576
  		$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) -name '*.[chS]' -print > \
  						cscope.files
ffda586fc   Li Yang   add cscope build ...
577
  		cscope -b -q -k
7ebf7443a   wdenk   Initial revision
578

ecb1dc892   Mike Frysinger   Add support for L...
579
580
  SYSTEM_MAP = \
  		$(NM) $1 | \
7ebf7443a   wdenk   Initial revision
581
  		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
ecb1dc892   Mike Frysinger   Add support for L...
582
583
  		LC_ALL=C sort
  $(obj)System.map:	$(obj)u-boot
bc8bb6ec0   Masahiro Yamada   Makefile: refacto...
584
  		@$(call SYSTEM_MAP,$<) > $@
7ebf7443a   wdenk   Initial revision
585

06a119a03   Tom Rini   Makefile: Add a '...
586
587
588
589
590
591
592
  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 ....
593
594
595
596
597
598
599
600
601
  
  # 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...
602
603
604
605
606
  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 ...
607
608
609
610
611
612
  #
  # 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...
613
614
  $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h
  	@$(XECHO) Generating $@ ; \
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
615
  	: Generate the dependancies ; \
4c34b2a09   Mike Frysinger   autoconf.mk.dep: ...
616
  	$(CC) -x c -DDO_DEPS_ONLY -M $(CFLAGS) $(CPPFLAGS) \
65947ab4c   Masahiro Yamada   Makefile: Do not ...
617
618
  		-MQ $(obj)include/autoconf.mk include/common.h > $@ || \
  		rm $@
1510b82d5   Wolfgang Denk   Makefile: fix "er...
619
620
621
  
  $(obj)include/autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
622
  	: Extract the config macros ; \
65947ab4c   Masahiro Yamada   Makefile: Do not ...
623
624
625
  	$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h > $@.tmp && \
  		sed -n -f tools/scripts/define2mk.sed $@.tmp > $@; \
  	rm $@.tmp
2f155f6c0   Grant Likely   [BUILD] Generate ...
626

39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
627
  # Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
3aa29de0b   Ying Zhang   TPL : introduce t...
628
629
  $(obj)include/tpl-autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
3aa29de0b   Ying Zhang   TPL : introduce t...
630
631
  	: Extract the config macros ; \
  	$(CPP) $(CFLAGS) -DCONFIG_TPL_BUILD  -DCONFIG_SPL_BUILD\
65947ab4c   Masahiro Yamada   Makefile: Do not ...
632
633
634
  			-DDO_DEPS_ONLY -dM include/common.h > $@.tmp && \
  		sed -n -f tools/scripts/define2mk.sed $@.tmp > $@; \
  	rm $@.tmp
3aa29de0b   Ying Zhang   TPL : introduce t...
635

39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
636
637
  $(obj)include/spl-autoconf.mk: $(obj)include/config.h
  	@$(XECHO) Generating $@ ; \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
638
  	: Extract the config macros ; \
65947ab4c   Masahiro Yamada   Makefile: Do not ...
639
640
641
  	$(CPP) $(CFLAGS) -DCONFIG_SPL_BUILD -DDO_DEPS_ONLY -dM include/common.h > $@.tmp && \
  		sed -n -f tools/scripts/define2mk.sed $@.tmp > $@; \
  	rm $@.tmp
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
642

74c43bb3d   Masahiro Yamada   Makefile: correct...
643
  $(obj)include/generated/generic-asm-offsets.h: $(obj)lib/asm-offsets.s
16a354f92   Wolfgang Denk   include/asm-offse...
644
645
  	@$(XECHO) Generating $@
  	tools/scripts/make-asm-offsets $(obj)lib/asm-offsets.s $@
74c43bb3d   Masahiro Yamada   Makefile: correct...
646
  $(obj)lib/asm-offsets.s: $(obj)include/config.h $(src)lib/asm-offsets.c
16a354f92   Wolfgang Denk   include/asm-offse...
647
648
649
650
  	@mkdir -p $(obj)lib
  	$(CC) -DDO_DEPS_ONLY \
  		$(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR)) \
  		-o $@ $(src)lib/asm-offsets.c -c -S
74c43bb3d   Masahiro Yamada   Makefile: correct...
651
  $(obj)include/generated/asm-offsets.h: $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s
b12734eed   Wolfgang Denk   Makefile: avoid "...
652
  	@$(XECHO) Generating $@
a4814a69d   Stefano Babic   Makefile : fix ge...
653
  	tools/scripts/make-asm-offsets $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s $@
74c43bb3d   Masahiro Yamada   Makefile: correct...
654
  $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s: $(obj)include/config.h
a4814a69d   Stefano Babic   Makefile : fix ge...
655
656
657
658
659
660
661
662
  	@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
663
  #########################################################################
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
664
  else	# !config.mk
f93286397   Marian Balakowicz   Add support for a...
665
666
  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...
667
  $(filter-out tools,$(SUBDIRS)) \
2e78e75e1   Masahiro Yamada   tools: updater: R...
668
  depend dep tags ctags etags cscope $(obj)System.map:
7ebf7443a   wdenk   Initial revision
669
670
  	@echo "System not configured - see README" >&2
  	@ exit 1
c7c0d542a   Mike Frysinger   tools: allow peop...
671

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

54799e459   Scott Wood   arm64: Make check...
676
677
  # ARM relocations should all be R_ARM_RELATIVE (32-bit) or
  # R_AARCH64_RELATIVE (64-bit).
c37980c31   Albert ARIBAUD   arm: ensure u-boo...
678
  checkarmreloc: $(obj)u-boot
54799e459   Scott Wood   arm64: Make check...
679
680
681
682
683
684
685
  	@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...
686

28abd48f5   Ilya Yanok   Makefile: move $(...
687
  $(VERSION_FILE):
14ce91b11   Mike Frysinger   fix unconfigured ...
688
  		@mkdir -p $(dir $(VERSION_FILE))
dd88ab325   Masahiro Yamada   Makefile: Move so...
689
  		@( localvers='$(shell $(TOPDIR)/scripts/setlocalversion $(TOPDIR))' ; \
28abd48f5   Ilya Yanok   Makefile: move $(...
690
691
692
693
694
695
696
697
698
699
700
701
702
703
  		   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...
704
705
  $(TIMESTAMP_FILE):
  		@mkdir -p $(dir $(TIMESTAMP_FILE))
a76406fb0   Loïc Minier   Safer timestamp_a...
706
707
708
  		@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...
709

0358df427   Mike Frysinger   unify toplevel to...
710
711
712
  easylogo env gdb:
  	$(MAKE) -C tools/$@ all MTD_VERSION=${MTD_VERSION}
  gdbtools: gdb
30ff89189   Marek Vasut   kerneldoc: Implan...
713
714
  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...
715
  tools-all: easylogo env gdb $(VERSION_FILE) $(TIMESTAMP_FILE)
0358df427   Mike Frysinger   unify toplevel to...
716
  	$(MAKE) -C tools HOST_TOOLS_ALL=y
4e53a2585   Wolfgang Denk   Fix Makefile for ...
717
718
  .PHONY : CHANGELOG
  CHANGELOG:
b985b5d6e   Ben Warren   Fix TSEC driver: ...
719
720
  	git log --no-merges U-Boot-1_1_5.. | \
  	unexpand -a | sed -e 's/\s\s*$$//' > $@
4e53a2585   Wolfgang Denk   Fix Makefile for ...
721

0a823aa2a   Harald Welte   Add 'license' com...
722
  include/license.h: tools/bin2header COPYING
0e42ada31   Wolfgang Denk   Fix printing of m...
723
  	cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h
7ebf7443a   wdenk   Initial revision
724
725
726
  #########################################################################
  
  unconfig:
887e2ec9e   Stefan Roese   Add support for A...
727
  	@rm -f $(obj)include/config.h $(obj)include/config.mk \
2f155f6c0   Grant Likely   [BUILD] Generate ...
728
  		$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
39bc12ddc   Joel Fernandes   SPL: Makefile: Bu...
729
  		$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep \
3aa29de0b   Ying Zhang   TPL : introduce t...
730
731
  		$(obj)include/spl-autoconf.mk \
  		$(obj)include/tpl-autoconf.mk
7ebf7443a   wdenk   Initial revision
732

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

699f05125   Wolfgang Denk   Prepare v1.3.4-rc...
739
  #########################################################################
3e38691e8   wdenk   * Patch by Arun D...
740
  #########################################################################
7ebf7443a   wdenk   Initial revision
741
742
  
  clean:
aaed2eb5c   Masahiro Yamada   examples: x86: de...
743
  	@rm -f $(obj)examples/standalone/atmel_df_pow2			  \
1bc153861   Peter Tyser   Move examples/ to...
744
745
746
747
  	       $(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...
748
  	       $(obj)examples/standalone/smc911{11,x}_eeprom		  \
1bc153861   Peter Tyser   Move examples/ to...
749
750
  	       $(obj)examples/standalone/test_burst			  \
  	       $(obj)examples/standalone/timer
d4abc757c   Peter Tyser   Move api_examples...
751
  	@rm -f $(obj)examples/api/demo{,.bin}
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
752
  	@rm -f $(obj)tools/bmp_logo	   $(obj)tools/easylogo/easylogo  \
475c506d0   Masahiro Yamada   Makefile, .gitign...
753
  	       $(obj)tools/env/fw_printenv				  \
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
754
  	       $(obj)tools/envcrc					  \
475c506d0   Masahiro Yamada   Makefile, .gitign...
755
  	       $(obj)tools/gdb/{gdbcont,gdbsend}			  \
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
756
  	       $(obj)tools/gen_eth_addr    $(obj)tools/img2srec		  \
a804b5ce2   Guilherme Maciel Ferreira   Add dumpimage, a ...
757
  	       $(obj)tools/dump{env,}image		  \
7717fe10b   Horst Kronstorfer   Makefile: add too...
758
  	       $(obj)tools/mk{env,}image   $(obj)tools/mpc86x_clk	  \
ad403e71b   Chander Kashyap   CONFIG: EXYNOS5: ...
759
  	       $(obj)tools/mk{$(BOARD),}spl				  \
8aa090265   Marek Vasut   MX28: Cleanup mxs...
760
  	       $(obj)tools/mxsboot					  \
30ff89189   Marek Vasut   kerneldoc: Implan...
761
  	       $(obj)tools/ncb		   $(obj)tools/ubsha1		  \
6c887b2ac   Simon Glass   Add proftool to d...
762
763
  	       $(obj)tools/kernel-doc/docproc				  \
  	       $(obj)tools/proftool
f9301e1cd   Wolfgang Denk   Makefile: fix pro...
764
  	@rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image}	  \
74c7a95f2   Wolfgang Denk   Makefile: clean M...
765
  	       $(obj)board/matrix_vision/*/bootscript.img		  \
1aada9cd6   Wolfgang Denk   Fix all linker sc...
766
  	       $(obj)u-boot.lds						  \
fb5166ce3   Mike Frysinger   Blackfin: add ini...
767
  	       $(obj)arch/blackfin/cpu/init.{lds,elf}
dc7746d86   Wolfgang Denk   Makefile: remove ...
768
  	@rm -f $(obj)include/bmp_logo.h
c270730f5   Che-Liang Chiou   tools: logo: spli...
769
  	@rm -f $(obj)include/bmp_logo_data.h
16a354f92   Wolfgang Denk   include/asm-offse...
770
  	@rm -f $(obj)lib/asm-offsets.s
a4814a69d   Stefano Babic   Makefile : fix ge...
771
772
  	@rm -f $(obj)include/generated/asm-offsets.h
  	@rm -f $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s
d4abc757c   Peter Tyser   Move api_examples...
773
  	@rm -f $(TIMESTAMP_FILE) $(VERSION_FILE)
b3141fdb9   Andreas Bießmann   Makefile: silence...
774
  	@$(MAKE) -s -C doc/DocBook/ cleandocs
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
775
  	@find $(OBJTREE) -type f \
4a30f1e87   Tom Rini   config.mk: Check ...
776
  		\( -name 'core' -o -name '*.bak' -o -name '*~' -o -name '*.su' \
71a988aa6   Troy Kisky   imximage.cfg: run...
777
778
  		-o -name '*.o'	-o -name '*.a' -o -name '*.exe' \
  		-o -name '*.cfgtmp' \) -print \
7ebf7443a   wdenk   Initial revision
779
  		| xargs rm -f
7ebf7443a   wdenk   Initial revision
780

734329f96   Andy Fleming   Add a "tidy" buil...
781
782
783
784
785
786
787
788
  # 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 ...
789
  	@rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
5013c09f7   Wolfgang Denk   Makefile: cleanup...
790
  		$(obj)cscope.* $(obj)*.*~
4e0fbb98f   Daniel Schwierzeck   Use ALL-y style i...
791
  	@rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL-y)
aa0c7a86c   Prafulla Wadaskar   mkimage: Add Kirk...
792
  	@rm -f $(obj)u-boot.kwb
5d898a00f   Shaohui Xie   powerpc/CoreNet: ...
793
  	@rm -f $(obj)u-boot.pbl
c5fb70c91   Stefano Babic   Add initial suppo...
794
  	@rm -f $(obj)u-boot.imx
ba5976092   Benoît Thébaudeau   imx: Add u-boot-w...
795
  	@rm -f $(obj)u-boot-with-spl.imx
7d5a5c79c   Benoît Thébaudeau   imx: Add u-boot-w...
796
  	@rm -f $(obj)u-boot-with-nand-spl.imx
7816f2cf8   Heiko Schocher   mkimage: add UBL ...
797
  	@rm -f $(obj)u-boot.ubl
d36d88598   Christian Riesch   arm, davinci: Add...
798
  	@rm -f $(obj)u-boot.ais
bbb0b128c   Simon Glass   fdt: Add support ...
799
  	@rm -f $(obj)u-boot.dtb
30b9b932a   Marek Vasut   iMX28: Add u-boot...
800
  	@rm -f $(obj)u-boot.sb
94aebe6cc   Stefan Roese   Makefile: Add u-b...
801
  	@rm -f $(obj)u-boot.spr
97b24d3d5   Marek Vasut   common: Add symbo...
802
803
804
  	@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...
805
  	@rm -f $(obj)spl/u-boot-spl.lds
3aa29de0b   Ying Zhang   TPL : introduce t...
806
807
  	@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 ...
808
  	@rm -f $(obj)MLO MLO.byteswap
a3cbc3969   Stefano Babic   ARM: Add SPL targ...
809
  	@rm -f $(obj)SPL
8b425b3f8   Daniel Schwierzeck   MIPS: fix renamin...
810
  	@rm -f $(obj)tools/xway-swap-bytes
a9d8bc980   Loïc Minier   Don't add symlink...
811
  	@rm -fr $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
16a354f92   Wolfgang Denk   include/asm-offse...
812
  	@rm -fr $(obj)include/generated
a958b663d   Jean-Christophe PLAGNIOL-VILLARD   Makefile: fix pos...
813
  	@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f
bbb0b128c   Simon Glass   fdt: Add support ...
814
  	@rm -f $(obj)dts/*.tmp
6d660e773   Sughosh Ganu   hawkboard/omapl-1...
815
  	@rm -f $(obj)spl/u-boot-spl{,-pad}.ais
f93286397   Marian Balakowicz   Add support for a...
816

f93286397   Marian Balakowicz   Add support for a...
817
818
  mrproper \
  distclean:	clobber unconfig
afd077bd1   Mike Frysinger   simplify clobber ...
819
  ifneq ($(OBJTREE),$(SRCTREE))
ae6d1056d   Wolfgang Denk   Fix Makefile depe...
820
  	rm -rf $(obj)*
f93286397   Marian Balakowicz   Add support for a...
821
  endif
7ebf7443a   wdenk   Initial revision
822
823
824
  
  backup:
  	F=`basename $(TOPDIR)` ; cd .. ; \
d6b937142   Ilya Yanok   Makefile: always ...
825
  	gtar --force-local -zcvf `LC_ALL=C date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
7ebf7443a   wdenk   Initial revision
826
827
  
  #########################################################################