2016-06-08 125 views
-1

我的路径:如何使用make在特定目录中创建目标?

./folder1/folder2/

我的生成文件位于文件夹1。

我的生成文件:在文件夹1生成

CC = g++ 
FLAGS = -o3 -std=c++11 

all: prng.o exec 

prng.o: ./folder2/prng.cpp 
    $(CC) $(FLAGS) -o [email protected] $< 

exec: prng.o 
    /$< 

prng.o。我希望它在folder2中生成。怎么做?

+0

这还不清楚。 'foo.cpp'是一个源文件,它不会“创建”任何东西。 –

+0

对不起,我编辑了它 –

+0

这仍然没有帮助 - 假设你的意思是一个实际的可执行文件(而不是一个目标文件),那么它就是可执行文件将输出写入正确位置的责任。 –

回答

0
CC = g++ 
FLAGS = -o3 -std=c++11 

all: folder1/prng.o exec 

folder1/prng.o: folder2/prng.cpp 
    $(CC) $(FLAGS) -o [email protected] $< 

exec: prng.o 
    /$< 

顺便说一句,你的C编译器应该有一个C11二元,像/usr/bin/c11。这将让你说,

CC = c11 
CFLAGS = -o3 

此外,通过使用CFLAGS(而不是标记),你不应该不得不提到它的配方。