我有一个menuconfig配置的项目,我使用多个* _defconfig文件作为默认配置。这些defconfig文件按每个项目分组:
/
- projects
- projectA
- configs
- 32bit_defconfig
- 64bit_defconfig
- foo_defconfig
- projectB
- configs
- 32bit_defconfig
- 64bit_defconfig
- bar_defconfig
现在我想要一个makefile,我可以在这里获得这些defconfig的自动完成功能:
$ make projects/pr<TAB>
projects/projectA
projects/projectB
我想过写一个像这样的Makefile:
projects/%/configs/%_defconfig: FORCE
echo $@
目前唯一有效的是这条规则,我没有自动完成路径:
# e.g. 'make projects/88000-000/configs/32bit_defconfig'
%_defconfig: FORCE
$(MAKE) -f tools/make/menuconfig.mk $@
PS:自动完成适用于常规制作目标。
答案 0 :(得分:1)
您可以出于以下原因使用通配符:
DEFCONFIGS=$(wildcard projects/*/configs/*_defconfig)
test: FORCE
echo $(DEFCONFIG)
$(DEFCONFIGS): FORCE
$(MAKE) -f tools/make/menuconfig.mk $@
首先使用测试目标来检查您的通配符是否正常工作,然后您可以使用自动完成功能:
$ make <TAB> all default install_toolchain buildroot-menuconfig FORCE menuconfig clean install projects/ $ make projects/<TAB> 92107-110/ BananaPro/ $