1. 程式人生 > >Makefile 偽目標.PHONY

Makefile 偽目標.PHONY

在接觸Makefile的時候,我們經常會看到.PHONY標記,它就是偽目標,所謂偽目標,就是指沒有真正的檔案和它對應,只是一個標識而已。make程式看到.PHONY後面的目標後就會去執行對應的命令。例如有如下程式碼:

build:
    @echo "Building"

all:
    @echo "hello"

clean:
    @echo "clean"
$ make
$ Building
$ make clean
$ clean
$ touch clean
$ make clean
// 這個時候就是顯示說clean檔案是最新的
$ make: `clean' is up to date.

把Makefile改成如下,宣告clean為偽目標

.PHONY: clean
build:
    @echo "Building"

all:
    @echo "hello"

clean:
    @echo "clean"

再執行

$ make clean
// 輸出和原來一樣了
$ clean