如何使用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文件吗?
答案 0 :(得分:1)
您可能需要考虑对具有单独的源和构建目录的大型项目使用Automake(https://www.gnu.org/software/automake/)。
没有automake,并且考虑到默认情况下编译器在CWD中生成输出文件,您只需在build目录中创建makefile即可。这是一个使用../作为源目录的示例:
all: foo
foo: ../x.cc
$(CXX) $< -o $@