target.mk: init default configs if they are missing in the .config
authorMartin Schiller <ms@dev.tdt.de>
Thu, 18 Jul 2024 11:53:37 +0000 (13:53 +0200)
committerMartin Schiller <ms@dev.tdt.de>
Thu, 18 Jul 2024 12:15:49 +0000 (14:15 +0200)
The config options that are enabled by default and where other default
packages depends on should not only be set if there is no .config file,
but also if the .config exists but the config option (e.g.
CONFIG_SECCOMP) is missing in the file.

This is relevant, for example, if you are working with .config templates
and then want to complete the configuration using make defconfig.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
include/target.mk

index 48536b5dd9812b837dc031343dd33d7670ce390e..d13902ad6e78ec0f053d98b334f0c7d50ec8ac16 100644 (file)
@@ -82,13 +82,12 @@ ifneq ($(DUMP),)
   # default package configuration
   # Keep DYNAMIC_DEF_PKG_CONF in sync with toplevel.mk to reflect the same configs
   DYNAMIC_DEF_PKG_CONF := CONFIG_USE_APK CONFIG_SELINUX CONFIG_SMALL_FLASH CONFIG_SECCOMP
-  ifneq ($(wildcard $(TOPDIR)/.config),)
-    $(foreach config, $(DYNAMIC_DEF_PKG_CONF), \
-      $(eval $(config) := $(shell grep "$(config)=y" $(TOPDIR)/.config 2>/dev/null)) \
-    )
-  # Init config that are enabled by default. Dependency are checked matching the one in
-  # the config.
-  else
+  $(foreach config, $(DYNAMIC_DEF_PKG_CONF), \
+    $(eval $(config) := $(shell grep "$(config)=y" $(TOPDIR)/.config 2>/dev/null)) \
+  )
+  # The config options that are enabled by default and where other default
+  # packages depends on needs to be set if they are missing in the .config.
+  ifeq ($(shell grep "CONFIG_SECCOMP" $(TOPDIR)/.config 2>/dev/null),)
     ifeq ($(filter $(BOARD), uml),)
     ifneq ($(filter $(ARCH), aarch64 arm armeb mips mipsel mips64 mips64el i386 powerpc x86_64),)
       CONFIG_SECCOMP := y