Blame view

scripts/Makefile.spl 9.31 KB
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
1
2
3
4
5
6
7
8
9
10
11
  #
  # (C) Copyright 2000-2011
  # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  #
  # (C) Copyright 2011
  # Daniel Schwierzeck, daniel.schwierzeck@googlemail.com.
  #
  # (C) Copyright 2011
  # Texas Instruments Incorporated - http://www.ti.com/
  # Aneesh V <aneesh@ti.com>
  #
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
12
  # SPDX-License-Identifier:	GPL-2.0+
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
13
14
15
  #
  # Based on top-level Makefile.
  #
9e4140329   Masahiro Yamada   kbuild: change ou...
16
17
18
19
  src := $(obj)
  
  # Create output directory if not already present
  _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
bf4b3de10   Masahiro Yamada   kbuild: Use Kbuil...
20
  include $(srctree)/scripts/Kbuild.include
e02ee2548   Masahiro Yamada   kconfig: switch t...
21
  -include include/config/auto.conf
51148790f   Masahiro Yamada   kconfig: switch t...
22
  -include $(obj)/include/autoconf.mk
e0d5d9f88   Masahiro Yamada   Makefile: move so...
23

e02ee2548   Masahiro Yamada   kconfig: switch t...
24
25
26
27
  KBUILD_CPPFLAGS += -DCONFIG_SPL_BUILD
  ifeq ($(CONFIG_TPL_BUILD),y)
  KBUILD_CPPFLAGS += -DCONFIG_TPL_BUILD
  endif
3aa29de0b   Ying Zhang   TPL : introduce t...
28
  ifeq ($(CONFIG_TPL_BUILD),y)
3aa29de0b   Ying Zhang   TPL : introduce t...
29
30
31
32
  SPL_BIN := u-boot-tpl
  else
  SPL_BIN := u-boot-spl
  endif
4379ac614   Masahiro Yamada   kbuild: rename TO...
33
  include $(srctree)/config.mk
e19db555b   Daniel Schwierzeck   Kbuild: introduce...
34
  include $(srctree)/arch/$(ARCH)/Makefile
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
35

026f9cf24   Masahiro Yamada   kbuild: improve K...
36
37
38
  # Enable garbage collection of un-used sections for SPL
  KBUILD_CFLAGS += -ffunction-sections -fdata-sections
  LDFLAGS_FINAL += --gc-sections
5fe6301a6   Masahiro Yamada   kbuild: generate ...
39
  # FIX ME
026f9cf24   Masahiro Yamada   kbuild: improve K...
40
41
  cpp_flags := $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) $(UBOOTINCLUDE) \
  							$(NOSTDINC_FLAGS)
dbbe2e640   Simon Glass   dm: Makefile: Bui...
42
  c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
5fe6301a6   Masahiro Yamada   kbuild: generate ...
43

01286329b   Masahiro Yamada   kbuild: rename SR...
44
  HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makefile),y,n)
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
45

bf69d6642   Masahiro Yamada   kbuild: allow nul...
46
  libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/)
656de6b81   Masahiro Yamada   kbuild: refactor ...
47
48
49
  libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
  
  libs-$(CONFIG_SPL_FRAMEWORK) += common/spl/
af6bbd4da   Simon Glass   Move board_init_f...
50
  libs-y += common/init/
76f1f3881   Simon Glass   Use separate opti...
51
52
53
54
55
56
  
  # Special handling for a few options which support SPL/TPL
  ifeq ($(CONFIG_TPL_BUILD),y)
  libs-$(CONFIG_TPL_LIBCOMMON_SUPPORT) += common/ cmd/
  libs-$(CONFIG_TPL_LIBGENERIC_SUPPORT) += lib/
  else
72a8cf8dc   Simon Glass   Move all command ...
57
  libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/ cmd/
76f1f3881   Simon Glass   Use separate opti...
58
59
  libs-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/
  endif
656de6b81   Masahiro Yamada   kbuild: refactor ...
60
  libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
d6c2ac5b7   Masahiro Yamada   spl: move SPL dri...
61
  libs-y += drivers/
bc5dbcb91   B, Ravi   spl: dfu: add dfu...
62
63
64
65
  libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/dfu/
  libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/gadget/
  libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/gadget/udc/
  libs-$(CONFIG_SPL_DFU_SUPPORT) += drivers/usb/dwc3/
8d7a2b83f   Michal Simek   spl: Add support ...
66
  libs-y += dts/
656de6b81   Masahiro Yamada   kbuild: refactor ...
67
  libs-y += fs/
656de6b81   Masahiro Yamada   kbuild: refactor ...
68
69
  libs-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/
  libs-$(CONFIG_SPL_NET_SUPPORT) += net/
efcc6096d   Daniel Schwierzeck   spl: Add support ...
70

656de6b81   Masahiro Yamada   kbuild: refactor ...
71
72
73
74
75
  head-y		:= $(addprefix $(obj)/,$(head-y))
  libs-y		:= $(addprefix $(obj)/,$(libs-y))
  u-boot-spl-dirs	:= $(patsubst %/,%,$(filter %/, $(libs-y)))
  
  libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
e2906a594   Masahiro Yamada   Makefile: rename ...
76

660e98f2e   Allen Martin   spl: fix SPL buil...
77
  # Add GCC lib
cd2e46cb3   Masahiro Yamada   kbuild: add CONFI...
78
  ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
a86cf89c7   Masahiro Yamada   kbuild: consolida...
79
  PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
6445262ca   Masahiro Yamada   kbuild: fix SPL l...
80
  PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
660e98f2e   Allen Martin   spl: fix SPL buil...
81
  endif
656de6b81   Masahiro Yamada   kbuild: refactor ...
82
83
  u-boot-spl-init := $(head-y)
  u-boot-spl-main := $(libs-y)
dbbe2e640   Simon Glass   dm: Makefile: Bui...
84
85
86
  ifdef CONFIG_SPL_OF_PLATDATA
  u-boot-spl-platdata := $(obj)/dts/dt-platdata.o
  endif
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
87
88
89
90
  
  # Linker Script
  ifdef CONFIG_SPL_LDSCRIPT
  # need to strip off double quotes
01286329b   Masahiro Yamada   kbuild: rename SR...
91
  LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_SPL_LDSCRIPT:"%"=%))
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
92
93
94
  endif
  
  ifeq ($(wildcard $(LDSCRIPT)),)
4379ac614   Masahiro Yamada   kbuild: rename TO...
95
  	LDSCRIPT := $(srctree)/board/$(BOARDDIR)/u-boot-spl.lds
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
96
97
  endif
  ifeq ($(wildcard $(LDSCRIPT)),)
4379ac614   Masahiro Yamada   kbuild: rename TO...
98
  	LDSCRIPT := $(srctree)/$(CPUDIR)/u-boot-spl.lds
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
99
100
  endif
  ifeq ($(wildcard $(LDSCRIPT)),)
4379ac614   Masahiro Yamada   kbuild: rename TO...
101
  	LDSCRIPT := $(srctree)/arch/$(ARCH)/cpu/u-boot-spl.lds
ee60197e6   Simon Glass   Allow arch direct...
102
103
  endif
  ifeq ($(wildcard $(LDSCRIPT)),)
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
104
105
106
107
108
109
110
  $(error could not find linker script)
  endif
  
  # Special flags for CPP when processing the linker script.
  # Pass the version down so we can handle backwards compatibility
  # on the fly.
  LDPPFLAGS += \
4379ac614   Masahiro Yamada   kbuild: rename TO...
111
  	-include $(srctree)/include/u-boot/u-boot.lds.h \
5ee828ca9   Masahiro Yamada   kbuild: rename OB...
112
  	-include $(objtree)/include/config.h \
7e6403a66   Simon Glass   Define CPUDIR for...
113
  	-DCPUDIR=$(CPUDIR) \
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
114
115
  	$(shell $(LD) --version | \
  	  sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
b97241b31   Marek Vasut   kbuild: Rename UI...
116
  quiet_cmd_mkimage = MKIMAGE $@
9bf215b03   Masahiro Yamada   kbuild: use short...
117
118
  cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
  	$(if $(KBUILD_VERBOSE:1=), >/dev/null)
79b9ebb70   Tom Rini   omapimage: Add su...
119

9bf215b03   Masahiro Yamada   kbuild: use short...
120
121
122
  MKIMAGEFLAGS_MLO = -T omapimage -a $(CONFIG_SPL_TEXT_BASE)
  
  MKIMAGEFLAGS_MLO.byteswap = -T omapimage -n byteswap -a $(CONFIG_SPL_TEXT_BASE)
514ec4389   Masahiro Yamada   kbuild: add missi...
123
  MLO MLO.byteswap: $(obj)/u-boot-spl.bin FORCE
9bf215b03   Masahiro Yamada   kbuild: use short...
124
  	$(call if_changed,mkimage)
3decb14ab   John Rigby   mkimage: Add OMAP...
125

08598d6ee   Nathan Rossi   ARM: zynq: Add ta...
126
  ifeq ($(CONFIG_SYS_SOC),"at91")
5c390a5b2   Andreas Bießmann   arm:at91: enable ...
127
128
129
130
131
132
133
  MKIMAGEFLAGS_boot.bin = -T atmelimage
  
  ifeq ($(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER),y)
  MKIMAGEFLAGS_boot.bin += -n $(shell $(obj)/../tools/atmel_pmecc_params)
  
  boot.bin: $(obj)/../tools/atmel_pmecc_params
  endif
514ec4389   Masahiro Yamada   kbuild: add missi...
134
  boot.bin: $(obj)/u-boot-spl.bin FORCE
5c390a5b2   Andreas Bießmann   arm:at91: enable ...
135
  	$(call if_changed,mkimage)
08598d6ee   Nathan Rossi   ARM: zynq: Add ta...
136
  else
d9b58b303   Michal Simek   tools: zynqmpimag...
137
  ifdef CONFIG_ARCH_ZYNQ
08598d6ee   Nathan Rossi   ARM: zynq: Add ta...
138
  MKIMAGEFLAGS_boot.bin = -T zynqimage
d9b58b303   Michal Simek   tools: zynqmpimag...
139
140
141
142
  endif
  ifdef CONFIG_ARCH_ZYNQMP
  MKIMAGEFLAGS_boot.bin = -T zynqmpimage
  endif
08598d6ee   Nathan Rossi   ARM: zynq: Add ta...
143

514ec4389   Masahiro Yamada   kbuild: add missi...
144
  spl/boot.bin: $(obj)/u-boot-spl.bin FORCE
08598d6ee   Nathan Rossi   ARM: zynq: Add ta...
145
146
  	$(call if_changed,mkimage)
  endif
5c390a5b2   Andreas Bießmann   arm:at91: enable ...
147

e19b0fb48   Masahiro Yamada   kbuild: generate ...
148
  ALL-y	+= $(obj)/$(SPL_BIN).bin
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
149

98a48c5de   Chander Kashyap   ORIGEN: Add MMC S...
150
  ifdef CONFIG_SAMSUNG
9e4140329   Masahiro Yamada   kbuild: change ou...
151
  ALL-y	+= $(obj)/$(BOARD)-spl.bin
98a48c5de   Chander Kashyap   ORIGEN: Add MMC S...
152
  endif
333b7209e   Marek Vasut   Makefile: Add tar...
153
  ifdef CONFIG_ARCH_SOCFPGA
bd7dc3883   Simon Glass   socfpga: Simplify...
154
  ALL-y	+= $(obj)/$(SPL_BIN).sfp
333b7209e   Marek Vasut   Makefile: Add tar...
155
  endif
50827a599   Ian Campbell   sunxi: non-FEL SP...
156
  ifdef CONFIG_SUNXI
50827a599   Ian Campbell   sunxi: non-FEL SP...
157
158
  ALL-y	+= $(obj)/sunxi-spl.bin
  endif
50827a599   Ian Campbell   sunxi: non-FEL SP...
159

c001486d9   Heiko Schocher   arm, at91: genera...
160
161
162
  ifeq ($(CONFIG_SYS_SOC),"at91")
  ALL-y	+= boot.bin
  endif
1a6a6e9a1   Michal Simek   ARM64: zynq: Fix ...
163
164
  ALL-$(CONFIG_ARCH_ZYNQ)		+= $(obj)/boot.bin
  ALL-$(CONFIG_ARCH_ZYNQMP)	+= $(obj)/boot.bin
d9b58b303   Michal Simek   tools: zynqmpimag...
165

6a11cf48a   Daniel Schwierzeck   spl: add initial ...
166
  all:	$(ALL-y)
fa78e0a37   Simon Glass   dm: Reduce SPL de...
167
168
  quiet_cmd_cat = CAT     $@
  cmd_cat = cat $(filter-out $(PHONY), $^) > $@
03c25bcd2   Simon Glass   fdt: Build an SPL...
169
170
  quiet_cmd_copy = COPY    $@
        cmd_copy = cp $< $@
d22199b16   Simon Glass   dm: Don't attach ...
171
  ifeq ($(CONFIG_SPL_OF_CONTROL)$(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),yy)
03c25bcd2   Simon Glass   fdt: Build an SPL...
172
  $(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin $(obj)/$(SPL_BIN)-pad.bin \
fa78e0a37   Simon Glass   dm: Reduce SPL de...
173
174
  		$(obj)/$(SPL_BIN).dtb FORCE
  	$(call if_changed,cat)
03c25bcd2   Simon Glass   fdt: Build an SPL...
175
176
177
178
179
180
181
182
  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
  	$(call if_changed,copy)
  else
  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
  	$(call if_changed,copy)
  endif
  
  # Create a file that pads from the end of u-boot-spl-nodtb.bin to bss_end
fa78e0a37   Simon Glass   dm: Reduce SPL de...
183
184
185
186
187
188
189
190
191
192
193
194
195
196
  $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)
  	@bss_size_str=$(shell $(NM) $< | awk 'BEGIN {size = 0} /__bss_size/ {size = $$1} END {print "ibase=16; " toupper(size)}' | bc); \
  	dd if=/dev/zero of=$@ bs=1 count=$${bss_size_str} 2>/dev/null;
  
  # Pass the original device tree file through fdtgrep twice. The first pass
  # removes any unwanted nodes (i.e. those which don't have the
  # 'u-boot,dm-pre-reloc' property and thus are not needed by SPL. The second
  # pass removes various unused properties from the remaining nodes.
  # The output is typically a much smaller device tree file.
  quiet_cmd_fdtgrep = FDTGREP $@
        cmd_fdtgrep = $(objtree)/tools/fdtgrep -b u-boot,dm-pre-reloc -RT $< \
  		-n /chosen -O dtb | \
  	$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
  		$(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))
35b786780   Masahiro Yamada   kbuild: fix build...
197
198
  $(obj)/$(SPL_BIN).dtb: dts/dt.dtb $(objtree)/tools/fdtgrep FORCE
  	$(call if_changed,fdtgrep)
fa78e0a37   Simon Glass   dm: Reduce SPL de...
199

dbbe2e640   Simon Glass   dm: Makefile: Bui...
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
  pythonpath = PYTHONPATH=tools
  
  quiet_cmd_dtocc = DTOC C  $@
  cmd_dtocc = $(pythonpath) $(srctree)/tools/dtoc/dtoc -d $(obj)/$(SPL_BIN).dtb -o $@ platdata
  
  quiet_cmd_dtoch = DTOC H  $@
  cmd_dtoch = $(pythonpath) $(srctree)/tools/dtoc/dtoc -d $(obj)/$(SPL_BIN).dtb -o $@ struct
  
  quiet_cmd_plat = PLAT    $@
  cmd_plat = $(CC) $(c_flags) -c $< -o $@
  
  $(obj)/dts/dt-platdata.o: $(obj)/dts/dt-platdata.c include/generated/dt-structs.h
  	$(call if_changed,plat)
  
  PHONY += dts_dir
  dts_dir:
  	$(shell [ -d $(obj)/dts ] || mkdir -p $(obj)/dts)
  
  include/generated/dt-structs.h: $(obj)/$(SPL_BIN).dtb dts_dir dtoc
  	$(call if_changed,dtoch)
  
  $(obj)/dts/dt-platdata.c: $(obj)/$(SPL_BIN).dtb dts_dir dtoc
  	$(call if_changed,dtocc)
  
  dtoc: #$(objtree)/tools/_libfdt.so
98a48c5de   Chander Kashyap   ORIGEN: Add MMC S...
225
  ifdef CONFIG_SAMSUNG
0fcac1abd   Rajeshwari Birje   SPL: EXYNOS: Prep...
226
227
228
229
230
  ifdef CONFIG_VAR_SIZE_SPL
  VAR_SIZE_PARAM = --vs
  else
  VAR_SIZE_PARAM =
  endif
9e4140329   Masahiro Yamada   kbuild: change ou...
231
  $(obj)/$(BOARD)-spl.bin: $(obj)/u-boot-spl.bin
5ee828ca9   Masahiro Yamada   kbuild: rename OB...
232
233
234
  	$(if $(wildcard $(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl),\
  	$(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl,\
  	$(objtree)/tools/mkexynosspl) $(VAR_SIZE_PARAM) $< $@
98a48c5de   Chander Kashyap   ORIGEN: Add MMC S...
235
  endif
f9c235fd9   Masahiro Yamada   kbuild: use short...
236
237
  quiet_cmd_objcopy = OBJCOPY $@
  cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
03c25bcd2   Simon Glass   fdt: Build an SPL...
238
  OBJCOPYFLAGS_$(SPL_BIN)-nodtb.bin = $(SPL_OBJCFLAGS) -O binary
f9c235fd9   Masahiro Yamada   kbuild: use short...
239

03c25bcd2   Simon Glass   fdt: Build an SPL...
240
  $(obj)/$(SPL_BIN)-nodtb.bin: $(obj)/$(SPL_BIN) FORCE
f9c235fd9   Masahiro Yamada   kbuild: use short...
241
  	$(call if_changed,objcopy)
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
242

9e4140329   Masahiro Yamada   kbuild: change ou...
243
  LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
e0d5d9f88   Masahiro Yamada   Makefile: move so...
244
245
246
  ifneq ($(CONFIG_SPL_TEXT_BASE),)
  LDFLAGS_$(SPL_BIN) += -Ttext $(CONFIG_SPL_TEXT_BASE)
  endif
bd7dc3883   Simon Glass   socfpga: Simplify...
247
248
  MKIMAGEFLAGS_$(SPL_BIN).sfp = -T socfpgaimage
  $(obj)/$(SPL_BIN).sfp: $(obj)/$(SPL_BIN).bin FORCE
333b7209e   Marek Vasut   Makefile: Add tar...
249
  	$(call if_changed,mkimage)
333b7209e   Marek Vasut   Makefile: Add tar...
250

50827a599   Ian Campbell   sunxi: non-FEL SP...
251
252
  quiet_cmd_mksunxiboot = MKSUNXI $@
  cmd_mksunxiboot = $(objtree)/tools/mksunxiboot $< $@
514ec4389   Masahiro Yamada   kbuild: add missi...
253
  $(obj)/sunxi-spl.bin: $(obj)/$(SPL_BIN).bin FORCE
50827a599   Ian Campbell   sunxi: non-FEL SP...
254
  	$(call if_changed,mksunxiboot)
50827a599   Ian Campbell   sunxi: non-FEL SP...
255

72a7e0760   Simon Glass   Makefile: Allow t...
256
257
258
259
  # Rule to link u-boot-spl
  # May be overridden by arch/$(ARCH)/config.mk
  quiet_cmd_u-boot-spl ?= LD      $@
        cmd_u-boot-spl ?= (cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
656de6b81   Masahiro Yamada   kbuild: refactor ...
260
  		       $(patsubst $(obj)/%,%,$(u-boot-spl-init)) --start-group \
dbbe2e640   Simon Glass   dm: Makefile: Bui...
261
262
263
  		       $(patsubst $(obj)/%,%,$(u-boot-spl-main))  \
  		       $(patsubst $(obj)/%,%,$(u-boot-spl-platdata)) \
  		       --end-group \
9adb6d240   Masahiro Yamada   kbuild: fix a bug...
264
  		       $(PLATFORM_LIBS) -Map $(SPL_BIN).map -o $(SPL_BIN))
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
265

dbbe2e640   Simon Glass   dm: Makefile: Bui...
266
267
  $(obj)/$(SPL_BIN): $(u-boot-spl-platdata) $(u-boot-spl-init) \
  		$(u-boot-spl-main) $(obj)/u-boot-spl.lds FORCE
9adb6d240   Masahiro Yamada   kbuild: fix a bug...
268
  	$(call if_changed,u-boot-spl)
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
269

656de6b81   Masahiro Yamada   kbuild: refactor ...
270
  $(sort $(u-boot-spl-init) $(u-boot-spl-main)): $(u-boot-spl-dirs) ;
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
271

656de6b81   Masahiro Yamada   kbuild: refactor ...
272
  PHONY += $(u-boot-spl-dirs)
dbbe2e640   Simon Glass   dm: Makefile: Bui...
273
  $(u-boot-spl-dirs): $(u-boot-spl-platdata)
656de6b81   Masahiro Yamada   kbuild: refactor ...
274
  	$(Q)$(MAKE) $(build)=$@
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
275

04a34c96b   Masahiro Yamada   kbuild: use short...
276
  quiet_cmd_cpp_lds = LDS     $@
395e60cdc   Masahiro Yamada   kbuild: fix a bug...
277
278
  cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
  		-D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $<
04a34c96b   Masahiro Yamada   kbuild: use short...
279

6825a95b0   Masahiro Yamada   kbuild: use Linux...
280
  $(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE
395e60cdc   Masahiro Yamada   kbuild: fix a bug...
281
  	$(call if_changed_dep,cpp_lds)
6a11cf48a   Daniel Schwierzeck   spl: add initial ...
282

f9c235fd9   Masahiro Yamada   kbuild: use short...
283
284
285
286
287
288
289
290
291
  # read all saved command lines
  
  targets := $(wildcard $(sort $(targets)))
  cmd_files := $(wildcard $(obj)/.*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
  
  ifneq ($(cmd_files),)
    $(cmd_files): ;	# Do not try to update included dependency files
    include $(cmd_files)
  endif
6825a95b0   Masahiro Yamada   kbuild: use Linux...
292
293
294
295
296
297
  PHONY += FORCE
  FORCE:
  
  # Declare the contents of the .PHONY variable as phony.  We keep that
  # information in a variable so we can use it in if_changed and friends.
  .PHONY: $(PHONY)