我有一个文件夹布局的项目,例如:
/project_root
/common-code-sources
/common1
/common2
/...
/prog-A-sources
/prog-B-sources
/prog-C-sources
需要为程序 A、B 和 C 生成三个可执行文件。每个可执行文件都有少量独特的源代码,但大多数都希望静态链接来自各种libCommonCodeN.a
文件的功能。
但是,我需要构建 Program C 和所有它需要的具有一组特定编译标志的通用代码库。(在这种情况下,32 位并且禁用了一些优化。)
这意味着common_sources
必须使用正确的标志再次编译程序 C 所需的特定代码。
我正在寻找有关如何最好地创建基于 Makefile 的构建系统来涵盖这种情况的想法。
我认为该解决方案将涉及 lib 文件的并行输出文件夹和所谓的“特定于目标”的make
变量来指导该过程,但我不确定如何将它们组合在一起。
问题:当其中一个源发生更改 时,我如何确保make
在项目的根目录下运行是正确的?common-code
那就是:我怎样才能重建有.a
问题的两种风格并重新链接3个可执行文件?