补充说明
automake 是 GNU Automake 的核心命令,读取声明式构建规则 Makefile.am,生成供 configure 替换变量后使用的 Makefile.in。它统一处理编译、安装、打包、依赖跟踪等细节,避免手写冗长的 Makefile。
首次在项目中使用需要 --add-missing 把 install-sh、missing、depcomp 等辅助脚本补齐;--foreign 表示不强制 GNU 项目规范文件,--gnu 则相反。修改 Makefile.am 后必须重新运行 automake(或 autoreconf -fi)。
语法
automake [选项] [Makefile]
选项
-a, --add-missing:补齐缺失的标准辅助文件-c, --copy:以复制而非符号链接方式添加辅助文件-f, --force:强制重建Makefile.in-i, --ignore-deps:忽略自动依赖--foreign:按非 GNU 标准检查--gnu:按 GNU 标准检查(默认)-v, --verbose:显示处理过程
实例
# 初始化时补齐辅助文件
automake --add-missing --copy
# 非 GNU 风格项目
automake --foreign --add-missing
# 修改 Makefile.am 后强制重建
automake -f
# 推荐的完整流程
autoreconf -fi
./configure
make
若报错 “required file ’./compile’ not found”,加上 --add-missing 即可;若提示宏未定义,先运行 aclocal。