Blame view
scripts/Makefile.autoconf
4.5 KB
83d290c56 SPDX: Convert all... |
1 |
# SPDX-License-Identifier: GPL-2.0 |
51148790f kconfig: switch t... |
2 3 4 5 6 7 8 9 |
# This helper makefile is used for creating # - symbolic links (arch/$ARCH/include/asm/arch # - include/autoconf.mk, {spl,tpl}/include/autoconf.mk # - include/config.h # # When our migration to Kconfig is done # (= When we move all CONFIGs from header files to Kconfig) # this makefile can be deleted. |
e02ee2548 kconfig: switch t... |
10 11 12 13 14 15 16 17 18 19 20 |
__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 |
51148790f kconfig: switch t... |
21 22 23 24 25 26 27 28 29 30 31 32 |
include scripts/Kbuild.include # Need to define CC and CPP again here in case the top Makefile did not # include config.mk. Some architectures expect CROSS_COMPILE to be defined # in arch/$(ARCH)/config.mk CC = $(CROSS_COMPILE)gcc CPP = $(CC) -E include config.mk UBOOTINCLUDE := \ |
51148790f kconfig: switch t... |
33 34 35 36 37 38 39 40 41 42 43 44 45 |
-Iinclude \ $(if $(KBUILD_SRC), -I$(srctree)/include) \ -I$(srctree)/arch/$(ARCH)/include \ -include $(srctree)/include/linux/kconfig.h c_flags := $(KBUILD_CFLAGS) $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) \ $(UBOOTINCLUDE) $(NOSTDINC_FLAGS) quiet_cmd_autoconf_dep = GEN $@ cmd_autoconf_dep = $(CC) -x c -DDO_DEPS_ONLY -M -MP $(c_flags) \ -MQ include/config/auto.conf $(srctree)/include/common.h > $@ || { \ rm $@; false; \ } |
1406992f4 kbuild: make depe... |
46 |
include/autoconf.mk.dep: include/config.h FORCE |
51148790f kconfig: switch t... |
47 48 49 50 51 52 53 54 55 56 57 |
$(call cmd,autoconf_dep) # We are migrating from board headers to Kconfig little by little. # In the interim, we use both of # - include/config/auto.conf (generated by Kconfig) # - include/autoconf.mk (used in the U-Boot conventional configuration) # The following rule creates autoconf.mk # include/config/auto.conf is grepped in order to avoid duplication of the # same CONFIG macros quiet_cmd_autoconf = GEN $@ cmd_autoconf = \ |
e19b0fb48 kbuild: generate ... |
58 |
sed -n -f $(srctree)/tools/scripts/define2mk.sed $< | \ |
51148790f kconfig: switch t... |
59 |
while read line; do \ |
7740f653e moveconfig: Ignor... |
60 61 |
if [ -n "${KCONFIG_IGNORE_DUPLICATES}" ] || \ ! grep -q "$${line%=*}=" include/config/auto.conf; then \ |
51148790f kconfig: switch t... |
62 63 |
echo "$$line"; \ fi \ |
e19b0fb48 kbuild: generate ... |
64 65 66 67 68 69 70 71 72 |
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; \ |
51148790f kconfig: switch t... |
73 |
} |
e19b0fb48 kbuild: generate ... |
74 75 76 77 78 79 80 81 82 83 84 85 |
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 |
51148790f kconfig: switch t... |
86 |
$(call cmd,autoconf) |
e19b0fb48 kbuild: generate ... |
87 |
spl/include/autoconf.mk: spl/u-boot.cfg |
e02ee2548 kconfig: switch t... |
88 |
$(Q)mkdir -p $(dir $@) |
e19b0fb48 kbuild: generate ... |
89 |
$(call cmd,autoconf) |
e02ee2548 kconfig: switch t... |
90 |
|
e19b0fb48 kbuild: generate ... |
91 |
tpl/include/autoconf.mk: tpl/u-boot.cfg |
e02ee2548 kconfig: switch t... |
92 |
$(Q)mkdir -p $(dir $@) |
e19b0fb48 kbuild: generate ... |
93 |
$(call cmd,autoconf) |
e02ee2548 kconfig: switch t... |
94 |
|
51148790f kconfig: switch t... |
95 96 97 98 99 100 101 102 103 |
# include/config.h # Prior to Kconfig, it was generated by mkconfig. Now it is created here. define filechk_config_h (echo "/* Automatically generated - do not edit */"; \ for i in $$(echo $(CONFIG_SYS_EXTRA_OPTIONS) | sed 's/,/ /g'); do \ echo \#define CONFIG_$$i \ | sed '/=/ {s/=/ /;q; } ; { s/$$/ 1/; }'; \ done; \ echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\ |
51148790f kconfig: switch t... |
104 |
echo \#include \<config_defaults.h\>; \ |
e02ee2548 kconfig: switch t... |
105 |
echo \#include \<config_uncmd_spl.h\>; \ |
51148790f kconfig: switch t... |
106 107 |
echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>; \ echo \#include \<asm/config.h\>; \ |
4ac96345b kbuild: add inclu... |
108 |
echo \#include \<linux/kconfig.h\>; \ |
e02ee2548 kconfig: switch t... |
109 |
echo \#include \<config_fallbacks.h\>;) |
51148790f kconfig: switch t... |
110 111 112 113 114 115 |
endef include/config.h: scripts/Makefile.autoconf create_symlink FORCE $(call filechk,config_h) # symbolic links |
0e7368c6c kbuild: prepare f... |
116 117 118 |
# 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). |
51148790f kconfig: switch t... |
119 120 |
PHONY += create_symlink create_symlink: |
a350c6a60 kbuild: create sy... |
121 |
ifdef CONFIG_CREATE_ARCH_SYMLINK |
51148790f kconfig: switch t... |
122 123 |
ifneq ($(KBUILD_SRC),) $(Q)mkdir -p include/asm |
0e7368c6c kbuild: prepare f... |
124 125 126 127 128 129 |
$(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 |
ffe29ebc0 kbuild: sync top ... |
130 |
else |
0e7368c6c kbuild: prepare f... |
131 132 133 134 135 136 |
$(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 |
51148790f kconfig: switch t... |
137 |
endif |
a350c6a60 kbuild: create sy... |
138 |
endif |
51148790f kconfig: switch t... |
139 140 141 142 143 |
PHONY += FORCE FORCE: .PHONY: $(PHONY) |