如何使用make在特定目录中创建目标?
问题描述:
我的路径:如何使用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中生成。怎么做?
答
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(而不是标记),你不应该不得不提到它的配方。
这还不清楚。 'foo.cpp'是一个源文件,它不会“创建”任何东西。 –
对不起,我编辑了它 –
这仍然没有帮助 - 假设你的意思是一个实际的可执行文件(而不是一个目标文件),那么它就是可执行文件将输出写入正确位置的责任。 –