程式語言 - GNU - Makefile .PHONY



.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