0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

如意 ? 來(lái)源:CSDN ? 作者:CaspianSea ? 2020-06-22 17:40 ? 次閱讀

假如,有很多文件,每個(gè)文件都要變成一個(gè)單獨(dú)的目標(biāo)文件,如果使用makefile的話,最好能用一個(gè) for 循環(huán)來(lái)做。

makefile是支持使用 for的。

先假定有下面幾個(gè)文件:

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件


虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

Makefile可寫(xiě)成如下的形式:

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

虛擬機(jī):Linux的Makefile使用for編譯多個(gè)目標(biāo)文件

其中

TARGETS = $(SRCS:%.cpp=%)

相當(dāng)于

TARGETS = $(patsubst %.cpp,%,$(SRCS))

需要說(shuō)明的幾點(diǎn):

1. 因?yàn)?for屬于 shell 命令,所以這里的target變量需要再加上一個(gè)$ , 確保shell接收到的是 $target (makefile會(huì)先把 $$target 處理為 $target, 傳給shell)。

2. 因?yàn)椋琺akefile的 target對(duì)應(yīng)的 命令,每一行都是在一個(gè)單獨(dú)的subshell里執(zhí)行,所以,如果想要 shell 變量始終是可見(jiàn)的話,需要加一個(gè)反斜線,表示這些命令是在一個(gè) subshell里執(zhí)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208479
  • for
    for
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    15778
  • Makefile
    +關(guān)注

    關(guān)注

    1

    文章

    125

    瀏覽量

    19153
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Makefile】C文件包含的頭文件修改,但不重新編譯

    Linux + MakefileMakefile的高階用法:解決C文件包含的頭文件修改了,但C文件
    的頭像 發(fā)表于 09-08 08:53 ?5055次閱讀
    【<b class='flag-5'>Makefile</b>】C<b class='flag-5'>文件</b>包含的頭<b class='flag-5'>文件</b>修改,但不重新<b class='flag-5'>編譯</b>?

    如何共享文件虛擬機(jī)中的Linux系統(tǒng)

    軟件開(kāi)發(fā)時(shí),很多時(shí)候會(huì)用到 Linux 虛擬機(jī),而辦公環(huán)境,又離不開(kāi) Windows ,導(dǎo)致有些文件需要在兩個(gè)環(huán)境之間來(lái)回切換,為了方便文件傳輸,可以為
    發(fā)表于 08-22 15:40 ?3478次閱讀
    如何共享<b class='flag-5'>文件</b>給<b class='flag-5'>虛擬機(jī)</b>中的<b class='flag-5'>Linux</b>系統(tǒng)

    如何寫(xiě)Makefile編譯匯編和C文件

    經(jīng)常在一個(gè)項(xiàng)目中包含多個(gè).c源文件,而且一個(gè).c源文件包含了一堆的頭文件,這種情況下如何編寫(xiě)makefile,使得能成功
    發(fā)表于 11-24 09:03 ?1.4w次閱讀
    如何寫(xiě)<b class='flag-5'>Makefile</b><b class='flag-5'>編譯</b>匯編和C<b class='flag-5'>文件</b>

    linux虛擬機(jī)怎么聯(lián)網(wǎng)

    虛擬機(jī)安裝linux系統(tǒng)無(wú)法上網(wǎng)的解決方法。
    發(fā)表于 06-03 09:29 ?2333次閱讀

    虛擬機(jī)Linux如何測(cè)試 DBUS Daemon

    虛擬機(jī)Linux如何測(cè)試 DBUS Daemon
    的頭像 發(fā)表于 06-22 16:35 ?4240次閱讀
    <b class='flag-5'>虛擬機(jī)</b>:<b class='flag-5'>Linux</b>如何測(cè)試 DBUS Daemon

    虛擬機(jī)Linux改變打開(kāi)文件的個(gè)數(shù)

    虛擬機(jī)Linux改變打開(kāi)文件的個(gè)數(shù)
    的頭像 發(fā)表于 06-22 16:38 ?2206次閱讀
    <b class='flag-5'>虛擬機(jī)</b>:<b class='flag-5'>Linux</b>改變打開(kāi)<b class='flag-5'>文件</b>的個(gè)數(shù)

    虛擬機(jī)Linux查看tar包文件內(nèi)容的方法

    虛擬機(jī)Linux查看tar包文件內(nèi)容的方法
    的頭像 發(fā)表于 06-22 16:49 ?6621次閱讀

    虛擬機(jī)Linux設(shè)置core dump文件名的格式

    虛擬機(jī)Linux設(shè)置core dump文件名的格式
    的頭像 發(fā)表于 06-22 17:50 ?2864次閱讀
    <b class='flag-5'>虛擬機(jī)</b>:<b class='flag-5'>Linux</b>設(shè)置core dump<b class='flag-5'>文件</b>名的格式

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

    【嵌入式Linux編譯調(diào)試】VisualStdio+VisualGDB 在嵌入式Linux開(kāi)發(fā)中,常見(jiàn)的方式是通過(guò)sourceinsight編輯程序,然后拷貝到Linux
    發(fā)表于 11-01 17:38 ?8次下載
    【嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>編譯</b>調(diào)試---1---】VisualStdio+VisualGDB

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

    open-vm-tools-desktop 重啟系統(tǒng): reboot 此時(shí)可以使用 Ctrl+C 、 Ctrl+V 的方式在主機(jī)和Linux虛擬機(jī)之間傳輸文件。 虛擬機(jī)為Window
    的頭像 發(fā)表于 06-13 17:50 ?1611次閱讀
    VMware<b class='flag-5'>虛擬機(jī)</b>和主機(jī)傳輸<b class='flag-5'>文件</b>

    linux虛擬機(jī)系統(tǒng)基本指令

    Linux虛擬機(jī)系統(tǒng)是一種通過(guò)虛擬化技術(shù)在物理服務(wù)器上部署多個(gè)獨(dú)立的虛擬機(jī)實(shí)例的操作系統(tǒng)。它可以幫助用戶更有效地利用硬件資源,并方便地部署和
    的頭像 發(fā)表于 11-17 10:04 ?1378次閱讀

    linux虛擬機(jī)使用教程

    。我們會(huì)從以下幾個(gè)方面展開(kāi)講述:1. 安裝虛擬化軟件;2. 創(chuàng)建虛擬機(jī);3. 安裝Linux操作系統(tǒng);4. 配置網(wǎng)絡(luò)與共享文件夾;5. 基本操作與常用命令。希望通過(guò)本文,你能夠輕松上手
    的頭像 發(fā)表于 11-17 10:06 ?1171次閱讀

    虛擬機(jī)linux怎么編寫(xiě)程序

    虛擬機(jī)Linux上編寫(xiě)程序,包括設(shè)置虛擬機(jī)、選擇編程工具、創(chuàng)建和編輯代碼、編譯和運(yùn)行程序等等。讓我們開(kāi)始吧! 第一部分:設(shè)置虛擬機(jī) 在開(kāi)始編
    的頭像 發(fā)表于 11-17 10:08 ?1509次閱讀

    vm虛擬機(jī)linux系統(tǒng)怎么編程

    虛擬機(jī)中編程Linux系統(tǒng)是學(xué)習(xí)和探索計(jì)算機(jī)科學(xué)的一個(gè)重要方面。使用虛擬機(jī)可以在主機(jī)上模擬出一個(gè)或多個(gè)獨(dú)立的計(jì)算環(huán)境,我們可以在其中安裝和運(yùn)行不同的操作系統(tǒng)。通過(guò)創(chuàng)建
    的頭像 發(fā)表于 11-17 10:10 ?1672次閱讀

    怎么安裝linux虛擬機(jī)

    在計(jì)算機(jī)領(lǐng)域,虛擬機(jī)是一種軟件程序,它允許在主操作系統(tǒng)上運(yùn)行多個(gè)虛擬操作系統(tǒng)。Linux虛擬機(jī)在開(kāi)發(fā)、測(cè)試和學(xué)習(xí)等環(huán)境中得到廣泛應(yīng)用。本文將
    的頭像 發(fā)表于 11-23 10:50 ?996次閱讀