假如,有很多文件,每個文件都要變成一個單獨的目標文件,如果使用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文章
11345瀏覽量
210407 -
for
+關注
關注
0文章
44瀏覽量
15873 -
Makefile
+關注
關注
1文章
125瀏覽量
19220
發布評論請先 登錄
相關推薦
評論