是否有可能在Makefile的单次传递中使用gcc/g++/nvcc自动依赖-M而不将依赖保存到文件中?
Is it possible to use gcc/g++/nvcc automatic dependency -M in a single pass of a Makefile without saving dependencies to a file?
我试图想出一个使用gcc/g++/nvcc和Makefile自动依赖的解决方案。
我想我已经想出了一个解决方案,在任何编译目标之前在Makefile中调用gcc -M $(SRC FILES),假设Make现在已经更新了编译目标的规则。
我认为Makefile的一个例子如下:
PROG = main.out
SRC = $(wildcard *.cc)
OBJ = $(SRC:.cc=.o)
all: $(PROG) | deps
$(PROG): $(OBJ)
g++ -o $@ $^
$(OBJ): $(SRC)
g++ -c $<
.PHONY: deps
deps:
g++ -M $(SRC)
现在我想知道对
的调用 g++ -M $(SRC)
只是导致依赖项被打印到标准输出,实际上Makefile仍然不知道自动依赖项。
理想情况下,我正在寻找一个解决方案,将运行在一个Makefile的单遍,并使用gcc/g++/nvcc自动依赖标志,最好是一个不需要保存依赖到一大堆文件
您可以执行以下操作来获取.o
和.d
文件:
g++ -c main.cpp -o main.o -MP -MMD -MF main.d
所以在你的Makefile中定义你的依赖文件(例如DEPFILES
),并像上面的命令一样生成.d
,然后由-
包含DEPFILES
,这告诉GNU Make包含dep文件,如果它存在的话。
-include $(DEPFILES)
相关文章:
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 有可能使shared_ptr协变吗
- 有可能在信号处理程序中设置promise吗
- 是否有可能实现O(N)时间和O(1)空间解决方案,以实现C++中的字符串循环移位
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 是否有可能使用debug_info获取ELF文件的源代码?
- C++,是否有可能/如何定义在.h和.cpp源文件中调用函数的类构造函数
- 有可能在C++中有类的查找表吗
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 向量的大小是否有可能为 1 但其中的元素数量为零?
- 是否有可能编写新的叮当声现代化规则?
- 是否有可能通过指向另一个未关联的子对象的指针来获取指向一个子对象的指针?
- 是否有可能通过演绎指南实现整个 std::make_tuple 功能?
- 是否有可能在没有复制的情况下传递 std::vector<int> 作为参数来获得 std::vector<std::array<int, 3>>?
- 是否有可能具有放入容器的移动操作的类型?
- 是否有可能通过溢出 C 中的第一个元素来写入数组第二个元素
- 声明是否有可能逃脱其封闭的名称空间
- git-是否有互联网上某处所有可能错误的列表
- 是否有可能在Makefile的单次传递中使用gcc/g++/nvcc自动依赖-M而不将依赖保存到文件中?