Commit c71630838d908e410ee83f0164327e1fd515f1ca

Authored by Masahiro Yamada
Committed by Tom Rini
1 parent ddc94378db

kbuild: move spl/Makefile to scripts/Makefile.spl

All files under spl/ and tpl/ are generated during the build process
except spl/Makefile.

We can simplify clean-rule and git-ignore by moving spl/Makefile
to somewhere else.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>

Showing 4 changed files with 284 additions and 287 deletions Side-by-side Diff

... ... @@ -49,8 +49,7 @@
49 49 /errlog
50 50 /reloc_off
51 51  
52   -/spl/*
53   -!/spl/Makefile
  52 +/spl/
54 53 /tpl/
55 54  
56 55 #
... ... @@ -1128,13 +1128,13 @@
1128 1128 spl/u-boot-spl.bin: spl/u-boot-spl
1129 1129 @:
1130 1130 spl/u-boot-spl: tools prepare
1131   - $(Q)$(MAKE) obj=spl -f $(srctree)/spl/Makefile all
  1131 + $(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all
1132 1132  
1133 1133 spl/sunxi-spl.bin: spl/u-boot-spl
1134 1134 @:
1135 1135  
1136 1136 tpl/u-boot-tpl.bin: tools prepare
1137   - $(Q)$(MAKE) obj=tpl -f $(srctree)/spl/Makefile all CONFIG_TPL_BUILD=y
  1137 + $(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all CONFIG_TPL_BUILD=y
1138 1138  
1139 1139 TAG_SUBDIRS := $(u-boot-dirs) include
1140 1140  
... ... @@ -1214,9 +1214,7 @@
1214 1214 include/tpl-autoconf.mk
1215 1215  
1216 1216 # Directories & files removed with 'make clobber'
1217   -CLOBBER_DIRS += $(patsubst %,spl/%, $(filter-out Makefile, \
1218   - $(shell ls -1 spl 2>/dev/null))) \
1219   - tpl
  1217 +CLOBBER_DIRS += spl tpl
1220 1218 CLOBBER_FILES += u-boot* MLO* SPL System.map
1221 1219  
1222 1220 # Directories & files removed with 'make mrproper'
scripts/Makefile.spl
  1 +#
  2 +# (C) Copyright 2000-2011
  3 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4 +#
  5 +# (C) Copyright 2011
  6 +# Daniel Schwierzeck, daniel.schwierzeck@googlemail.com.
  7 +#
  8 +# (C) Copyright 2011
  9 +# Texas Instruments Incorporated - http://www.ti.com/
  10 +# Aneesh V <aneesh@ti.com>
  11 +#
  12 +# SPDX-License-Identifier: GPL-2.0+
  13 +#
  14 +# Based on top-level Makefile.
  15 +#
  16 +
  17 +src := $(obj)
  18 +
  19 +# Create output directory if not already present
  20 +_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
  21 +
  22 +include $(srctree)/scripts/Kbuild.include
  23 +
  24 +CONFIG_SPL_BUILD := y
  25 +export CONFIG_SPL_BUILD
  26 +
  27 +KBUILD_CPPFLAGS += -DCONFIG_SPL_BUILD
  28 +ifeq ($(CONFIG_TPL_BUILD),y)
  29 +KBUILD_CPPFLAGS += -DCONFIG_TPL_BUILD
  30 +endif
  31 +
  32 +ifeq ($(CONFIG_TPL_BUILD),y)
  33 +export CONFIG_TPL_BUILD
  34 +SPL_BIN := u-boot-tpl
  35 +else
  36 +SPL_BIN := u-boot-spl
  37 +endif
  38 +
  39 +include include/config.mk
  40 +
  41 +ifeq ($(CONFIG_TPL_BUILD),y)
  42 + -include include/tpl-autoconf.mk
  43 +else
  44 + -include include/spl-autoconf.mk
  45 +endif
  46 +
  47 +include $(srctree)/config.mk
  48 +
  49 +# Enable garbage collection of un-used sections for SPL
  50 +KBUILD_CFLAGS += -ffunction-sections -fdata-sections
  51 +LDFLAGS_FINAL += --gc-sections
  52 +
  53 +# FIX ME
  54 +cpp_flags := $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) $(UBOOTINCLUDE) \
  55 + $(NOSTDINC_FLAGS)
  56 +c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
  57 +
  58 +# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
  59 +quiet_cmd_autoconf = GEN $@
  60 + cmd_autoconf = \
  61 + $(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
  62 + sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
  63 + rm $@.tmp
  64 +
  65 +include/tpl-autoconf.mk: include/config.h
  66 + $(call cmd,autoconf)
  67 +
  68 +include/spl-autoconf.mk: include/config.h
  69 + $(call cmd,autoconf)
  70 +
  71 +HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makefile),y,n)
  72 +
  73 +ifdef CONFIG_SPL_START_S_PATH
  74 +START_PATH := $(CONFIG_SPL_START_S_PATH:"%"=%)
  75 +else
  76 +START_PATH := $(CPUDIR)
  77 +endif
  78 +
  79 +head-y := $(START_PATH)/start.o
  80 +head-$(CONFIG_X86) += $(START_PATH)/start16.o $(START_PATH)/resetvec.o
  81 +head-$(CONFIG_4xx) += $(START_PATH)/resetvec.o
  82 +head-$(CONFIG_MPC85xx) += $(START_PATH)/resetvec.o
  83 +
  84 +libs-y += arch/$(ARCH)/lib/
  85 +
  86 +libs-y += $(CPUDIR)/
  87 +
  88 +ifdef SOC
  89 +libs-y += $(CPUDIR)/$(SOC)/
  90 +endif
  91 +libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/)
  92 +libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
  93 +
  94 +libs-$(CONFIG_SPL_FRAMEWORK) += common/spl/
  95 +libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/
  96 +libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
  97 +libs-$(CONFIG_SPL_I2C_SUPPORT) += drivers/i2c/
  98 +libs-$(CONFIG_SPL_GPIO_SUPPORT) += drivers/gpio/
  99 +libs-$(CONFIG_SPL_MMC_SUPPORT) += drivers/mmc/
  100 +libs-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += drivers/ddr/fsl/
  101 +libs-$(CONFIG_SPL_SERIAL_SUPPORT) += drivers/serial/
  102 +libs-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += drivers/mtd/spi/
  103 +libs-$(CONFIG_SPL_SPI_SUPPORT) += drivers/spi/
  104 +libs-y += fs/
  105 +libs-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/
  106 +libs-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/ drivers/power/pmic/
  107 +libs-$(CONFIG_SPL_MTD_SUPPORT) += drivers/mtd/
  108 +libs-$(if $(CONFIG_CMD_NAND),$(CONFIG_SPL_NAND_SUPPORT)) += drivers/mtd/nand/
  109 +libs-$(CONFIG_SPL_DRIVERS_MISC_SUPPORT) += drivers/misc/
  110 +libs-$(CONFIG_SPL_ONENAND_SUPPORT) += drivers/mtd/onenand/
  111 +libs-$(CONFIG_SPL_DMA_SUPPORT) += drivers/dma/
  112 +libs-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/
  113 +libs-$(CONFIG_SPL_NET_SUPPORT) += net/
  114 +libs-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/
  115 +libs-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/
  116 +libs-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/net/phy/
  117 +libs-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/
  118 +libs-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/
  119 +libs-$(CONFIG_SPL_WATCHDOG_SUPPORT) += drivers/watchdog/
  120 +libs-$(CONFIG_SPL_USB_HOST_SUPPORT) += drivers/usb/host/
  121 +libs-$(CONFIG_OMAP_USB_PHY) += drivers/usb/phy/
  122 +libs-$(CONFIG_SPL_SATA_SUPPORT) += drivers/block/
  123 +
  124 +ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
  125 +libs-y += arch/$(ARCH)/imx-common/
  126 +endif
  127 +
  128 +libs-$(CONFIG_ARM) += arch/arm/cpu/
  129 +libs-$(CONFIG_PPC) += arch/powerpc/cpu/
  130 +
  131 +head-y := $(addprefix $(obj)/,$(head-y))
  132 +libs-y := $(addprefix $(obj)/,$(libs-y))
  133 +u-boot-spl-dirs := $(patsubst %/,%,$(filter %/, $(libs-y)))
  134 +
  135 +libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
  136 +
  137 +# Add GCC lib
  138 +ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
  139 +PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
  140 +PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
  141 +endif
  142 +
  143 +u-boot-spl-init := $(head-y)
  144 +u-boot-spl-main := $(libs-y)
  145 +
  146 +# Linker Script
  147 +ifdef CONFIG_SPL_LDSCRIPT
  148 +# need to strip off double quotes
  149 +LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_SPL_LDSCRIPT:"%"=%))
  150 +endif
  151 +
  152 +ifeq ($(wildcard $(LDSCRIPT)),)
  153 + LDSCRIPT := $(srctree)/board/$(BOARDDIR)/u-boot-spl.lds
  154 +endif
  155 +ifeq ($(wildcard $(LDSCRIPT)),)
  156 + LDSCRIPT := $(srctree)/$(CPUDIR)/u-boot-spl.lds
  157 +endif
  158 +ifeq ($(wildcard $(LDSCRIPT)),)
  159 + LDSCRIPT := $(srctree)/arch/$(ARCH)/cpu/u-boot-spl.lds
  160 +endif
  161 +ifeq ($(wildcard $(LDSCRIPT)),)
  162 +$(error could not find linker script)
  163 +endif
  164 +
  165 +# Special flags for CPP when processing the linker script.
  166 +# Pass the version down so we can handle backwards compatibility
  167 +# on the fly.
  168 +LDPPFLAGS += \
  169 + -include $(srctree)/include/u-boot/u-boot.lds.h \
  170 + -include $(objtree)/include/config.h \
  171 + -DCPUDIR=$(CPUDIR) \
  172 + $(shell $(LD) --version | \
  173 + sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
  174 +
  175 +quiet_cmd_mkimage = MKIMAGE $@
  176 +cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
  177 + $(if $(KBUILD_VERBOSE:1=), >/dev/null)
  178 +
  179 +MKIMAGEFLAGS_MLO = -T omapimage -a $(CONFIG_SPL_TEXT_BASE)
  180 +
  181 +MKIMAGEFLAGS_MLO.byteswap = -T omapimage -n byteswap -a $(CONFIG_SPL_TEXT_BASE)
  182 +
  183 +MLO MLO.byteswap: $(obj)/u-boot-spl.bin
  184 + $(call if_changed,mkimage)
  185 +
  186 +MKIMAGEFLAGS_boot.bin = -T atmelimage
  187 +
  188 +ifeq ($(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER),y)
  189 +MKIMAGEFLAGS_boot.bin += -n $(shell $(obj)/../tools/atmel_pmecc_params)
  190 +
  191 +boot.bin: $(obj)/../tools/atmel_pmecc_params
  192 +endif
  193 +
  194 +boot.bin: $(obj)/u-boot-spl.bin
  195 + $(call if_changed,mkimage)
  196 +
  197 +ALL-y += $(obj)/$(SPL_BIN).bin
  198 +
  199 +ifdef CONFIG_SAMSUNG
  200 +ALL-y += $(obj)/$(BOARD)-spl.bin
  201 +endif
  202 +
  203 +ifdef CONFIG_SUNXI
  204 +ifndef CONFIG_SPL_FEL
  205 +ALL-y += $(obj)/sunxi-spl.bin
  206 +endif
  207 +endif
  208 +
  209 +all: $(ALL-y)
  210 +
  211 +ifdef CONFIG_SAMSUNG
  212 +ifdef CONFIG_VAR_SIZE_SPL
  213 +VAR_SIZE_PARAM = --vs
  214 +else
  215 +VAR_SIZE_PARAM =
  216 +endif
  217 +$(obj)/$(BOARD)-spl.bin: $(obj)/u-boot-spl.bin
  218 + $(if $(wildcard $(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl),\
  219 + $(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl,\
  220 + $(objtree)/tools/mkexynosspl) $(VAR_SIZE_PARAM) $< $@
  221 +endif
  222 +
  223 +quiet_cmd_objcopy = OBJCOPY $@
  224 +cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
  225 +
  226 +OBJCOPYFLAGS_$(SPL_BIN).bin = $(SPL_OBJCFLAGS) -O binary
  227 +
  228 +$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN) FORCE
  229 + $(call if_changed,objcopy)
  230 +
  231 +LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
  232 +ifneq ($(CONFIG_SPL_TEXT_BASE),)
  233 +LDFLAGS_$(SPL_BIN) += -Ttext $(CONFIG_SPL_TEXT_BASE)
  234 +endif
  235 +
  236 +ifdef CONFIG_SUNXI
  237 +quiet_cmd_mksunxiboot = MKSUNXI $@
  238 +cmd_mksunxiboot = $(objtree)/tools/mksunxiboot $< $@
  239 +$(obj)/sunxi-spl.bin: $(obj)/$(SPL_BIN).bin
  240 + $(call if_changed,mksunxiboot)
  241 +endif
  242 +
  243 +quiet_cmd_u-boot-spl = LD $@
  244 + cmd_u-boot-spl = cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
  245 + $(patsubst $(obj)/%,%,$(u-boot-spl-init)) --start-group \
  246 + $(patsubst $(obj)/%,%,$(u-boot-spl-main)) --end-group \
  247 + $(PLATFORM_LIBS) -Map $(SPL_BIN).map -o $(SPL_BIN)
  248 +
  249 +$(obj)/$(SPL_BIN): $(u-boot-spl-init) $(u-boot-spl-main) $(obj)/u-boot-spl.lds
  250 + $(call cmd,u-boot-spl)
  251 +
  252 +$(sort $(u-boot-spl-init) $(u-boot-spl-main)): $(u-boot-spl-dirs) ;
  253 +
  254 +PHONY += $(u-boot-spl-dirs)
  255 +$(u-boot-spl-dirs):
  256 + $(Q)$(MAKE) $(build)=$@
  257 +
  258 +quiet_cmd_cpp_lds = LDS $@
  259 +cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
  260 + -D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $<
  261 +
  262 +$(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE
  263 + $(call if_changed_dep,cpp_lds)
  264 +
  265 +# read all saved command lines
  266 +
  267 +targets := $(wildcard $(sort $(targets)))
  268 +cmd_files := $(wildcard $(obj)/.*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
  269 +
  270 +ifneq ($(cmd_files),)
  271 + $(cmd_files): ; # Do not try to update included dependency files
  272 + include $(cmd_files)
  273 +endif
  274 +
  275 +PHONY += FORCE
  276 +FORCE:
  277 +
  278 +# Declare the contents of the .PHONY variable as phony. We keep that
  279 +# information in a variable so we can use it in if_changed and friends.
  280 +.PHONY: $(PHONY)
spl/Makefile
1   -#
2   -# (C) Copyright 2000-2011
3   -# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4   -#
5   -# (C) Copyright 2011
6   -# Daniel Schwierzeck, daniel.schwierzeck@googlemail.com.
7   -#
8   -# (C) Copyright 2011
9   -# Texas Instruments Incorporated - http://www.ti.com/
10   -# Aneesh V <aneesh@ti.com>
11   -#
12   -# SPDX-License-Identifier: GPL-2.0+
13   -#
14   -# Based on top-level Makefile.
15   -#
16   -
17   -src := $(obj)
18   -
19   -# Create output directory if not already present
20   -_dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
21   -
22   -include $(srctree)/scripts/Kbuild.include
23   -
24   -CONFIG_SPL_BUILD := y
25   -export CONFIG_SPL_BUILD
26   -
27   -KBUILD_CPPFLAGS += -DCONFIG_SPL_BUILD
28   -ifeq ($(CONFIG_TPL_BUILD),y)
29   -KBUILD_CPPFLAGS += -DCONFIG_TPL_BUILD
30   -endif
31   -
32   -ifeq ($(CONFIG_TPL_BUILD),y)
33   -export CONFIG_TPL_BUILD
34   -SPL_BIN := u-boot-tpl
35   -else
36   -SPL_BIN := u-boot-spl
37   -endif
38   -
39   -include include/config.mk
40   -
41   -ifeq ($(CONFIG_TPL_BUILD),y)
42   - -include include/tpl-autoconf.mk
43   -else
44   - -include include/spl-autoconf.mk
45   -endif
46   -
47   -include $(srctree)/config.mk
48   -
49   -# Enable garbage collection of un-used sections for SPL
50   -KBUILD_CFLAGS += -ffunction-sections -fdata-sections
51   -LDFLAGS_FINAL += --gc-sections
52   -
53   -# FIX ME
54   -cpp_flags := $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) $(UBOOTINCLUDE) \
55   - $(NOSTDINC_FLAGS)
56   -c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
57   -
58   -# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
59   -quiet_cmd_autoconf = GEN $@
60   - cmd_autoconf = \
61   - $(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
62   - sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
63   - rm $@.tmp
64   -
65   -include/tpl-autoconf.mk: include/config.h
66   - $(call cmd,autoconf)
67   -
68   -include/spl-autoconf.mk: include/config.h
69   - $(call cmd,autoconf)
70   -
71   -HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makefile),y,n)
72   -
73   -ifdef CONFIG_SPL_START_S_PATH
74   -START_PATH := $(CONFIG_SPL_START_S_PATH:"%"=%)
75   -else
76   -START_PATH := $(CPUDIR)
77   -endif
78   -
79   -head-y := $(START_PATH)/start.o
80   -head-$(CONFIG_X86) += $(START_PATH)/start16.o $(START_PATH)/resetvec.o
81   -head-$(CONFIG_4xx) += $(START_PATH)/resetvec.o
82   -head-$(CONFIG_MPC85xx) += $(START_PATH)/resetvec.o
83   -
84   -libs-y += arch/$(ARCH)/lib/
85   -
86   -libs-y += $(CPUDIR)/
87   -
88   -ifdef SOC
89   -libs-y += $(CPUDIR)/$(SOC)/
90   -endif
91   -libs-y += $(if $(BOARDDIR),board/$(BOARDDIR)/)
92   -libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/
93   -
94   -libs-$(CONFIG_SPL_FRAMEWORK) += common/spl/
95   -libs-$(CONFIG_SPL_LIBCOMMON_SUPPORT) += common/
96   -libs-$(CONFIG_SPL_LIBDISK_SUPPORT) += disk/
97   -libs-$(CONFIG_SPL_I2C_SUPPORT) += drivers/i2c/
98   -libs-$(CONFIG_SPL_GPIO_SUPPORT) += drivers/gpio/
99   -libs-$(CONFIG_SPL_MMC_SUPPORT) += drivers/mmc/
100   -libs-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += drivers/ddr/fsl/
101   -libs-$(CONFIG_SPL_SERIAL_SUPPORT) += drivers/serial/
102   -libs-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += drivers/mtd/spi/
103   -libs-$(CONFIG_SPL_SPI_SUPPORT) += drivers/spi/
104   -libs-y += fs/
105   -libs-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/
106   -libs-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/ drivers/power/pmic/
107   -libs-$(CONFIG_SPL_MTD_SUPPORT) += drivers/mtd/
108   -libs-$(if $(CONFIG_CMD_NAND),$(CONFIG_SPL_NAND_SUPPORT)) += drivers/mtd/nand/
109   -libs-$(CONFIG_SPL_DRIVERS_MISC_SUPPORT) += drivers/misc/
110   -libs-$(CONFIG_SPL_ONENAND_SUPPORT) += drivers/mtd/onenand/
111   -libs-$(CONFIG_SPL_DMA_SUPPORT) += drivers/dma/
112   -libs-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/
113   -libs-$(CONFIG_SPL_NET_SUPPORT) += net/
114   -libs-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/
115   -libs-$(CONFIG_SPL_ETH_SUPPORT) += drivers/net/phy/
116   -libs-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/net/phy/
117   -libs-$(CONFIG_SPL_MUSB_NEW_SUPPORT) += drivers/usb/musb-new/
118   -libs-$(CONFIG_SPL_USBETH_SUPPORT) += drivers/usb/gadget/
119   -libs-$(CONFIG_SPL_WATCHDOG_SUPPORT) += drivers/watchdog/
120   -libs-$(CONFIG_SPL_USB_HOST_SUPPORT) += drivers/usb/host/
121   -libs-$(CONFIG_OMAP_USB_PHY) += drivers/usb/phy/
122   -libs-$(CONFIG_SPL_SATA_SUPPORT) += drivers/block/
123   -
124   -ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
125   -libs-y += arch/$(ARCH)/imx-common/
126   -endif
127   -
128   -libs-$(CONFIG_ARM) += arch/arm/cpu/
129   -libs-$(CONFIG_PPC) += arch/powerpc/cpu/
130   -
131   -head-y := $(addprefix $(obj)/,$(head-y))
132   -libs-y := $(addprefix $(obj)/,$(libs-y))
133   -u-boot-spl-dirs := $(patsubst %/,%,$(filter %/, $(libs-y)))
134   -
135   -libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
136   -
137   -# Add GCC lib
138   -ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
139   -PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
140   -PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
141   -endif
142   -
143   -u-boot-spl-init := $(head-y)
144   -u-boot-spl-main := $(libs-y)
145   -
146   -# Linker Script
147   -ifdef CONFIG_SPL_LDSCRIPT
148   -# need to strip off double quotes
149   -LDSCRIPT := $(addprefix $(srctree)/,$(CONFIG_SPL_LDSCRIPT:"%"=%))
150   -endif
151   -
152   -ifeq ($(wildcard $(LDSCRIPT)),)
153   - LDSCRIPT := $(srctree)/board/$(BOARDDIR)/u-boot-spl.lds
154   -endif
155   -ifeq ($(wildcard $(LDSCRIPT)),)
156   - LDSCRIPT := $(srctree)/$(CPUDIR)/u-boot-spl.lds
157   -endif
158   -ifeq ($(wildcard $(LDSCRIPT)),)
159   - LDSCRIPT := $(srctree)/arch/$(ARCH)/cpu/u-boot-spl.lds
160   -endif
161   -ifeq ($(wildcard $(LDSCRIPT)),)
162   -$(error could not find linker script)
163   -endif
164   -
165   -# Special flags for CPP when processing the linker script.
166   -# Pass the version down so we can handle backwards compatibility
167   -# on the fly.
168   -LDPPFLAGS += \
169   - -include $(srctree)/include/u-boot/u-boot.lds.h \
170   - -include $(objtree)/include/config.h \
171   - -DCPUDIR=$(CPUDIR) \
172   - $(shell $(LD) --version | \
173   - sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
174   -
175   -quiet_cmd_mkimage = MKIMAGE $@
176   -cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
177   - $(if $(KBUILD_VERBOSE:1=), >/dev/null)
178   -
179   -MKIMAGEFLAGS_MLO = -T omapimage -a $(CONFIG_SPL_TEXT_BASE)
180   -
181   -MKIMAGEFLAGS_MLO.byteswap = -T omapimage -n byteswap -a $(CONFIG_SPL_TEXT_BASE)
182   -
183   -MLO MLO.byteswap: $(obj)/u-boot-spl.bin
184   - $(call if_changed,mkimage)
185   -
186   -MKIMAGEFLAGS_boot.bin = -T atmelimage
187   -
188   -ifeq ($(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER),y)
189   -MKIMAGEFLAGS_boot.bin += -n $(shell $(obj)/../tools/atmel_pmecc_params)
190   -
191   -boot.bin: $(obj)/../tools/atmel_pmecc_params
192   -endif
193   -
194   -boot.bin: $(obj)/u-boot-spl.bin
195   - $(call if_changed,mkimage)
196   -
197   -ALL-y += $(obj)/$(SPL_BIN).bin
198   -
199   -ifdef CONFIG_SAMSUNG
200   -ALL-y += $(obj)/$(BOARD)-spl.bin
201   -endif
202   -
203   -ifdef CONFIG_SUNXI
204   -ifndef CONFIG_SPL_FEL
205   -ALL-y += $(obj)/sunxi-spl.bin
206   -endif
207   -endif
208   -
209   -all: $(ALL-y)
210   -
211   -ifdef CONFIG_SAMSUNG
212   -ifdef CONFIG_VAR_SIZE_SPL
213   -VAR_SIZE_PARAM = --vs
214   -else
215   -VAR_SIZE_PARAM =
216   -endif
217   -$(obj)/$(BOARD)-spl.bin: $(obj)/u-boot-spl.bin
218   - $(if $(wildcard $(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl),\
219   - $(objtree)/spl/board/samsung/$(BOARD)/tools/mk$(BOARD)spl,\
220   - $(objtree)/tools/mkexynosspl) $(VAR_SIZE_PARAM) $< $@
221   -endif
222   -
223   -quiet_cmd_objcopy = OBJCOPY $@
224   -cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS) $(OBJCOPYFLAGS_$(@F)) $< $@
225   -
226   -OBJCOPYFLAGS_$(SPL_BIN).bin = $(SPL_OBJCFLAGS) -O binary
227   -
228   -$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN) FORCE
229   - $(call if_changed,objcopy)
230   -
231   -LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
232   -ifneq ($(CONFIG_SPL_TEXT_BASE),)
233   -LDFLAGS_$(SPL_BIN) += -Ttext $(CONFIG_SPL_TEXT_BASE)
234   -endif
235   -
236   -ifdef CONFIG_SUNXI
237   -quiet_cmd_mksunxiboot = MKSUNXI $@
238   -cmd_mksunxiboot = $(objtree)/tools/mksunxiboot $< $@
239   -$(obj)/sunxi-spl.bin: $(obj)/$(SPL_BIN).bin
240   - $(call if_changed,mksunxiboot)
241   -endif
242   -
243   -quiet_cmd_u-boot-spl = LD $@
244   - cmd_u-boot-spl = cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
245   - $(patsubst $(obj)/%,%,$(u-boot-spl-init)) --start-group \
246   - $(patsubst $(obj)/%,%,$(u-boot-spl-main)) --end-group \
247   - $(PLATFORM_LIBS) -Map $(SPL_BIN).map -o $(SPL_BIN)
248   -
249   -$(obj)/$(SPL_BIN): $(u-boot-spl-init) $(u-boot-spl-main) $(obj)/u-boot-spl.lds
250   - $(call cmd,u-boot-spl)
251   -
252   -$(sort $(u-boot-spl-init) $(u-boot-spl-main)): $(u-boot-spl-dirs) ;
253   -
254   -PHONY += $(u-boot-spl-dirs)
255   -$(u-boot-spl-dirs):
256   - $(Q)$(MAKE) $(build)=$@
257   -
258   -quiet_cmd_cpp_lds = LDS $@
259   -cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
260   - -D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $<
261   -
262   -$(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE
263   - $(call if_changed_dep,cpp_lds)
264   -
265   -# read all saved command lines
266   -
267   -targets := $(wildcard $(sort $(targets)))
268   -cmd_files := $(wildcard $(obj)/.*.cmd $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
269   -
270   -ifneq ($(cmd_files),)
271   - $(cmd_files): ; # Do not try to update included dependency files
272   - include $(cmd_files)
273   -endif
274   -
275   -PHONY += FORCE
276   -FORCE:
277   -
278   -# Declare the contents of the .PHONY variable as phony. We keep that
279   -# information in a variable so we can use it in if_changed and friends.
280   -.PHONY: $(PHONY)