假如,有很多文件,每個文件都要變成一個單獨的目標文件,如果使用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
發布評論請先 登錄
相關推薦
如何共享文件給虛擬機中的Linux系統

如何寫Makefile編譯匯編和C文件

【嵌入式Linux編譯調試---1---】VisualStdio+VisualGDB

VMware虛擬機和主機傳輸文件

評論