Makefile 如何使用make将目标创建到特定目录中?
我的路径: /文件夹1/文件夹2/ 我的makefile位于folder1中 我的生成文件:Makefile 如何使用make将目标创建到特定目录中?,makefile,g++,Makefile,G++,我的路径: /文件夹1/文件夹2/ 我的makefile位于folder1中 我的生成文件: CC = g++ FLAGS = -o3 -std=c++11 all: prng.o exec prng.o: ./folder2/prng.cpp $(CC) $(FLAGS) -o $@ $< exec: prng.o /$< CC=g++ 标志=-o3-std=c++11 全体:首席执行官 注册号:./folder2/prng.cpp $(CC)$(标志)-o
CC = g++
FLAGS = -o3 -std=c++11
all: prng.o exec
prng.o: ./folder2/prng.cpp
$(CC) $(FLAGS) -o $@ $<
exec: prng.o
/$<
CC=g++
标志=-o3-std=c++11
全体:首席执行官
注册号:./folder2/prng.cpp
$(CC)$(标志)-o$@$<
执行官:prng.o
/$<
prng.o在folder1中生成。我希望它在folder2中生成。怎么做
CC = g++
FLAGS = -o3 -std=c++11
all: folder1/prng.o exec
folder1/prng.o: folder2/prng.cpp
$(CC) $(FLAGS) -o $@ $<
exec: prng.o
/$<
此外,通过使用CFLAGS(而不是标志),您不必在菜谱中提及它 这还不清楚
foo.cpp
是一个源文件,它不会“创建”任何东西。抱歉,我编辑了它,但仍然没有帮助-假设您指的是一个实际的可执行文件(而不是对象文件),那么该可执行文件负责将输出写入正确的位置。简单,只需将目标从prng.o
更改为folder2/prng.o
。这个问题在这个论坛上已经被问过很多次了,可能是重复的
CC = c11
CFLAGS = -o3