2017-03-09 1 views
1

여기에 menuconfig 구성이있는 프로젝트가 있습니다.이 프로젝트에는 기본 구성으로 여러 * _defconfig 파일을 사용합니다.경로 (예 : defconfig)의 Makefile 자동 완성

$ make projects/pr<TAB> 
projects/projectA 
projects/projectB 

내가 같이 Makefile을 작성하는 생각 :

/ 
    - projects 
    - projectA 
     - configs 
     - 32bit_defconfig 
     - 64bit_defconfig 
     - foo_defconfig 
    - projectB 
     - configs 
     - 32bit_defconfig 
     - 64bit_defconfig 
     - bar_defconfig 

지금 내가이 defconfigs에 대한 자동 완성을 얻을 메이크를하고 싶은 :이 defconfig를 파일은 각 프로젝트에 대해 그룹화되어 있습니다

:

projects/%/configs/%_defconfig: FORCE 
    echo [email protected] 

현재 작동하고있는 유일한 것은 내가 경로에 대한 자동 완성이없는이 규칙을이다

# e.g. 'make projects/88000-000/configs/32bit_defconfig' 
%_defconfig: FORCE 
    $(MAKE) -f tools/make/menuconfig.mk [email protected] 

PS : 자동 완성 기능은 일반 make 대상에서 작동합니다.

답변

0

당신은 이런 이유로 와일드 카드를 사용할 수 있습니다 : 와일드 카드가 작동하는지 확인하기 위해

DEFCONFIGS=$(wildcard projects/*/configs/*_defconfig) 

test: FORCE 
    echo $(DEFCONFIG) 

$(DEFCONFIGS): FORCE 
    $(MAKE) -f tools/make/menuconfig.mk [email protected] 

먼저 사용 시험 대상에, 당신이 사용할 수있는 자동 완성 :

$ make <TAB> 
all      default     install_toolchain 
buildroot-menuconfig  FORCE     menuconfig 
clean     install     projects/ 
$ make projects/<TAB> 
92107-110/ BananaPro/ 
$