Makefile學習記錄4 變數和不同的賦值方式

2021-08-19 07:04:20 字數 1052 閱讀 6544

既然makefile是一種指令碼程式,那麼就要支援程式語言中通用的概念和操作。所以必然 也會支援定義變數和賦值的操作。但是不同於c語言中,先宣告變數型別、定義變數名字然後賦值。在makefile中不需要宣告變數的型別,makefile中變數只有一種型別,只代表文字資料(字串)

1、makefile中變數命名規則為:

變數的定義和使用:

例如在makefile中定義變數cc、target,其中使用$引用變數的值:

程式執行的結果為:

注:在makefile編寫過程中,重複的符號盡量使用變數來代替。要習慣於makefile中使用變數。

2、makefile中變數賦值方式:(不同的賦值方式意義不同)

注意事項:

在makefile中使用變數之前可以不用定義,引用結果為空值。

遞迴賦值時,與其相關的變數的都會隨之改變。(在寫makefile時,盡量避免遞迴賦值)

追加賦值時,會在原來值和新值之間新增乙個空格。若無原先值,則新值前加空格。

編寫makefile時,盡量使用簡單賦值。

程式舉例:(變數可以隨時用隨時定義)

執行結果為:

makefile學習記錄

一.環境變數makefiles和include的區別 1.環境變數makefiles所制定的makefile檔案中的 目標 不會被作為make執行的終極 目標 2.環境變數所定義的檔案列表是否存在不會導致make錯誤,也不退出 3.在執行make時,首先讀取的是環境變數makefiles所指定的檔案...

Makefile學習記錄(三)

1.在專案編譯中想將幾個靜態庫合併成乙個靜態庫 嘗試 ar crv a.a b.a c.a 然後使用 gcc o test la ld 報錯找不到b.a中包含的函式 需要先將靜態庫解壓後在合併 ar x a.a ar x b.a ar x c.a ar crv a.a o ar這個壓縮指令可以理解為...

Makefile學習筆記4

1 dir dir 名稱 取目錄函式 dir。功能 從檔名序列中取出目錄部分。目錄部分是指最後乙個反斜槓 之前的部分。如果沒有反斜槓,那麼返回 返回 返回檔名序列的目錄部分。示例 dir src foo.c hacks 返回值是 src 2 notdir notdir 名稱 取檔案函式 notdir...