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

问题描述:

如何使用生成中间文件和输出文件的独立目录以外的源代码生成c项目?使用make文件在c中的单独目录中生成输出文件

当前我生成文件的形式是

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

您是否尝试过简单更改相对路径? './build/ {name}' – 2014-10-22 04:14:54

+0

make:***目标'build/file1.o'没有规则,'test_makefile'需要。停止。 这是结果,当我改变路径./build/{name} – Shihab 2014-10-22 04:22:02

您可能需要考虑将Automake(https://www.gnu.org/software/automake/)用于具有独立源代码和编译目录的大尺寸项目。

如果没有automake,并且考虑到默认编译器在CWD中生成输出文件,您可以简单地在build目录中创建makefile。以下是一个使用../作为源目录的示例:

all: foo 
foo: ../x.cc 
    $(CXX) $< -o [email protected] 
+0

感谢重播 我是一个新手制作 你能帮我改变我的makefile吗? 我真的不明白../x.cc $(CXX)$ Shihab 2014-10-22 04:31:07

+0

我们是否需要x.cc或x.c? – Shihab 2014-10-22 04:32:17

+0

我正在尝试为小型项目创建makefile,有没有任何选项可以用一个简单的makefile来创建CWD以外的中间文件? – Shihab 2014-10-22 04:36:28