summaryrefslogtreecommitdiff
path: root/kconfig/kconfig.mk
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-06-27 13:58:53 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-06-27 13:58:53 (GMT)
commit62744e84e72e021ad266af1a005f02322ab5ab90 (patch)
tree83c5446f053dc4469d8f0e264614503cb87cc181 /kconfig/kconfig.mk
parent4bf71cb437ba64bd350b315298b2ba0a0c21d6c3 (diff)
Autogenerate the architecture selection choice menu.
Update architectures definition files accordingly. Update documentation accordingly. Use makefile syntax when listing arch/, tools/ and debug/ config files. /trunk/kconfig/kconfig.mk | 32 29 3 0 +++++++++++++++-- /trunk/docs/overview.txt | 75 67 8 0 +++++++++++++++++++++++++++++++++++---- /trunk/config/target.in | 94 16 78 0 ++++++++----------------------------------------- /trunk/arch/arm/config.in | 6 5 1 0 +++ /trunk/arch/powerpc/config.in | 2 2 0 0 + /trunk/arch/ia64/config.in | 4 4 0 0 ++ /trunk/arch/alpha/config.in | 2 1 1 0 /trunk/arch/x86/config.in | 3 3 0 0 ++ /trunk/arch/mips/config.in | 5 5 0 0 +++ /trunk/arch/sh/config.in | 4 3 1 0 ++ /trunk/arch/x86_64/config.in | 3 3 0 0 ++ 11 files changed, 138 insertions(+), 92 deletions(-)
Diffstat (limited to 'kconfig/kconfig.mk')
-rw-r--r--kconfig/kconfig.mk32
1 files changed, 29 insertions, 3 deletions
diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk
index fe234a5..3275663 100644
--- a/kconfig/kconfig.mk
+++ b/kconfig/kconfig.mk
@@ -19,11 +19,14 @@ CFLAGS += -DKBUILD_NO_NLS
endif
# Build a list of all config files
-DEBUG_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config/debug -type f -name '*.in')
-TOOLS_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config/tools -type f -name '*.in')
+ARCHS = $(patsubst $(CT_LIB_DIR)/arch/%,%,$(wildcard $(CT_LIB_DIR)/arch/*))
+ARCH_CONFIG_FILE = $(wildcard $(CT_LIB_DIR)/arch/*/*.in)
+DEBUG_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/debug/*.in)
+TOOLS_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/tools/*.in)
STATIC_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config -type f -name '*.in')
-GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/debug.in \
+GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/arch.in \
+ $(CT_TOP_DIR)/config.gen/debug.in \
$(CT_TOP_DIR)/config.gen/tools.in
CONFIG_FILES=$(STATIC_CONFIG_FILES) $(GEN_CONFIG_FILES)
@@ -33,6 +36,29 @@ $(GEN_CONFIG_FILES):: $(CT_TOP_DIR)/config.gen
$(CT_TOP_DIR)/config.gen:
@mkdir -p $(CT_TOP_DIR)/config.gen
+$(CT_TOP_DIR)/config.gen/arch.in:: $(ARCH_CONFIG_FILES)
+ @(echo "# Architectures menu"; \
+ echo "# Generated file, do not edit!!!"; \
+ echo ""; \
+ for arch in $(ARCHS); do \
+ echo "config ARCH_$${arch}"; \
+ echo " bool"; \
+ echo -n " prompt \"$${arch}"; \
+ if [ -f $(CT_LIB_DIR)/arch/$${arch}/experimental ]; then \
+ echo " (EXPERIMENTAL)\""; \
+ echo " depends on EXPERIMENTAL"; \
+ else \
+ echo "\""; \
+ fi; \
+ echo "if ARCH_$${arch}"; \
+ echo "config ARCH"; \
+ echo " default \"$${arch}\" if ARCH_$${arch}"; \
+ echo "source config/arch/$${arch}/config.in"; \
+ echo "endif"; \
+ echo ""; \
+ done; \
+ ) >$@
+
$(CT_TOP_DIR)/config.gen/debug.in:: $(DEBUG_CONFIG_FILES)
@echo "# Debug facilities menu" >$@
@echo "# Generated file, do not edit!!!" >>$@