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..."
: