make學習筆記

2021-09-22 22:56:18 字數 968 閱讀 4568

編寫makefile

makefile檔案命令開始不是空格,是tab鍵

make命令會自動查詢當前目錄下名為的makefile的檔案,找到之後會解析makefile檔案,並執行檔案的內容。

makefile檔案中的內容:

執行make命令:

makefile預設只執行第乙個標號,其他標號不執行,若要執行其他標號:make 標號名

變數名含義$@

規則的目標對應的檔名 (.o)

$<

規則中的第乙個相關檔名 (.c)

多個.c檔案的makefile:

執行結果為:

用makefile,只有專案中修改過的.c檔案才編譯,沒有修改過的.c檔案不會被重新編譯,從而提高編譯效率,make程式是根據.c和.o檔案(不關心.h)最後修改的時間來判斷.c檔案是否重新編譯,所以不建議每次把所有的.o檔案刪除,這樣會導致make重新編譯專案中的所有原始檔。

**

hello.c

#include #include "test.h"

int main()

test.c

#include void test(int i)

make學習筆記(一)

1 由於實際開發中,乙個程式往往是由多個原始檔組成的,所以單用gcc除錯往往是很麻煩的,加上若在除錯過程中只修改了部分原始檔,用gcc命令編譯的話會將連同沒被修改的原始檔一起編譯,這大大地降低了編譯效率,由此引入了make工程管理器。2 make是乙個半自動化的工程管理器,它需要依賴makefile...

make 學習筆記四

make之vpath 變數 vpath 的定義中,使用空格或者冒號 將多個目錄分開。make 搜尋的目錄順序 按照變數 vpath 定義中順序進行 當前目錄永遠是第一搜尋目錄 例如 vpath src headers 它指定了兩個搜尋目錄,src 和 headers 對於規則 foo foo.c 如...

Makefile學習筆記06 make的執行

make的退出碼 0 表示成功執行。1 如果make執行時出現任何錯誤,其返回1。2 如果你使用了make的 q 選項,並且make使得一些目標不需要更新,那麼返回2。指定makefile gnu make找尋預設的makefile的規則是在當前目錄下依次找三個檔案 gnumakefile make...