Makefile一些規則

2022-09-06 08:54:09 字數 1161 閱讀 7633

一、makefile 的規則

在講述這個 makefile 之前,還是讓我們先來粗略地看一看makefile 的規則。

target ... : prerequisites ...

command

......

target也就是乙個目標檔案,可以是object file,也可以是執行檔案。還可以是乙個標

籤(label),對於標籤這種特性,在後續的「偽目標」章節中會有敘述。

prerequisites就是,要生成那個target 所需要的檔案或是目標。

command也就是make 需要執行的命令。(任意的shell 命令)

這是乙個檔案的依賴關係,也就是說,target 這乙個或多個的目標檔案依賴於prerequisites

中的檔案,其生成規則定義在command 中。說白一點就是說,prerequisites 中如果有乙個以

上的檔案比target 檔案要新的話,command 所定義的命令就會被執行。這就是makefile 的

規則。也就是makefile 中最核心的內容。

二、通過make命令即可執行makefile或makefile檔案。

三、在makefile中可以使用變數,其變數就是乙個字串,可以理解成c語言中的巨集

比如: object = main.o hello.o

於是,我們就可以很方便地在我們的 makefile 中以「$(objects)」的方式來使用這個變數了,

四、makefile中的命令以tab按鍵開頭

五、:= 這種方法,前面的變數不能使用後面的變數,只能使用前面已定義好了的變數。

六、還有乙個比較有用的操作符是「?=」,先看示例:

foo ?= bar

其含義是,如果 foo 沒有被定義過,那麼變數foo 的值就是「bar」,如果foo 先前被定

義過,那麼這條語將什麼也不做,其等價於:

ifeq ($(origin foo), undefined)

foo = bar

endif

七、我們可以使用「+=」操作符給變數追加值,如:

objects = main.o foo.o bar.o utils.o

objects += another.o

Makefile一些摘要

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

makefile的一些筆記

0.makefile檔案可以命名為 makefile makefile 0.1 makefile的格式 targets prerequisites command 1.makefile 的命令一定要用 tab 鍵 2.在命令和非命令行前加 代表如果這裡出錯忽略,比如 include foo.make...

eslint 的一些規則

parenthese 圓括號 curly brace 花括號 comma 逗號 semicolon 分號 函式體中沒有花括號引數就不要有圓括號 物件中值必須要用單引號 定義但是沒有被使用,一般是可以被刪除的。有一種情況就是屬性驗證。proptypes沒有被使用,但是需要自己寫屬性驗證,所以就會被用上...