如何强制automake为非标准C ++后缀文件生成依赖项跟踪?
特别是我的意思是生成.deps目录文件内容。
我也在使用libtool。

谢谢

最佳答案

看看this section in the automake manual regarading default _SOURCES。好像在说:

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo


将带您走过第一步。因此,现在automake知道要在哪里查找第一个依赖项(target.foo),它将要求GCC根据该文件中包含的头文件名来计算target.foo的依赖项。 GCC吐出推断出的对象名称,转换包含的stem.h -> stem.o。这是我碰壁的地方。若要使您的自动制作脚本完全可移植,则不能使用%模式。您必须使用后缀堆栈,如wallyk在他的回答中所展示的。

根据您的可移植性要求,您可以忽略它并在Makefile.in中将隐式规则定义为:

%.o : %.foo
    $(CXX) -o $@ -c $(CPPFLAGS) $(CXXFLAGS) $<


如果可移植性是一个严格的要求,恐怕您在没有大量黑客手段的情况下运气不佳。

关于c++ - 针对非标准C++后缀的automake依赖项跟踪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1751352/

10-11 16:49