0
搞得我有這個很基本的Makefile:添加自定義擴展到可執行文件生成文件
CC=gcc
CFLAGS=-Wall -g -O -pedantic -Wformat=2 -Wextra -lm
而實際上它編譯foo.c
到foo.
我如何添加自定義擴展,比如我希望它編譯foo.c
在foo.run
。
非常感謝。
搞得我有這個很基本的Makefile:添加自定義擴展到可執行文件生成文件
CC=gcc
CFLAGS=-Wall -g -O -pedantic -Wformat=2 -Wextra -lm
而實際上它編譯foo.c
到foo.
我如何添加自定義擴展,比如我希望它編譯foo.c
在foo.run
。
非常感謝。
添加到您的makefile
:
foo.run : foo.c
$(CC) $(CFLAGS) -o [email protected] $<
確保第二行以製表符,而不是空格開始。然後查看您的make版本的手冊頁或其他文檔。
這樣,只有foo.c是在foo.run中構建的,而我想要在* .run(其中*是源文件的名稱)中構建每個c源文件。 – Zagorax
'%.run:%.c'而不是顯式'foo.run:foo.c'會是更好的選擇... –
@EldarAbusalimov - 這絕對是OP的正確方法,因爲OP有多個目標來構建 - 原來的問題沒有說清楚。如果只有一個目標是以這種方式建立的,我更願意按照我的方式明確說明它,以避免未來出現意外。 – twalberg