首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >makefile模式规则:单通配符,先决条件中有多个实例

makefile模式规则:单通配符,先决条件中有多个实例
EN

Stack Overflow用户
提问于 2010-04-29 08:52:20
回答 1查看 2K关注 0票数 5

希望这是关于创建模式规则的一个基本问题:我想在规则的先决条件中多次使用通配符,即在Makefile中

代码语言:javascript
复制
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命令,并得到以下输出:

代码语言:javascript
复制
[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规则中实现同一通配符的多个实例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-29 09:17:35

这似乎起作用了:

代码语言:javascript
复制
.SECONDEXPANSION:    
data/%P1.m: $(PROJHOME)/data/$$*/ISCAN/$$*P1.RAW
            @echo "Writing temporary matlab file for $*, part 1..."
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2734116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档