From 4802db3dad05ff8926d4fb462fc9282c07544487 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sun, 17 Jul 2016 12:34:26 +0200 Subject: [PATCH] core: introduce a generated kconfig snippet Add the infrastructure for adding generated kconfig snippet in the menuconfig. For now, the kconfig snippet is generated empty, the recipe for filling it in will be introduced in sub-sequent patches. Signed-off-by: "Yann E. MORIN" Cc: Thomas Petazzoni Cc: Peter Korsgaard Cc: Arnout Vandecappelle Cc: Thomas De Schampheleire Cc: Samuel Martin Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- Config.in | 6 ++++++ Makefile | 10 +++++++++- docs/manual/manual.mk | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Config.in b/Config.in index 741a7ce8ad..5273cada79 100644 --- a/Config.in +++ b/Config.in @@ -18,6 +18,10 @@ config BR2_EXTERNAL string option env="BR2_EXTERNAL" +config BR2_BUILD_DIR + string + option env="BUILD_DIR" + # Hidden config symbols for packages to check system gcc version config BR2_HOST_GCC_VERSION string @@ -763,3 +767,5 @@ menu "User-provided options" source "$BR2_EXTERNAL/Config.in" endmenu + +source "$BR2_BUILD_DIR/.br2-external.in" diff --git a/Makefile b/Makefile index c9865a6402..c7ac59edf3 100644 --- a/Makefile +++ b/Makefile @@ -761,7 +761,7 @@ HOSTCFLAGS = $(CFLAGS_FOR_BUILD) export HOSTCFLAGS .PHONY: prepare-kconfig -prepare-kconfig: outputmakefile +prepare-kconfig: outputmakefile $(BUILD_DIR)/.br2-external.in $(BUILD_DIR)/buildroot-config/%onf: mkdir -p $(@D)/lxdialog @@ -780,6 +780,7 @@ COMMON_CONFIG_ENV = \ BR2_CONFIG=$(BR2_CONFIG) \ BR2_EXTERNAL=$(BR2_EXTERNAL) \ HOST_GCC_VERSION="$(HOSTCC_VERSION)" \ + BUILD_DIR=$(BUILD_DIR) \ SKIP_LEGACY= xconfig: $(BUILD_DIR)/buildroot-config/qconf prepare-kconfig @@ -880,6 +881,13 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif +# Even though the target is a real file, we mark it as PHONY as we +# want it to be re-generated each time make is invoked, in case the +# value of BR2_EXTERNAL is changed. +.PHONY: $(BUILD_DIR)/.br2-external.in +$(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) + @touch $@ + # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk index caf080a84d..b26f912341 100644 --- a/docs/manual/manual.mk +++ b/docs/manual/manual.mk @@ -7,6 +7,9 @@ MANUAL_SOURCES = $(sort $(wildcard docs/manual/*.txt) $(wildcard docs/images/*)) MANUAL_RESOURCES = $(TOPDIR)/docs/images +# Ensure the kconfig snippet is generated (for MANUAL_GEN_LISTS, below): +MANUAL_DEPENDENCIES += prepare-kconfig + # Our manual needs to generate lists define MANUAL_GEN_LISTS $(Q)$(call MESSAGE,"Updating the manual lists...") -- 2.30.2