如何强制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/