假如,有很多文件,每个文件都要变成一个单独的目标文件,如果使用makefile的话,最好能用一个 for 循环来做。
makefile是支持使用 for的。
先假定有下面几个文件:
Makefile可写成如下的形式:
其中
TARGETS = $(SRCS:%.cpp=%)
相当于
TARGETS = $(patsubst %.cpp,%,$(SRCS))
需要说明的几点:
1. 因为 for属于 shell 命令,所以这里的target变量需要再加上一个$ , 确保shell接收到的是 $target (makefile会先把 $$target 处理为 $target, 传给shell)。
2. 因为,makefile的 target对应的 命令,每一行都是在一个单独的subshell里执行,所以,如果想要 shell 变量始终是可见的话,需要加一个反斜线,表示这些命令是在一个 subshell里执行。
-
Linux
+关注
关注
87文章
11292浏览量
209329 -
for
+关注
关注
0文章
44浏览量
15811 -
Makefile
+关注
关注
1文章
125浏览量
19181
发布评论请先 登录
相关推荐
评论