假如,有很多文件,每個文件都要變成一個單獨的目標文件,如果使用makefile的話,最好能用一個 for 循環(huán)來做。
makefile是支持使用 for的。
先假定有下面幾個文件:




Makefile可寫成如下的形式:


其中
TARGETS = $(SRCS:%.cpp=%)
相當于
TARGETS = $(patsubst %.cpp,%,$(SRCS))
需要說明的幾點:
1. 因為 for屬于 shell 命令,所以這里的target變量需要再加上一個$ , 確保shell接收到的是 $target (makefile會先把 $$target 處理為 $target, 傳給shell)。
2. 因為,makefile的 target對應的 命令,每一行都是在一個單獨的subshell里執(zhí)行,所以,如果想要 shell 變量始終是可見的話,需要加一個反斜線,表示這些命令是在一個 subshell里執(zhí)行。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux
+關注
關注
88文章
11758瀏覽量
219009 -
for
+關注
關注
0文章
44瀏覽量
16280 -
Makefile
+關注
關注
1文章
125瀏覽量
20337
發(fā)布評論請先 登錄
相關推薦
熱點推薦
如何共享文件給虛擬機中的Linux系統(tǒng)
軟件開發(fā)時,很多時候會用到 Linux 虛擬機,而辦公環(huán)境,又離不開 Windows ,導致有些文件需要在兩個環(huán)境之間來回切換,為了方便文件傳輸,可以為
發(fā)表于 08-22 15:40
?4974次閱讀
如何寫Makefile編譯匯編和C文件
經(jīng)常在一個項目中包含多個.c源文件,而且一個.c源文件包含了一堆的頭文件,這種情況下如何編寫makefile,使得能成功
發(fā)表于 11-24 09:03
?1.6w次閱讀
【嵌入式Linux編譯調(diào)試---1---】VisualStdio+VisualGDB
【嵌入式Linux編譯調(diào)試】VisualStdio+VisualGDB 在嵌入式Linux開發(fā)中,常見的方式是通過sourceinsight編輯程序,然后拷貝到Linux
發(fā)表于 11-01 17:38
?8次下載
VMware虛擬機和主機傳輸文件
open-vm-tools-desktop 重啟系統(tǒng): reboot 此時可以使用 Ctrl+C 、 Ctrl+V 的方式在主機和Linux虛擬機之間傳輸文件。 虛擬機為Window
linux虛擬機系統(tǒng)基本指令
Linux虛擬機系統(tǒng)是一種通過虛擬化技術在物理服務器上部署多個獨立的虛擬機實例的操作系統(tǒng)。它可以幫助用戶更有效地利用硬件資源,并方便地部署和
linux虛擬機使用教程
。我們會從以下幾個方面展開講述:1. 安裝虛擬化軟件;2. 創(chuàng)建虛擬機;3. 安裝Linux操作系統(tǒng);4. 配置網(wǎng)絡與共享文件夾;5. 基本操作與常用命令。希望通過本文,你能夠輕松上手
虛擬機linux怎么編寫程序
虛擬機Linux上編寫程序,包括設置虛擬機、選擇編程工具、創(chuàng)建和編輯代碼、編譯和運行程序等等。讓我們開始吧! 第一部分:設置虛擬機 在開始編
vm虛擬機linux系統(tǒng)怎么編程
在虛擬機中編程Linux系統(tǒng)是學習和探索計算機科學的一個重要方面。使用虛擬機可以在主機上模擬出一個或多個獨立的計算環(huán)境,我們可以在其中安裝和運行不同的操作系統(tǒng)。通過創(chuàng)建
怎么安裝linux虛擬機
在計算機領域,虛擬機是一種軟件程序,它允許在主操作系統(tǒng)上運行多個虛擬操作系統(tǒng)。Linux虛擬機在開發(fā)、測試和學習等環(huán)境中得到廣泛應用。本文將
Linux內(nèi)核編譯失敗?移動硬盤和虛擬機的那些事兒
Linux開發(fā)中,編譯內(nèi)核是一項常見任務,但不少開發(fā)者在移動硬盤或虛擬機環(huán)境下嘗試時會遭遇失敗。本文將簡要探討這些問題的成因,并介紹一些虛擬機使用技巧,幫助大家更好地應對相關問題。在移
虛擬機:Linux的Makefile使用for編譯多個目標文件
評論