所有
我的主程序使用第三方库A. 主程序使用autoconf和 库A使用cmakefile来构建。 由于将一个框架转换为另一个框架对我来说很痛苦 我想保留两种不同的构建机制。
由于main
取决于libA
,因此我main
依赖于libA
和
libA
作为强制构建目标。
当我更改main
的源文件并在make
上执行main
时,
libA
得到cmake
并保持完整,因为libA
上的任何内容都没有更改,
然后只有main
才能构建。
当我在libA
中更改源文件并在make
上执行main
时,
libA
得到强制建设。但是计算了main
对libA
的依赖性
在构建新libA
之前,链接无法完成。
现在我每次都做两次以安全地获得主力。
如何改进此版本? 总结一下:
main
取决于libA
(A)make
的源文件后执行libA
时,我想首先构建libA
并构建main
(B)make
的源文件后执行main
时,我想仅使用原始libA(C)构建main
make
而没有做任何事情时,我想什么都不做。 (d)使用当前设置,我无法获得(B)。
任何帮助都将深受赞赏。
答案 0 :(得分:1)
好的旧shell脚本(或bat文件,如果你碰巧在Windows上)怎么样?为libA运行cmake,运行make for main,profit!
您可以使用make作为批处理引擎,例如
all:
Cmake libA
$(MAKE) -f main.mk main