是否有任何本机makefile(GNU make等)方式来获取目标先决条件的先决条件?这些问题是不是关于通过编译器从源文件进行依赖性检查(例如,g ++ -MM)。Makefile:获取目标先决条件的先决条件
在主题上找不到任何东西。正如我所看到的,这种情况没有特别的变数。
为了说明问题,下面是我从C++源代码编译配方的定义,对象,非常标准虽然:
##### UNIVERSAL COMPILE #####
%.o: %.cpp %.hpp
${CC} ${CFLAGS} -c $< -o [email protected]
然后我需要建立的依赖非常大的连锁店:
a: a.o
b: b.o a.o
c: c.o b.o a.o
d: d.o c.o b.o a.o
etc, up to N times...
这是必要的,因为这种链接配方:
##### UNIVERSAL LINK #####
%: %.o
${LN} ${LNFLAGS} $^ -o [email protected]
正如你ç一看,配方需要所有供应依赖的,但需要得到所有供应依赖的依赖关系。
没有与总体规划的连接没有问题,因为它是食谱:
##### PROGRAM LINK ######
${BIN}: ${OBJ}
${LN} ${LNFLAGS} ${OBJ} -o ${BINDIR}/[email protected]
但我需要做单元测试,和单位取决于一个每个人的依赖性和测试的层次结构子系统是非常累人写作硬编码的依赖链。
也许我这样做的方式不对?也许有这个链接配方的替代品?谢谢!
你是什么意思“...的目标先决条件”?我得到了“目标的先决条件”的意思,但不是“获取目标先决条件的先决条件”。 – Adrian