我有一个Makefile文件,它会产生如此多的目标文件 - .o - 。我如何将这些重定向到一个目录,然后从这个目录创建一个可执行文件?如何将所有目标文件放到目录中
Makefile format :
x.o = x.hpp x.cpp
g++ -c x.cpp
我有一个Makefile文件,它会产生如此多的目标文件 - .o - 。我如何将这些重定向到一个目录,然后从这个目录创建一个可执行文件?如何将所有目标文件放到目录中
Makefile format :
x.o = x.hpp x.cpp
g++ -c x.cpp
嗯,这似乎是很容易:
app: bin/x.o
g++ bin/x.o -obin/x
bin/x.o: x.cpp
g++ -c x.cpp -obin/x.o
你需要创建bin目录,但你也可以很容易地将它添加到Makefile中。 希望这有助于。
检查G的-o
选项++,仅创建目标文件时,它也应该工作如:
g++ -c x.cpp -o objdir/x.o
这样的使用规则:
%.o: %.cpp $(HPP_FILES) Makefile
$(CC) $(CC_FLAGS) -c -o directory/[email protected] $<
然后使用类似链接的全部文件:
my_binary: $(OBJ_FILES)
$(CC) $(LD_FLAGS) -o [email protected] directory/$(OBJ_FILES)
您可以定义OBJ_FILES,HPP_FILES使用像简单的任务: HPP_FILES:= x.hpp y.hpp等