我创建了一个autotools项目,在Makefile.am中我有:
bin_PROGRAMS = myBin
myBin_SOURCES = src/main.cpp
生成的makefile具有以下目标:
.cpp.o:
# $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
# $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
source='$<' object='$@' libtool=no \
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
$(CXXCOMPILE) -c -o $@ $<
如您所见,实际的编译器调用已被注释掉。为什么呢?
答案 0 :(得分:2)
根据configure
时间检测/请求的依赖关系跟踪,编译命令的不同部分将被注释掉。在战略位置将#
替换为Makefile
是automake如何实现条件。尝试在Makefile.in
中查找原始行并查看。