Message ID | 1424419459-3498-13-git-send-email-yamada.m@jp.panasonic.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Fri, Feb 20, 2015 at 05:04:12PM +0900, Masahiro Yamada wrote: > In U-Boot, SoC-specific headers are placed in > arch/$(ARCH)/include/asm/arch-$(SOC) and a symbolic link to that > directory is created at the early stage of the build process. > > Creating and removing a symbolic link during the build is not > preferred. In fact, Linux Kernel did away with include/asm-$(ARCH) > directories a long time time ago. > > As for ARM, now it is possible to collect SoC sources into > arch/arm/mach-$(SOC). It is also reasonable to move SoC headers > into arch/arm/mach-$(SOC)/include/mach. > > This commit prepares for that. > If the directory arch/$(ARCH)/mach-$(SOC)/include/mach exists, > a symbolic to that directory is created. Otherwise, a symbolic link > to arch/$(ARCH)/include/asm/arch-$(SOC) or arch-$(CPU) is created. > > Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Applied to u-boot/master, thanks!
diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index 8e9d71f..58e1642 100644 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -85,15 +85,26 @@ include/config.h: scripts/Makefile.autoconf create_symlink FORCE $(call filechk,config_h) # symbolic links +# If arch/$(ARCH)/mach-$(SOC)/include/mach exists, +# make a symbolic link to that directory. +# Otherwise, create a symbolic link to arch/$(ARCH)/include/asm/arch-$(SOC). PHONY += create_symlink create_symlink: ifneq ($(KBUILD_SRC),) $(Q)mkdir -p include/asm - $(Q)ln -fsn $(KBUILD_SRC)/arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)) \ - include/asm/arch + $(Q)if [ -d $(KBUILD_SRC)/arch/$(ARCH)/mach-$(SOC)/include/mach ]; then \ + dest=arch/$(ARCH)/mach-$(SOC)/include/mach; \ + else \ + dest=arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)); \ + fi; \ + ln -fsn $(KBUILD_SRC)/$$dest include/asm/arch else - $(Q)ln -fsn arch-$(if $(SOC),$(SOC),$(CPU)) \ - arch/$(ARCH)/include/asm/arch + $(Q)if [ -d arch/$(ARCH)/mach-$(SOC)/include/mach ]; then \ + dest=../../mach-$(SOC)/include/mach; \ + else \ + dest=arch-$(if $(SOC),$(SOC),$(CPU)); \ + fi; \ + ln -fsn $$dest arch/$(ARCH)/include/asm/arch endif PHONY += FORCE
In U-Boot, SoC-specific headers are placed in arch/$(ARCH)/include/asm/arch-$(SOC) and a symbolic link to that directory is created at the early stage of the build process. Creating and removing a symbolic link during the build is not preferred. In fact, Linux Kernel did away with include/asm-$(ARCH) directories a long time time ago. As for ARM, now it is possible to collect SoC sources into arch/arm/mach-$(SOC). It is also reasonable to move SoC headers into arch/arm/mach-$(SOC)/include/mach. This commit prepares for that. If the directory arch/$(ARCH)/mach-$(SOC)/include/mach exists, a symbolic to that directory is created. Otherwise, a symbolic link to arch/$(ARCH)/include/asm/arch-$(SOC) or arch-$(CPU) is created. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> --- Changes in v3: None scripts/Makefile.autoconf | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-)