2010-04-29 2 views
4

희망이 메이크업 패턴 규칙에 대한 기본적인 질문은 다중 인스턴스 : 나는이 규칙의 전제 조건에 한 번 이상 와일드 카드 이상을 사용하려면, 즉 내 메이크에서 내가 가진메이크 패턴 규칙 : 하나의 와일드 카드, 전제 조건

data/%P1.m: $(PROJHOME)/data/%/ISCAN/%P1.RAW 
     @echo " Writing temporary matlab file for $*" 
     # do something 

data/%P2.m: $(PROJHOME)/data/%/ISCAN/AGP2.RAW 
      @echo " Writing temporary matlab file for $*" 
      # do something 

이 예제에서는 와일드 카드 %가 AG 일 때 make를 호출하려고합니다. $ (PROJHOME) /data/AG/ISCAN/AGP1.RAW와 $ (PROJHOME) /data/AG/ISCAN/AGP2.RAW 파일 모두 존재합니다. 다음과 같은 make 명령을 시도하고이 출력을 얻습니다.

[[email protected] gender-diffs]$ make data/AGP1.m 
make: *** No rule to make target `data/AGP1.m'. Stop. 

[[email protected] gender-diffs]$ make data/AGP2.m 
Writing temporary matlab file for AG, part 2... 

[[email protected] gender-diffs]$ ls data/AG/ISCAN/AG* 
data/AG/ISCAN/AGP1.RAW data/AG/ISCAN/AGP2.RAW 

첫 번째 make 규칙에 동일한 와일드 카드의 인스턴스를 여러 개 구현하려면 어떻게해야합니까?

.SECONDEXPANSION:  
data/%P1.m: $(PROJHOME)/data/$$*/ISCAN/$$*P1.RAW 
      @echo "Writing temporary matlab file for $*, part 1..." 
:

답변