X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=scripts%2FMakefile.autoconf;h=00b8fb34aa761ef16105d974ece95130a02268d6;hb=2a8afb44ba4b0a427cd903f43322d8b67f4bd0ab;hp=58e1642fb93182ee543363fde0b0573595a9180c;hpb=ded4bc3a8ba6e96811f761b358b4c628ec927ade;p=u-boot diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index 58e1642fb9..00b8fb34aa 100644 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 # This helper makefile is used for creating # - symbolic links (arch/$ARCH/include/asm/arch # - include/autoconf.mk, {spl,tpl}/include/autoconf.mk @@ -7,9 +8,17 @@ # (= When we move all CONFIGs from header files to Kconfig) # this makefile can be deleted. -# obj is "include" or "spl/include" or "tpl/include" -# for non-SPL, SPL, TPL, respectively -include $(obj)/config/auto.conf +__all: include/autoconf.mk include/autoconf.mk.dep + +ifeq ($(shell grep -q '^CONFIG_SPL=y' include/config/auto.conf 2>/dev/null && echo y),y) +__all: spl/include/autoconf.mk +endif + +ifeq ($(shell grep -q '^CONFIG_TPL=y' include/config/auto.conf 2>/dev/null && echo y),y) +__all: tpl/include/autoconf.mk +endif + +include include/config/auto.conf include scripts/Kbuild.include @@ -22,7 +31,6 @@ CPP = $(CC) -E include config.mk UBOOTINCLUDE := \ - -I$(obj) \ -Iinclude \ $(if $(KBUILD_SRC), -I$(srctree)/include) \ -I$(srctree)/arch/$(ARCH)/include \ @@ -36,7 +44,7 @@ quiet_cmd_autoconf_dep = GEN $@ -MQ include/config/auto.conf $(srctree)/include/common.h > $@ || { \ rm $@; false; \ } -include/autoconf.mk.dep: FORCE +include/autoconf.mk.dep: include/config.h FORCE $(call cmd,autoconf_dep) # We are migrating from board headers to Kconfig little by little. @@ -48,22 +56,44 @@ include/autoconf.mk.dep: FORCE # same CONFIG macros quiet_cmd_autoconf = GEN $@ cmd_autoconf = \ - $(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \ - sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp | \ + sed -n -f $(srctree)/tools/scripts/define2mk.sed $< | \ while read line; do \ - if ! grep -q "$${line%=*}=" $(obj)/config/auto.conf; then \ + if [ -n "${KCONFIG_IGNORE_DUPLICATES}" ] || \ + ! grep -q "$${line%=*}=" include/config/auto.conf; then \ echo "$$line"; \ fi \ - done > $@; \ - rm $@.tmp; \ - } || { \ - rm $@.tmp; false; \ + done > $@ + +quiet_cmd_u_boot_cfg = CFG $@ + cmd_u_boot_cfg = \ + $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \ + grep 'define CONFIG_' $@.tmp > $@; \ + rm $@.tmp; \ + } || { \ + rm $@.tmp; false; \ } -$(obj)/autoconf.mk: FORCE +u-boot.cfg: include/config.h FORCE + $(call cmd,u_boot_cfg) + +spl/u-boot.cfg: include/config.h FORCE + $(Q)mkdir -p $(dir $@) + $(call cmd,u_boot_cfg,-DCONFIG_SPL_BUILD) + +tpl/u-boot.cfg: include/config.h FORCE + $(Q)mkdir -p $(dir $@) + $(call cmd,u_boot_cfg,-DCONFIG_SPL_BUILD -DCONFIG_TPL_BUILD) + +include/autoconf.mk: u-boot.cfg + $(call cmd,autoconf) + +spl/include/autoconf.mk: spl/u-boot.cfg + $(Q)mkdir -p $(dir $@) $(call cmd,autoconf) -include/autoconf.mk include/autoconf.mk.dep: include/config.h +tpl/include/autoconf.mk: tpl/u-boot.cfg + $(Q)mkdir -p $(dir $@) + $(call cmd,autoconf) # include/config.h # Prior to Kconfig, it was generated by mkconfig. Now it is created here. @@ -75,10 +105,11 @@ define filechk_config_h done; \ echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\ echo \#include \; \ + echo \#include \; \ echo \#include \; \ echo \#include \; \ - echo \#include \; \ - echo \#include \; ) + echo \#include \; \ + echo \#include \;) endef include/config.h: scripts/Makefile.autoconf create_symlink FORCE @@ -90,6 +121,7 @@ include/config.h: scripts/Makefile.autoconf create_symlink FORCE # Otherwise, create a symbolic link to arch/$(ARCH)/include/asm/arch-$(SOC). PHONY += create_symlink create_symlink: +ifdef CONFIG_CREATE_ARCH_SYMLINK ifneq ($(KBUILD_SRC),) $(Q)mkdir -p include/asm $(Q)if [ -d $(KBUILD_SRC)/arch/$(ARCH)/mach-$(SOC)/include/mach ]; then \ @@ -106,6 +138,7 @@ else fi; \ ln -fsn $$dest arch/$(ARCH)/include/asm/arch endif +endif PHONY += FORCE FORCE: