Automake 生成可移植 Makefile
automake 根据 Makefile.am 和 configure.ac 生成 Makefile.in,配合 Autoconf 的 configure 产出最终 Makefile。它负责构建规则、安装和分发。
autoreconf -fi
automake --add-missing
./configure
make -j8
make check
make dist
make distcheck
Makefile.am 示例:
bin_PROGRAMS = app
app_SOURCES = main.c util.c
AM_CFLAGS = -Wall -Wextra
| 目标 | 含义 |
|---|---|
make |
构建 |
make check |
运行测试 |
make install |
安装 |
make dist |
生成源码包 |
make distcheck |
验证源码包可构建 |
make clean |
清理产物 |
Makefile.in 是生成文件;修改 Makefile.am 后重新 autoreconf。--add-missing 会补 install-sh 等辅助脚本;发布前确认包含。SUBDIRS 和 subdir-objects 影响递归构建;大型项目要统一。make dist 可能漏文件;用 EXTRA_DIST 补齐。make -j 失败先查依赖。autoconf — 配置脚本libtool — 库构建make — 构建