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

自动生成非标准C+的依赖项跟踪+;后缀 我如何强制AutoCAM生成非标准C++后缀文件的依赖跟踪? 我特别指的是生成.deps目录文件内容。 我也在使用libtool,c++,autotools,libtool,C++,Autotools,Libtool,谢谢添加隐式规则。例如,要使用foo编译器编译*.foo文件,请执行以下操作: .foo.o: foocc -c -o $@ $< .foo.o: foocc-c-o$@$< 看一看。看起来像是在说: bin_PROGRAMS = target AM_DEFAULT_SOURCE_EXT = .foo 会让你跨过第一步。因此,现在automake知道在哪里查找第一个依赖项(target.foo),它将要求GCC根据该文件中包含的头文件名计算target.foo的依赖项。GC

谢谢添加隐式规则。例如,要使用foo编译器编译
*.foo
文件,请执行以下操作:

.foo.o:
      foocc -c -o $@ $<
.foo.o:
foocc-c-o$@$<
看一看。看起来像是在说:

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo
会让你跨过第一步。因此,现在automake知道在哪里查找第一个依赖项(
target.foo
),它将要求GCC根据该文件中包含的头文件名计算
target.foo
的依赖项。GCC会输出推断出的对象名,转换包含的
stem.h->stem.o
。这就是我碰壁的地方。要使automake脚本完全可移植,您不能使用
%
模式。您必须使用后缀堆叠,正如wallyk在回答中所演示的那样

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

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

<>如果可移植性是严格的要求,恐怕你没有很多的黑客攻击,运气不好。C++的文件实际上是什么扩展?