Make

Makefile中的引用函式?

  • December 8, 2017

我正在修改 aMakefile以添加一個命令,該命令將用於更新和編譯依賴項。

我已經有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

唯一的特殊之處在於文件中的第一個目標是預設目標,因此allMakefile 開頭的顯式允許您設置預設目標。

main_program依賴於等。main_program.o如果您想將其添加clean為依賴項,只需將其與其他項一起列出:

all: clean main_program

update_dep: clean
   do stuff...

all: clean沒有其他依賴項的列表將make all與 相同make clean,因此您可能希望在其中添加一些其他依賴項。

在每次執行之前清理所有內容仍然不是一個好主意,因為 Make 的整個想法是它找出需要更新的文件,並且只執行所需的工作。clean如果您希望它每次都執行,您需要明確地堅持作為所有其他目標的依賴項。

引用自:https://unix.stackexchange.com/questions/409758