深入理解Autotools构建系统:xflaim项目实战
1. 项目构建前期准备与条件检查
在项目构建过程中,代码会调用AM_CONDITIONAL来检查Java、C#和Doxygen工具是否可用。若这些工具缺失,会生成警告信息,提示xflaim项目中对应的Java或C#部分将无法构建,但构建过程仍会继续。
2. 创建xflaim/src/Makefile.am文件
跳过与ftk/Makefile.am几乎相同的xflaim/Makefile.am文件,直接关注xflaim/src/Makefile.am。该文件遵循与ftk/src版本相同的设计原则编写,与ftk对应的文件非常相似,不过有一个重要区别:根据原始构建系统的makefile,Java本地接口(JNI)和C#本地语言绑定源文件会被编译并链接到xflaim共享库中。这样做的好处是无需为这些语言专门构建额外的库对象,xflaim共享库会为这些语言导出本地接口,供相应的本地包装器使用。
以下是xflaim/src/Makefile.am文件的部分内容:
if HAVE_JAVA JAVADIR = java JNI_LIBADD = java/libxfjni.la endif if HAVE_CSHARP CSDIR = cs CSI_LIBADD = cs/lib