1. 程式人生 > >Makefile中的變數值的替換(一)

Makefile中的變數值的替換(一)

1.使用指定字串替換變數中的字尾字元(串)    格式:$(var:a=b)或${var:a=b}    注意:替換表示式中不能有空格】
    例:
src := acc bcc ccc
obj := $(src:cc=o)
test:
    @echo "obj => $(obj)"
    make test輸出結果:
    ao bo co
2.變數的模式替換    使用%保留變數值中的指定字串,替換替他字元格式:$(var:a%b=x%y)或${var:a%b=x%y}    注意:替換表示式中不能有空格    例:
src := a123b.c a234b.c ajkhb.c
obj := $(src:a%b.c=x%y)
test:
    @echo "obj => $(obj)"
    分析:原串 a123b.c按照a%b.c進行模式匹配的時候a與b.c中間的123就會被%匹配到,後邊就會被保留下來,a和b.c就會被x和y取代。其他的類似。
    make test執行結果:    x123y x234y xjkhy
3.規則中的模式替換    targets:target-pattern:prereq-pattern
        command1command2
    意義:通過target-pattern從targets中匹配子目標,再通過prereq-pattern從子目標生成依賴,進而構成完整規則。
    例:
objs := func.o main.o
$(objs): %.o : %.c
    gcc -o [email protected] -c $^
    分析:    上述第二行,通過%.o匹配objs中的func.o,通過func.c生成依賴,再匹配main.o生成main.c依賴。    上述第二行會被make程式解析成
func.o: func.c
    gcc -o [email protected] -c $^
main.o: main.c
    gcc -o 
[email protected]
-c $^


相關推薦

關於makefile量的多次賦值以及override指令

順序 使用 += 令行 所有 命令 也不會 makefile err 1 基本原則如下 1.1 原則1 變量的普通賦值是有先後順序的,後面的賦值會覆蓋掉前面的賦值。 1.2 原則2 使用的時候,用的是其前面最後的賦值,就算其後面有使用了override指令的賦值也不會影響這

使用bash內建功能完成數值替換

使用bash內建功能完成變數值替換 某天,我需要編寫一個 shell script 指令碼來批量刪除檔名中的特殊字元。一般的思路是首先遍歷目錄,依次獲取到每一個待處理檔名,然後替換當前檔名變數值,最後再使用 mv 命令就可以了。 核心的命令列如下 (這裡以移除‘-’為例):

Makefile數值替換()

1.使用指定字串替換變數中的字尾字元(串)    格式:$(var:a=b)或${var:a=b}    注意:替換表示式中不能有空格】    例:src := acc bcc ccc obj := $(src:cc=o) test: @echo "obj =>

MTK編譯環境makefile檔案常用數值

問題 在開發中碰到一個需要編譯時拷貝檔案到out指定目錄中的問題。在不瞭解編譯系統中一些路徑對應的變數值非常不方便。所以花了一點時間查詢到了部分變數名以及對應的值。 方法 如果大家沒有找到對應的變

JavaSE7基礎 找到維數組指定數值(第一次出現)的索引值 do-while循環實現

學習資源 public 不可用 oid 索引 ati 精華 args 運行 版本參數:jdk-7u72-windows-i586註意事項:博文內容僅供參考,不可用於其他用途。 代碼 class Demo{ public static void main(Stri

CMenu類禁用/灰某

sof head 使用 窗口 contain codes mce align ide CMenu::EnableMenuItem 啟用、 禁用,或變暗的菜單項。 UINT EnableMenuItem( UINT nIDEnableItem, UINT nEna

Makefile常見的自動量和含義

makefile info 自動 vmm var p s xms userinfo href 劫V3W71v9QGW貝膳http://jz.docin.com/cjwjy04096 1姥樸5KAQ訪顯39http://shufang.docin.com/fjqbs11

Excel 2010 如何快速統計相同數值出現的個數

選中 section 如果 數值 album 刪除重復 elf 出現 fcc https://jingyan.baidu.com/article/9113f81b2c16822b3214c785.html 最近經常看到論壇和百度知道的朋友提問關於“excel中如

修改tensorflow checkpoint內容 TensorFlow 輸出checkpoint 的變數名與數值

https://blog.csdn.net/qq_33666011/article/details/80522564 看上了兩篇文章~想留著哈哈哈~轉載自 https://blog.csdn.net/qq_32799915/article/detai

spring使用@Value註解獲取properties配置檔案數值

在我們專案中往往會使用到properties配置檔案來定義一些跟系統環境有關的配置,因此今天我們學習使用spring中的@Value註解來快速方便地將我們配置檔案中的變數值賦值給java類的屬性值。 1.首先我們先在專案中建一個properties配置檔案,然後定義好我們需要的變數名和對應的

VS程式設計,使用替換的方式,將程式碼字串以某字元以標誌(常以逗號)進行換行,分行顯示。(相當於按回車鍵)

1、從一行,通過替換變成多行,相當於按回車  替換之前: 替換之後:   步驟:  1,選中要替換的程式碼 2、按ctrl + H 兩個鍵,調出替換視窗, 3、在替換視窗進行如下設定: 4、點選替換所有按鈕

PhoneWindowManager().interceptKeyBeforeQueueing()的interactive數值的來源

這個值的來源是powerManager設定的。對應於PowerManagerService.java的mWakeFulness的WAKEFULLNESS_AWAKE和WAKEFULLNESS_DREAMING. WAKEFULNESS_ASLEEP:表示系統當前處於休眠

Java基礎Int型別數值互換的幾種方法

    在很多時候,我們會使用到將兩個整型變數值進行互換,比如氣泡排序,通過判斷來將陣列變數的值逐步交換,那麼怎麼交換值才能最有效最節省空間呢?   首先,我們會想到的,用一個零時變數來做中間的過度儲存空間,這是很容易想到的方法,實現如下:       int i = 10;  //宣告變數 i,並給 i 賦

jsoup抓取js(script)數值

package com.hxqc.pricemonitor.trans; import java.util.HashMap; import java.util.Map; import org.jsoup.Jsoup; import org.jsoup.nodes.Docume

shell指令碼使用if和bc比較數值和指定值

【預備知識】 假如我有個日誌檔案,每天會往裡追加。日誌摘要如下—— 2018-06-12 09:08:56,105 - hdfs.client - INFO - Renaming ‘/apps/wps_prt_feature/business_info/20

Jenkins外掛groovy-postbuild使用()-獲取jenkins環境數值和獲取build結果

因為要在構建完成後,需要上傳下構建的結果,找了很久找到了這個外掛:groovy-postbuild 感覺groovy-postbuild外掛還是很強大的,畢竟寫groovy指令碼很方便 如何獲取構建

eclipse邊debug,邊動態修改數值

1. debug開始,到達斷點停下後,點左下角的增加視窗的按鈕 2. 輸入display,開啟display視窗 3. 在display視窗中輸入程式中使用的變數名,和你要對它的賦值操作 4. (比較關鍵)就是要圈選住這行程式碼,然後才能點選display視窗右上角的exe

如何在jsp頁面獲取js的數值

直接傳值啊, <script>      var   a= "123 ";      document.all( "text1 ").value=a; </script> <tr> <td> <input   type=

controller數值,直接在瀏覽器顯示,無需jsp頁面

目的:在web開發中,如果想不通過jsp頁面,將controller中的資料展示出來,可以直接在瀏覽器中展示。 1.首先在controller中寫下面的程式碼 /** * 查詢資料庫中所有的演算法

【程式碼筆記】iOS-在Block修改外部數值

一,程式碼。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loadin