common: Add symbol handling for generic lists into Makefile
This patch adds essential components for generation of the contents of the linker section that is used by the linker-generated array. All of the contents is held in a separate file, u-boot.lst, which is generated at runtime just before U-Boot is linked. The purpose of this code is to especially generate the appropriate boundary symbols around each subsection in the section carrying the linker-generated arrays. Obviously, the interim linker code for actual placement of the variables into the section is generated too. The generated file, u-boot.lst, is included into u-boot.lds via the linker INCLUDE directive in u-boot.lds . Adjustments are made in the Makefile and spl/Makefile so that the u-boot.lds and u-boot-spl.lds depend on their respective .lst files. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Mike Frysinger <vapier@gentoo.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Tested-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
047cea3655
commit
97b24d3d51
1
.gitignore
vendored
1
.gitignore
vendored
@ -38,6 +38,7 @@
|
||||
/u-boot.sha1
|
||||
/u-boot.dis
|
||||
/u-boot.lds
|
||||
/u-boot.lst
|
||||
/u-boot.ubl
|
||||
/u-boot.ais
|
||||
/u-boot.dtb
|
||||
|
20
Makefile
20
Makefile
@ -535,7 +535,10 @@ else
|
||||
GEN_UBOOT = \
|
||||
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
|
||||
sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
|
||||
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM $(__OBJS) \
|
||||
UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
|
||||
sed -n -e 's/.*\($(SYM_PREFIX)_u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
|
||||
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
|
||||
$$UNDEF_SYM $$UNDEF_LST $(__OBJS) \
|
||||
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
|
||||
-Map u-boot.map -o u-boot
|
||||
endif
|
||||
@ -568,8 +571,12 @@ $(SUBDIR_EXAMPLES): $(obj)u-boot
|
||||
$(LDSCRIPT): depend
|
||||
$(MAKE) -C $(dir $@) $(notdir $@)
|
||||
|
||||
$(obj)u-boot.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates u-boot.lst,
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(obj)include/u-boot.lst, $(LIBBOARD) $(LIBS)))
|
||||
$(obj)u-boot.lds: $(LDSCRIPT) $(obj)include/u-boot.lst
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend
|
||||
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
|
||||
@ -808,6 +815,7 @@ clean:
|
||||
$(obj)board/matrix_vision/*/bootscript.img \
|
||||
$(obj)board/voiceblue/eeprom \
|
||||
$(obj)u-boot.lds \
|
||||
$(obj)include/u-boot.lst \
|
||||
$(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs] \
|
||||
$(obj)arch/blackfin/cpu/init.{lds,elf}
|
||||
@rm -f $(obj)include/bmp_logo.h
|
||||
@ -841,8 +849,10 @@ clobber: tidy
|
||||
@rm -f $(obj)u-boot.dtb
|
||||
@rm -f $(obj)u-boot.sb
|
||||
@rm -f $(obj)u-boot.spr
|
||||
@rm -f $(obj)nand_spl/{u-boot.lds,u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map,System.map}
|
||||
@rm -f $(obj)spl/{u-boot-spl,u-boot-spl.bin,u-boot-spl.lds,u-boot-spl.map}
|
||||
@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}
|
||||
@rm -f $(obj)spl/{u-boot-spl.lds,u-boot.lst}
|
||||
@rm -f $(obj)MLO
|
||||
@rm -f $(obj)tools/xway-swap-bytes
|
||||
@rm -f $(obj)arch/powerpc/cpu/mpc824x/bedbug_603e.c
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
#########################################################################
|
||||
|
||||
include $(TOPDIR)/helper.mk
|
||||
|
||||
ifeq ($(CURDIR),$(SRCTREE))
|
||||
dir :=
|
||||
else
|
||||
|
64
helper.mk
Normal file
64
helper.mk
Normal file
@ -0,0 +1,64 @@
|
||||
#
|
||||
# Copyright (C) 2012 Marek Vasut <marex@denx.de>
|
||||
#
|
||||
# See file CREDITS for list of people who contributed to this
|
||||
# project.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
#########################################################################
|
||||
|
||||
##
|
||||
# make_u_boot_list - Generate contents of u_boot_list section
|
||||
# 1: The name of the resulting file (usually u-boot.lst)
|
||||
# 2: Files to analyze for possible u_boot_list entries
|
||||
#
|
||||
# This function generates the contents of the u_boot_list section,
|
||||
# including all the border symbols for it's subsections. The operation
|
||||
# of this function is as follows, numbering goes per lines:
|
||||
#
|
||||
# 1) Dump the ELF header sections from all files supplied via $(2)
|
||||
# 2) Filter out all other stuff that does not belong into .u_boot_list
|
||||
# section.
|
||||
# 3) Fix up the lines so that the resulting output is is in format
|
||||
# ".u_boot_list.*".
|
||||
# 4) Remove the last .something$, since that only contains the name
|
||||
# of the variable to be put into a subsection. This name is irelevant
|
||||
# for generation of border symbols, thus of no interest, remove it.
|
||||
# 5) Take each line and for every dot "." in that line, print the whole
|
||||
# line until that dot "." . This is important so that we have all
|
||||
# parent border symbols generated as well.
|
||||
# 6) Load every line and firstly append "\a" at the end and print the
|
||||
# line. Next, append "@" at the end and print the line. Finally,
|
||||
# append "~" at the end of line. This will make sense in conjunction
|
||||
# with 6) and 7).
|
||||
# 7) Sort the lines. It is imperative to use LC_COLLATE=C here because
|
||||
# with this, the "\a" symbol is first and "~" symbol is last. Any
|
||||
# other symbols fall inbetween. Symbols like "@", which marks the
|
||||
# end of current line (representing current section) and ".", which
|
||||
# means the line continues and thus represents subsection.
|
||||
# 8) With such ordering, all lines ending with "\a" will float at the
|
||||
# begining of all lines with the same prefix. Thus it is easy to
|
||||
# replace "\a" with __start and make it the __start border symbol.
|
||||
# Very similarly for "~", which will be always at the bottom and so
|
||||
# can be replaced by "__end" and made into the __end border symbol.
|
||||
# Finally, every line ending with "@" symbol will be transformed
|
||||
# into " *(SORT(${line}*)); " format, which in the linker parlance
|
||||
# will allow it to trap all symbols relevant to the subsection.
|
||||
#
|
||||
define make_u_boot_list
|
||||
$(1): $(2)
|
||||
$(OBJDUMP) -h $(2) | \
|
||||
sed -n -e '/.*\.u_boot_list[^ ]\+/ ! {d;n}' \
|
||||
-e 's/.*\(\.u_boot_list[^ ]\+\).*$$$$/\1/' \
|
||||
-e 's/\.[^\.]\+$$$$//' \
|
||||
-e ':s /^.\+$$$$/ { p;s/^\(.*\)\.[^\.]*$$$$/\1/;b s }' | \
|
||||
sed -n -e 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \
|
||||
LC_COLLATE=C sort -u | \
|
||||
sed -n -e '/\a$$$$/ { s/\./_/g;s/\a$$$$/__start = .;/p; }'\
|
||||
-e '/~$$$$/ { s/\./_/g;s/~$$$$/__end = .;/p; }'\
|
||||
-e '/@$$$$/ { s/\(.*\)@$$$$/*(SORT(\1.*));/p }' > $(1)
|
||||
endef
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -6,6 +6,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \
|
||||
$(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL
|
||||
@ -36,8 +37,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $@
|
||||
|
||||
$(nandobj)u-boot.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
#########################################################################
|
||||
|
||||
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) $(LDFLAGS) \
|
||||
$(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -27,6 +27,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -61,8 +62,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -32,6 +32,7 @@ include $(TOPDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot-nand_spl.lds -Ttext $(CONFIG_SYS_TEXT_BASE_SPL) \
|
||||
$(LDFLAGS) $(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_NAND_SPL
|
||||
@ -62,8 +63,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot-nand_spl.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $(nandobj)u-boot-spl
|
||||
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
# create symbolic links for common files
|
||||
|
||||
|
@ -27,6 +27,7 @@ include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk
|
||||
nandobj := $(OBJTREE)/nand_spl/
|
||||
|
||||
LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds
|
||||
LSTSCRIPT= $(nandobj)/board/$(BOARDDIR)/u-boot.lst
|
||||
LDFLAGS := -T $(nandobj)u-boot.lds -Ttext $(CONFIG_SYS_TEXT_BASE) $(LDFLAGS) \
|
||||
$(LDFLAGS_FINAL)
|
||||
AFLAGS += -DCONFIG_SPL_BUILD -DCONFIG_NAND_SPL
|
||||
@ -57,8 +58,12 @@ $(nandobj)u-boot-spl: $(OBJS) $(nandobj)u-boot.lds
|
||||
-Map $(nandobj)u-boot-spl.map \
|
||||
-o $@
|
||||
|
||||
$(nandobj)u-boot.lds: $(LDSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
|
||||
# The following line expands into whole rule which generates $(LSTSCRIPT),
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(OBJS)))
|
||||
$(nandobj)u-boot.lds: $(LDSCRIPT) $(LSTSCRIPT)
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj) -ansi -D__ASSEMBLY__ -P - <$< >$@
|
||||
|
||||
#########################################################################
|
||||
|
||||
|
1
spl/.gitignore
vendored
1
spl/.gitignore
vendored
@ -2,3 +2,4 @@ u-boot-spl
|
||||
u-boot-spl.bin
|
||||
u-boot-spl.lds
|
||||
u-boot-spl.map
|
||||
u-boot.lst
|
||||
|
@ -154,8 +154,12 @@ $(START): depend
|
||||
$(LIBS): depend
|
||||
$(MAKE) -C $(SRCTREE)$(dir $(subst $(SPLTREE),,$@))
|
||||
|
||||
$(obj)u-boot-spl.lds: $(LDSCRIPT) depend
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - < $< > $@
|
||||
# The following line expands into whole rule which generates u-boot.lst,
|
||||
# the file containing u-boots LG-array linker section. This is included into
|
||||
# $(LDSCRIPT). The function make_u_boot_list is defined in helper.mk file.
|
||||
$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBS)))
|
||||
$(obj)u-boot-spl.lds: $(LDSCRIPT) $(obj)u-boot.lst depend
|
||||
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -I$(obj). -ansi -D__ASSEMBLY__ -P - < $< > $@
|
||||
|
||||
depend: $(obj).depend
|
||||
.PHONY: depend
|
||||
|
Loading…
Reference in New Issue
Block a user