makefile的一些筆記

2021-08-01 13:28:58 字數 842 閱讀 2660

0.makefile檔案可以命名為   makefile  makefile

0.1 makefile的格式:

targets : prerequisites

command

1.makefile 的命令一定要用【tab】鍵

2.在命令和非命令行前加 「 - 」 ,代表如果這裡出錯忽略,比如 

-include foo.make   如果找不到也繼續進行下去

clean:

-rm $obj    這是在命令之前,如果沒找到obj檔案也繼續執行下去

但是盡量不要這麼做,報錯而又繼續進行,那是很不好的。

3.第二中的clean是一種偽命令,由於clean在的位置比較特別,是乙個檔案的位置,有可能會被當做檔案來對待,為了清楚,一般會像下面這樣做:

.phony: clean

clean:

rm *.o temp

4.由於makefile檔案的第乙個會被當做預設目標,那要如何才能一次性生成多個目標,

通過以上的偽目標,我們就可以實現,像如下的做法:

all : prog1 prog2 prog3

.phony : all

prog1 : prog1.o utils.o

cc -o prog1 prog1.o utils.o

prog2 : prog2.o

cc -o prog2 prog2.o

prog3 : prog3.o sort.o utils.o

cc -o prog3 prog3.o sort.o utils.o

這樣就可以生成三個最終的目標。其實可以看出目標可以成為依賴,偽目標也可以成為依賴

Makefile一些摘要

makefile裡主要包含了五個東西 顯式規則 隱晦規則 變數定義 檔案指示和注釋。顯式規則。顯式規則說明了,如何生成乙個或多的的目標檔案。這是由makefile的書寫者明顯指出,要生成的檔案,檔案的依賴檔案,生成的命令。隱晦規則。由於我們的make有自動推導的功能,所以隱晦的規則可以讓我們比較粗糙...

Makefile一些規則

一 makefile 的規則 在講述這個 makefile 之前,還是讓我們先來粗略地看一看makefile 的規則。target prerequisites command target也就是乙個目標檔案,可以是object file,也可以是執行檔案。還可以是乙個標 籤 label 對於標籤這種...

Makefile中常用的一些符號

1 環境變數 1.1 編譯器 cc c語言編譯器,預設值為gcc cxx c 語言編譯器,預設值為g 說明 這是預設的變數,無需使用者自定義 但是使用者可以修改其值,例如cc arm linux gcc,用於交叉編譯 1.2 編譯器引數 cflags c語言編譯器的編譯選項 ldflags c語言編...