2012-02-03 99 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}