使用make文件在c中的单独目录中生成输出文件

时间:2014-10-22 04:11:26

标签: c build makefile

如何使用makefile构建一个c项目,该文件在除源之外的单独目录中生成中间文件和输出文件?

我的makefile的当前形式是

CC = g++

LDLIBS = -lm

all: test_makefile

test_makefile: file1.o file2.o file3.o file4.o test_makefile.o
clean:
    rm test_makefile *.o

我想在/ build目录中生成这些中间文件。 任何人都可以帮我修改这个make文件吗?

1 个答案:

答案 0 :(得分:1)

您可能需要考虑对具有单独的源和构建目录的大型项目使用Automake(https://www.gnu.org/software/automake/)。

没有automake,并且考虑到默认情况下编译器在CWD中生成输出文件,您只需在build目录中创建makefile即可。这是一个使用../作为源目录的示例:

all: foo
foo: ../x.cc
    $(CXX) $< -o $@