Hom*_*lli 10 c c++ automake makefile
我有一个项目,我想用automake构建.该项目由不同的组件或模块组成,并且存在模块间依赖关系,这需要以特定顺序构建项目.
例如:
project dir/
module1 (core C shared lib)
module2 (C++ shared lib wrapper around module 1)
module3 (C++ application with dependency on module2)
module4 (C library with dependency on module1)
module5 (C application with dependency on module4)
Run Code Online (Sandbox Code Playgroud)
我对automake来说相对较新,但我(几乎)知道如何使用它来成功构建一个项目.
我想有一个'主'项目文件(如果可能的话),它指定项目模块的构建顺序,运行单元测试,如果有的话,整个构建过程都失败:
我如何编写这样一个"主项目"文件(或调用任何其他机制)来构建具有大量模块间依赖关系的项目?
如果你正在使用autotools,那么你也可以使用automake.顶级Makefile.am可以提供按顺序下降的子目录列表,例如:
SUBDIRS = module1 module2 module3 module4 module5
Run Code Online (Sandbox Code Playgroud)
该子目录Makefile.am可以添加测试目标,使用'make check'调用,如果需要,将强制构建:
check_PROGRAMS = t_module1
t_module1_SOURCES = t_module1.c
t_module1_LDADD = ./libmodule1.la
Run Code Online (Sandbox Code Playgroud)
有很多东西需要学习,目前最好的练习很难确定,但如果你使用的是autotools,你就会习惯这种情况.
编辑:
info automake提供参考文档 - 但它是一个糟糕的教程.一个我遇到的最好的导游都可以找到这里.