爲了說明問題,假設我正在編譯一個程序(prg
),其中包含3個文件,main.c
,person.h
和person.c
。使用Makefile中的標誌進行編譯
如果我用寫makefile文件,這樣的(更具體的最後兩行)的一個簡潔的方式:
prg : main.o person.o
gcc -Wall -o prg -c $^
main.o : person.h
person.o : person.h
請問-Wall
應用於main.o
和person.o
自動?或者這甚至不重要?
我知道,如文件所述,如果person.o
需要重新編譯,prg
也需要重新編譯。但是,我不知道僅僅在主要目標中指定-Wall
是否足以使其他目標成爲可能,以便在編譯其他目標時發出警告。也許我錯過了一些非常重要的東西,或者我說了一些毫無意義的東西;但是很簡單,我只是一個初學者:P
運行makefile時,它爲您運行的命令將顯示在控制檯中。你可以很容易地看到它使用的是什麼標誌。 – 2011-05-03 14:31:07
這個問題標題看起來不對。問題是關於make,而不是gcc標誌。 – 2011-05-03 14:34:03
@David Thornley:我只是編輯它,我希望現在更清楚。對不起,有任何困惑。 – sidyll 2011-05-03 15:59:01