From: Eneas U de Queiroz Date: Sun, 19 Apr 2020 23:12:51 +0000 (-0300) Subject: build: add option to treat recursive deps as error X-Git-Tag: v21.02.0-rc1~2737 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=db6c1214e0fbf9b9268f2ea2c90e7d6da4f1a577;p=openwrt%2Fstaging%2Fhauke.git build: add option to treat recursive deps as error Running make with RECURSIVE_DEP_IS_ERROR=1 will cause a hard failure when a recursive dependency is detected. This is useful to apply stricter Ci tests, for example. Signed-off-by: Eneas U de Queiroz --- diff --git a/include/toplevel.mk b/include/toplevel.mk index ad8e5b8f20..5cf93ce7ef 100644 --- a/include/toplevel.mk +++ b/include/toplevel.mk @@ -99,6 +99,9 @@ prepare-tmpinfo: FORCE $(_SINGLE)$(NO_TRACE_MAKE) menuconfig $(PREP_MK); \ fi +ifeq ($(RECURSIVE_DEP_IS_ERROR),1) + KCONF_FLAGS=--fatalrecursive +endif ifneq ($(DISTRO_PKG_CONFIG),) scripts/config/%onf: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) endif @@ -111,7 +114,7 @@ $(eval $(call rdep,scripts/config,scripts/config/mconf)) config: scripts/config/conf prepare-tmpinfo FORCE [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< Config.in + $< $(KCONF_FLAGS) Config.in config-clean: FORCE $(_SINGLE)$(NO_TRACE_MAKE) -C scripts/config clean @@ -120,7 +123,7 @@ defconfig: scripts/config/conf prepare-tmpinfo FORCE touch .config @if [ ! -s .config -a -e $(HOME)/.openwrt/defconfig ]; then cp $(HOME)/.openwrt/defconfig .config; fi [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< --defconfig=.config Config.in + $< $(KCONF_FLAGS) --defconfig=.config Config.in confdefault-y=allyes confdefault-m=allmod @@ -129,7 +132,7 @@ confdefault:=$(confdefault-$(CONFDEFAULT)) oldconfig: scripts/config/conf prepare-tmpinfo FORCE [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ - $< --$(if $(confdefault),$(confdefault),old)config Config.in + $< $(KCONF_FLAGS) --$(if $(confdefault),$(confdefault),old)config Config.in menuconfig: scripts/config/mconf prepare-tmpinfo FORCE if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ @@ -210,7 +213,7 @@ ifeq ($(SDK),1) %:: @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq - @./scripts/config/conf --defconfig=.config Config.in + @./scripts/config/conf $(KCONF_FLAGS) --defconfig=.config Config.in @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ else @@ -219,7 +222,7 @@ else @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq @( \ cp .config tmp/.config; \ - ./scripts/config/conf --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ + ./scripts/config/conf $(KCONF_FLAGS) --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \ printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ fi \