2012-02-03 38 views
1

我想在makefile中指定一些命令行參數。我通常運行我的程序像
這樣:在makefile中運行的程序的命令行參數

gcc -o prog prog2.c prog.c 

./prog text1.txt text2.txt 

的Makefile:

prog: prog2.o prog.o 
    gcc -o prog prog2.o prog.o 


prog2.o: prog2.c prog2.h 
    gcc -c prog2.c 

clean : 
    rm prog2.o 

我怎麼在這裏包括txt文件?

另外我如何在單個make文件中執行。說,如果我也想運行

gcc -o prog prog3.c prog.c 

    ./prog text1.txt text2.txt 

回答

2

做一個run目標:

.PHONY: run 
run: prog 
    ./prog text1.txt text2.txt 

prog: prog2.o prog.o 
    gcc -o prog prog2.o prog.o 

# etc. 

那麼你可以說make run,或者只是make如果run是在Makefile的第一個目標。

+0

它的工作原理。我如何使用相同的生成文件運行兩個程序?說gcc -o prog prog2.c prog.c ./prog text1.txt text2.txt以及gcc -o prog prog3.c prog.c ./prog text1.txt text2.txt – hektor 2012-02-03 04:38:58

+0

將兩個程序都添加爲'運行'目標,並將兩個命令添加到'run'目標的配方中。 – 2012-02-03 04:39:57

+0

對不起,先生,但我無法理解,因爲我第一次寫一個make文件。你可以通過編輯我的帖子來顯示它嗎?抱歉,添麻煩了。 – hektor 2012-02-03 04:42:58

0
test: prog 
    ./prog text1.txt text2.txt 

或者:

TEST_FILES = text1.txt text2.txt 

test: prog 
    ./prog ${TEST_FILES}