Linux 命令速查
开发工具 man automake

automake

由 Makefile.am 生成可移植的 Makefile.in

返回

补充说明

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。

参考链接