使用不同的可执行文件创建Makefile

时间:2015-11-14 02:26:40

标签: c makefile

我有两个使用公共头文件的不同程序。两者都可以完美地完成。我想要做的是能够使用单个makefile进行编译,这样如果我想运行一个文件,我必须输入./progone.out而不是./a.out,而对于另一个c文件,我输入。 /progtwo.out。我没有用makefile做过很多工作,所以我想知道是否有办法做到这一点。我一直在检查一堆教程,似乎没有人解释如何做到这一点。

1 个答案:

答案 0 :(得分:1)

# this will have the make to compile both executables when invoked as "make" or "make all"
.PHONY all
all: progone.out progtwo.out

# these defines how each programs will be built
progone.out: progone.c commonheader.h
    gcc -o progone.out progone.c

progtwo.out: progtwo.c commonheader.h
    gcc -o progtwo.out progtwo.c

如果它们是相同的,你也可以概括规则来构建这样的每个程序:

%.out: %.c commonheader.h
    gcc -o $@ $<

$@将是目标的名称(此处为%.out),$<将是第一个依赖项的名称(此处为%.c)。

相关问题