make工程檔案編寫

2021-08-28 00:21:10 字數 1126 閱讀 2648

make工程管理器時乙個自動編譯管理器,命令格式如下:

make [選項] [make工程檔案]

常用選項:

-d 顯示除錯資訊

-f 檔案 指定make 檔案

-n 不執行makefile中的命令,只顯示輸出這些命令

-s 執行但不顯示任何資訊

乙個makefile檔案主要含有一系列make規則,每條規則包含以下內容:

目標檔案列表:依賴檔案列表

< tab >命令列表

makefile中的變數與shell中變數的定義和使用基本一致,make還可以使用環境變數、自動變數和預定義變數

makefile中常見預定義變數

命令格式

含義ar

庫檔案維護程式的名稱,預設值為ar

as匯程式設計序的名稱,預設值為as

ccc編譯器名稱,預設值為cc

cppc預編譯器名稱,預設值為$(cc)-e

cxxc++編譯器名稱,預設值為g++

fcfortran編譯器名稱,預設值為f77

rm檔案刪除程式名稱,預設值為rm -f

arflags

庫檔案維護程式的選項,無預設值

asflags

匯程式設計序的選項,無預設值

cflags

c編譯器選項,無預設值

cppflags

c預編譯器的選項,無預設值

cxxflags

c++編譯器的選項,無預設值

fflags

frtran編譯器選項,無預設值

makefile中常見自動變數

命令格式

含義$*

不包含副檔名的目標檔名稱

$+包含所有依賴檔案,以空格分開,以出現先後為順序,可能重複

$<

第乙個依賴檔案的名稱

$?所有時間戳比目標檔案晚的依賴檔案,以空格分開

$@目標檔案的完整名稱

$^所有不重複的依賴檔案,以空格分開

$%如果目標是歸檔成員,該變數表示目標歸檔成員名稱

makefile檔案主要包含五部分內容:顯示規則、隱式規則、變數定義、檔案指示和注釋

工程管理make

1 什麼是工程?很多檔案構成的軟體 10000個檔案如何編譯?工程管理器 作用?實現自動編譯 makefile 規定了如何自動編譯 指令碼檔案 實現批處理 指令碼程式 測試 運維 三要素 目標 依賴 命令 tab make fname 指定按照那個makefile編譯 phony 定義偽目標 避免和...

工程管理器make

工程管理器make 命令tree 樹狀顯示目錄下的檔案 make命令 通過批處理來實現自動編譯 要想使用make必須要有 makefile 檔案 makefile三元素 目標 依賴命令 執行此命令,依賴該檔案來實現該目標 僅編譯hello.c的 makefile 檔案示例 hello hello.o...

make工程管理器

今天首先編寫了一道程式,有n個人圍成一圈,順序排號,從第乙個人開始報數 從1報到 3 凡報到 3的人退出圈子,問最後留下的是原來第幾號的那位。通過這道程式設計,對 c語言有了更深刻的理解。隨後又學習了 make 工程管理器的一些知識。首先是建立功能目錄 mkdir p add src mv add....