]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - scripts/Makefile.autoconf
dm: pmic: max77686: Correct two typos in a comment
[karo-tx-uboot.git] / scripts / Makefile.autoconf
index ced2b9a6b0dc6b1dda10508a68010062de5e3a26..d668982cc1dd22b7965fa10d595183ea153a1df6 100644 (file)
@@ -7,9 +7,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 +30,6 @@ CPP           = $(CC) -E
 include config.mk
 
 UBOOTINCLUDE    := \
-               -I$(obj) \
                -Iinclude \
                $(if $(KBUILD_SRC), -I$(srctree)/include) \
                -I$(srctree)/arch/$(ARCH)/include \
@@ -48,10 +55,11 @@ 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 && {  \
+       $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \
                sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp |               \
                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 > $@;                                                              \
@@ -60,10 +68,19 @@ quiet_cmd_autoconf = GEN     $@
                rm $@.tmp; false;                                                       \
        }
 
-$(obj)/autoconf.mk: FORCE
+include/autoconf.mk: FORCE
        $(call cmd,autoconf)
 
-include/autoconf.mk include/autoconf.mk.dep: include/config.h
+spl/include/autoconf.mk: FORCE
+       $(Q)mkdir -p $(dir $@)
+       $(call cmd,autoconf,-DCONFIG_SPL_BUILD)
+
+tpl/include/autoconf.mk: FORCE
+       $(Q)mkdir -p $(dir $@)
+       $(call cmd,autoconf,-DCONFIG_SPL_BUILD -DCONFIG_TPL_BUILD)
+
+include/autoconf.mk include/autoconf.mk.dep \
+       spl/include/autoconf.mk tpl/include/autoconf.mk: include/config.h
 
 # include/config.h
 # Prior to Kconfig, it was generated by mkconfig. Now it is created here.
@@ -75,23 +92,39 @@ define filechk_config_h
        done;                                                           \
        echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\
        echo \#include \<config_defaults.h\>;                           \
+       echo \#include \<config_uncmd_spl.h\>;                          \
        echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>;         \
        echo \#include \<asm/config.h\>;                                \
-       echo \#include \<config_fallbacks.h\>;                          \
-       echo \#include \<config_uncmd_spl.h\>; )
+       echo \#include \<config_fallbacks.h\>;)
 endef
 
 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:
+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 \
+               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)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
 endif
-       $(Q)ln -fsn $(srctree)/arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)) \
-               $(if $(KBUILD_SRC),,arch/$(ARCH)/)include/asm/arch
 
 PHONY += FORCE
 FORCE: