On Sat, Jul 29, 2023 at 10:39:33PM +0800, Zhangjin Wu wrote:
diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile index f42adef87e12..9576f1a0a98d 100644 --- a/tools/testing/selftests/nolibc/Makefile +++ b/tools/testing/selftests/nolibc/Makefile @@ -39,6 +39,9 @@ DEFCONFIG_s390 = defconfig DEFCONFIG_loongarch = defconfig DEFCONFIG = $(DEFCONFIG_$(ARCH)) +# extra kernel config files under configs/, include common + architecture specific +EXTCONFIG = common.config $(ARCH).config
As this series seems to need a respin anyways:
extconfig means "extended config", correct? That is fairly nondescript.
It is more about 'extra' as commented (or 'additional'), for both defconfig (may) and tinyconfig (must) require more options to make boot and print work for nolibc-test. defconfig ------\ \ \ EXTCONFIG ----> a working .config for nolibc-test / / tinyconfig------/
I would prefer something like "NOLIBC_TEST_CONFIG"
Using NOLIBC_TEST_CONFIG is ok, but with this name, do we still only put the 'additional' options there? or we simply use EXTRA_CONFIG instead?
# extra kernel config files under configs/, include common + architecture specific EXTRA_CONFIG = common.config $(ARCH).config
Either are fine to me. The most important is to mention that these configs are appended to the config during the defconfig and tinyconfig targets.
Also I find it odd to use $(ARCH) here, I would have expected $(XARCH) since you probably want to distinguish ppc64 from ppc for example.
something like "make nolibctestconfig" to make an existing config ready for nolibc-test.
Do you mean rename 'defconfig' to 'nolibctestconfig'? or something nolibc-test-config:
nolibc-test-config:
$(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) mrproper $(DEFCONFIG) prepare $(Q)$(srctree)/scripts/kconfig/merge_config.sh -O "$(srctree)" -m "$(srctree)/.config" $(foreach c,$(EXTRA_CONFIG),$(wildcard $(CURDIR)/configs/$c)) $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) KCONFIG_ALLCONFIG="$(srctree)/.config" allnoconfig
It looks too long ;-)
I think that as long as we don't claim to call topdir's makefile targets from this directory, we can reuse some similarly named targets which are documented in "make help" and are non-ambiguous.
Currently, we use 'defconfig' by default and we use 'make defconfig DEFCONFIG=tinyconfig' to switch to tinyconfig, in the next weeks, when all of the nolibc supported architectures have tinyconfig support, it is able to switch 'tinyconfig' as the default config target.
As long as it doesn't require to locally maintain too many options, I think I'm fine with that. But we'll see.
Willy