div*_*ero 20 makefile wildcard rule
我正在编写一个Makefile,我想使用带有通配符的通用规则,比如
%: bkp/%
cp $< $@
Run Code Online (Sandbox Code Playgroud)
但我希望此规则仅对少数特定文件有效.例如,我想用列表定义变量
file_list = foo.c bar.c zzz.c
并配置规则,使其仅对此变量中列出的文件有效.我怎么做?
j_r*_*ker 28
你想要一个静态模式规则:
file_list = foo.c bar.c zzz.c
$(file_list): %: bkp/%
cp $< $@
Run Code Online (Sandbox Code Playgroud)
语法与您使用的隐式模式规则非常相似.是的,它通常更安全(更可预测).
当然,5分钟后我自己找到了答案...... :)
我们需要的是静态模式规则.
http://www.gnu.org/software/make/manual/make.html#Static-Pattern
所以这个例子可以解决
$(file_list) : % : bkp/%
cp $< $@
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7174 次 |
| 最近记录: |