[U-Boot] [PATCH 1/6] Allow arch directory to contain .lds without requiring Makefile

Marek Vasut marek.vasut at gmail.com
Sun Nov 20 05:07:08 CET 2011


> The Makefile for a CPU is in arch/($ARCH)/cpu/$(CPU). We want to support
> having an .lds file in arch/$(ARCH)/cpu without requiring an additional
> Makefile there. This change makes it clear that we expect a Makefile in
> the same directory as the link script except in this case.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>  Makefile |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 294c762..e7da1c0 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -174,6 +174,8 @@ include $(TOPDIR)/config.mk
>  # that (or fail if absent).  Otherwise, search for a linker script in a
>  # standard location.
> 
> +LDSCRIPT_MAKEFILE_DIR = $(dir $(LDSCRIPT))
> +
>  ifndef LDSCRIPT
>  	#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
>  	ifdef CONFIG_SYS_LDSCRIPT
> @@ -196,6 +198,11 @@ ifndef LDSCRIPT
>  		LDSCRIPT := $(TOPDIR)/$(CPUDIR)/u-boot.lds
>  	endif
>  	ifeq ($(wildcard $(LDSCRIPT)),)
> +		LDSCRIPT := $(TOPDIR)/arch/$(ARCH)/cpu/u-boot.lds
> +		# We don't expect a Makefile here
> +		LDSCRIPT_MAKEFILE_DIR =
> +	endif
> +	ifeq ($(wildcard $(LDSCRIPT)),)

Do I see the same ifeq... twice in here ? I understand what you do here, but 
it'd be good to add a comment please.


>  $(error could not find linker script)
>  	endif
>  endif
> @@ -498,7 +505,7 @@ depend dep:	$(TIMESTAMP_FILE) $(VERSION_FILE) \
>  		$(obj)include/autoconf.mk \
>  		$(obj)include/generated/generic-asm-offsets.h \
>  		$(obj)include/generated/asm-offsets.h
> -		for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \
> +		for dir in $(SUBDIRS) $(CPUDIR) $(LDSCRIPT_MAKEFILE_DIR) ; do \
>  			$(MAKE) -C $$dir _depend ; done
> 
>  TAG_SUBDIRS = $(SUBDIRS)


More information about the U-Boot mailing list