假如,有很多文件,每個(gè)文件都要變成一個(gè)單獨(dú)的目標(biāo)文件,如果使用makefile的話,最好能用一個(gè) for 循環(huán)來做。
makefile是支持使用 for的。
先假定有下面幾個(gè)文件:
Makefile可寫成如下的形式:
其中
TARGETS = $(SRCS:%.cpp=%)
相當(dāng)于
TARGETS = $(patsubst %.cpp,%,$(SRCS))
需要說明的幾點(diǎn):
1. 因?yàn)?for屬于 shell 命令,所以這里的target變量需要再加上一個(gè)$ , 確保shell接收到的是 $target (makefile會(huì)先把 $$target 處理為 $target, 傳給shell)。
2. 因?yàn)?,makefile的 target對(duì)應(yīng)的 命令,每一行都是在一個(gè)單獨(dú)的subshell里執(zhí)行,所以,如果想要 shell 變量始終是可見的話,需要加一個(gè)反斜線,表示這些命令是在一個(gè) subshell里執(zhí)行。
-
Linux
+關(guān)注
關(guān)注
87文章
11512瀏覽量
213910 -
for
+關(guān)注
關(guān)注
0文章
44瀏覽量
16088 -
Makefile
+關(guān)注
關(guān)注
1文章
125瀏覽量
19743
發(fā)布評(píng)論請(qǐng)先 登錄
如何共享文件給虛擬機(jī)中的Linux系統(tǒng)

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

【嵌入式Linux編譯調(diào)試---1---】VisualStdio+VisualGDB

VMware虛擬機(jī)和主機(jī)傳輸文件

linux虛擬機(jī)系統(tǒng)基本指令
linux虛擬機(jī)使用教程
虛擬機(jī)linux怎么編寫程序
vm虛擬機(jī)linux系統(tǒng)怎么編程
怎么安裝linux虛擬機(jī)
Linux內(nèi)核編譯失敗?移動(dòng)硬盤和虛擬機(jī)的那些事兒

評(píng)論