Make選項及makefile常用變數

2021-06-20 12:24:16 字數 1087 閱讀 4415

make命令可以帶幾種引數: 標誌, 巨集定義, 描述檔名和目標檔名, 標準形式為:

make [flags] [macro definitions] [targets]

在unix下, flags包含:

-f file   指定file檔案為描述檔案. 如果file引數為"-", 描述檔案指向標準輸入, 如果沒有"-f", 則系統預設當前目錄下makefile或makefile為描述檔案. (ps: 在linux下, gnu make按照gnumakefile, makefile, makefile查詢預設描述檔案)

-i   忽略命令執行返回的出錯資訊

-s  沉默模式, 在執行前不輸出相應的命令列資訊

-r  禁止build-in規則

-n 非執行模式, 輸出所有執行命令,但不執行

-t  更新目標檔案

-q  make將根據目標檔案是否更新返回0或非0

-p  輸出所有巨集定義和目標檔案描述

-d  debug模式,輸出有關檔案和檢測時間的詳細資訊

在linux下, 有些選項不同於unix, 如下:

-c dir  在讀取makefile之前改變到指定的目錄dir

-i dir   當包含其他makefile時,利用改選項指定搜尋目錄

-h   help文件,顯示所有的make選項

-w  在處理makefile之前和之後, 都顯示工作目錄

巨集定義將覆蓋makefile檔案種的巨集定義.

target指定要編譯的目標,並且允許同時定義多個編譯目標,執行時按照從左向右的順序依次編譯target中指定的目標檔案. 如果沒有指定target,則命令預設描述檔案(如makefile)中的第乙個目標.

makefile常用變數(gnu):

$@  目標檔名

$<   dependences中的第一項名稱

$^   所有dependences中的項名, 各項名以空格分開

$?    所有dependences中比目標新的項名, 各項名以空格分開

"@"符號禁止列印輸出所在命令列,也就是說所有以@開頭的命令列只執行,而不被列印輸出.

(一)make之make和makefile初識

1.1 make 和makefile 1.1.1 make make 是乙個應用程式 1.1.2 makefile makefile是乙個描述檔案 1.1.3 makefile本質 makefile實際就是乙個指令碼程式,類似於shell指令碼。由於 塊中沒有make的,所以用bash來代替make...

工程管理工具make及makefile

本文 先給乙個成功以後所生成的全部檔案 1.為什麼要管理工具make和makefile 和使用連線檔案testlink相似,bc也允許把原始檔的編譯及目標檔案的連線全部工作寫成一種叫makefile的檔案,並提供了可以執行這種檔案的工具make.exe實現了所謂的自動編譯和連線 2.make工具 總...

C語言make和Makefile介紹及使用

在軟體的工程中的原始檔是不計其數的,其按照型別,功能,模組分別放在若干個目錄中,哪些檔案需要編譯,那些檔案需要後編譯,那些檔案需要重新編譯,甚至進行 更複雜的功能操作,這就引入了我們的系統編譯的工具 在linux和unix中,有乙個強大的使用程式,叫make,可以用它來管理多模組程式的編譯和鏈結,直...