Makefile 中的命令

2021-08-21 10:40:32 字數 856 閱讀 8574

上例子:

all:gao

@echo "final"

.default:

@echo "in default"

由於 gao 是乙個前提條件,但是 makefile中沒有乙個名字為 gao的目的。

所以符合 .default 目的的執行條件

。故執行結果為:

in default

final

完畢在一些大的工程中,我們會把我們不同模組或是不同功能的原始檔放在不同的目錄中,我們可以在每個目錄中都書寫乙個該目錄的makefile,這有利於讓我們的makefile變得更加地簡潔,而不至於把所有的東西全部寫在乙個makefile中,這樣會很難維護我們的makefile,這個技術對於我們模組編譯和分段編譯有著非常大的好處。

例如,我們有乙個子目錄叫subdir,這個目錄下有個makefile檔案,來指明了這個目錄下檔案的編譯規則。那麼我們總控的makefile可以這樣書寫:

subsystem:

cd subdir && $(make)

其等價於:

subsystem:

$(make) -c subdir

定義$(make)巨集變數的意思是,也許我們的make需要一些引數,所以定義成乙個變數比較利於維護。這兩個例子的意思都是先進入「subdir」目錄,然後執行make命令。

我們把這個makefile叫做「總控makefile」,總控makefile的變數可以傳遞到下級的makefile中(如果你顯示的宣告),但是不會覆蓋下層的makefile中所定義的變數,除非指定了「-e」引數。

轉到dir這個目錄下面make,如果執行結果為0(失敗)就執行exit 1,意思就是返回錯誤。

Makefile中的make命令使用 二

1.makefile中使用變數 可以看到 o 檔案的字串被重複了兩次,edit main.o kbd.o command.o display.o insert.o search.o files.o utils.o gcc o edit main.o kbd.o command.o display.o...

Makefile中命令前的 和 符號 作用

makefile中命令前的 和 符號 如果make執行的命令前面加了 字元,則不顯示命令本身而只顯示它的結果 android中會定義某個變數等於 例如 hide 通常make執行的命令如果出錯 該命令的退出狀態非0 就立刻終止,不再執行後續命令,但如果命令前面加了 號,即使這條命令出錯,make也會...

makefile顯示命令

每條命令的開頭必須以 tab 鍵開頭,除非命令是跟在依賴規則後的分號後面。在命令列之間中的空格或者空行會被忽略,但是如果該空格或空行是以 tab 鍵開頭的,那麼 make 會認為其是乙個空命令。如果我們在編譯過程中,可以顯示正在編譯哪一步,就會很方便我們對程式編譯的監控。我們可以使用makefile...