[英]How to create a Makefile that finds files across multiple directories and puts the object files into a different directory?
我是 Makefiles 的初学者,我想做的事情非常复杂,如果有人可以帮助我,那么请考虑向我解释一下事情是如何工作的,这样我就可以学习和理解。 当然,我进行了研究,但找不到有用的东西。 所以我们有以下项目:
src
| File1.cpp
| File2.cpp
| File3.cpp
src2
| File4.cpp
| File5.cpp
| File6.cpp
obj
Makefile
所以我想要一个 Makefile 能够让我选择尽可能多的目录来搜索源代码文件(本例为src1
和src2
,然后将生成的 object 文件放入一个目录(在本例中为obj
)。所以,是的,或者类似的东西,或者你可以做的任何事情......哈哈,明白了吗? make
aaaaaah 好吧,我会停下来......
您可以使用以下语法将变量传递给 makefile:
$ make SOMEVAR=SOMEVALUE
这可用于传递您要构建的文件夹:
$ make SRC=src1 # or src, src2, ...
makefile 可以是这样的(你只提到了 obj 文件,所以我只添加了那个):
SRC_FILES=$(wildcard $(SRC)/*.cpp)
OBJ_FILES=$(patsubst $(SRC)/%.cpp,obj/%.o, $(SRC_FILES))
all:$(OBJ_FILES)
@echo "done!"
obj/%.o:$(SRC)/%.cpp
@echo "building $@"
@$(CXX) -o $@ -c $< $(CFLAGS)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.