希望这是关于创建模式规则的一个基本问题:我想在规则的先决条件中多次使用通配符,即在Makefile中
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命令,并得到以下输出:
[jshen@iLab10 gender-diffs]$ make data/AGP1.m
make: *** No rule to make target `data/AGP1.m'. Stop.
[jshen@iLab10 gender-diffs]$ make data/AGP2.m
Writing temporary matlab file for AG, part 2...
[jshen@iLab10 gender-diffs]$ ls data/AG/ISCAN/AG*
data/AG/ISCAN/AGP1.RAW data/AG/ISCAN/AGP2.RAW如何在第一个make规则中实现同一通配符的多个实例?
发布于 2010-04-29 09:17:35
这似乎起作用了:
.SECONDEXPANSION:
data/%P1.m: $(PROJHOME)/data/$$*/ISCAN/$$*P1.RAW
@echo "Writing temporary matlab file for $*, part 1..."https://stackoverflow.com/questions/2734116
复制相似问题