Make
Makefile中的引用函式?
我正在修改 a
Makefile
以添加一個命令,該命令將用於更新和編譯依賴項。我已經有
make clean
命令工作了。現在我試圖讓它在我執行任何其他make
命令之前執行。我正在嘗試添加
all: clean
,但它似乎不起作用:.PHONY: all all: clean .PHONY: clean clean: rm -rf build update-dep: mkdir -p build/package_name \ && # do stuff here
執行任何其他功能時如何執行乾淨?
好吧,我想您知道依賴項是如何工作的,您只需將它們放在冒號之後。所以一個比較常見的習慣用法是有這樣的依賴
all
:all: main_program
唯一的特殊之處在於文件中的第一個目標是預設目標,因此
all
Makefile 開頭的顯式允許您設置預設目標。
main_program
依賴於等。main_program.o
如果您想將其添加clean
為依賴項,只需將其與其他項一起列出:all: clean main_program update_dep: clean do stuff...
all: clean
沒有其他依賴項的列表將make all
與 相同make clean
,因此您可能希望在其中添加一些其他依賴項。在每次執行之前清理所有內容仍然不是一個好主意,因為 Make 的整個想法是它找出需要更新的文件,並且只執行所需的工作。
clean
如果您希望它每次都執行,您需要明確地堅持作為所有其他目標的依賴項。