.PHONY的用法是忽略與目標相同名稱的檔案,看看下面的例子:
all:
gcc main.c -o all
make all會產生all文件,但是卻與編譯目標相同名稱,所以只能編譯第一次,再也無法編譯目標all,如下:
$ make
gcc main.c -o all
$ make
make: 'all' is up to date.
解法就是加上.PHONY關鍵字,如下:
.PHONY: all
all:
gcc main.c -o all
.PHONY: clean
clean:
touch clean