2012-10-06 37 views
0

例如,我有10個源文件,分別命名爲ex1.c,​​,ex3.c .... ex10.c,也許未來會更多。如何在GNU make中使用命令行參數?

我可以在GNU Make中使用命令行參數作爲變量,因此當我想編譯ex1.c時,我可以輸入make 1。如果我想編譯ex10.c,我可以輸入make 10。我不需要在makefile中添加更多行,當我在後面添加更多來源時,如ex100.c

+0

創建一個樣本殼/命令行腳本 –

+1

你應該能夠做到'使ex1'和'make ex10'和'使ex100'只有兩個字母打字;這是正統的,並且不需要'makefile'中的特殊規則。顯然,如果你使用一個更長的名字('make example-10'),輸入的內容會多一點,但是它是否真的值得商榷。 –

+0

@JonathanLeffler是的,你是對的 –

回答

1

這並不意味着我是一個好主意,但是,是的,你可以做到這一點。

要構建目標文件(例如:ex3.o):

%: ex%.c 
    $(CC) -c $< -o ex$*.o 

要建立可執行文件(例如ex3):

%: ex%.c 
    $(CC) $< -o ex$* 
相關問題