只使用autoconf来构建
your source files --> [autoscan*] --> [configure.scan] --> configure.ac
configure.ac --.
| .------> autoconf* -----> configure
[aclocal.m4] --+---+
| `-----> [autoheader*] --> [config.h.in]
[acsite.m4] ---'
Makefile.in
如果增加使用automake来构建
[acinclude.m4] --.
|
[local macros] --+--> aclocal* --> aclocal.m4
|
configure.ac ----'
configure.ac --.
+--> automake* --> Makefile.in
Makefile.am ---'
用到配置软件包中的文件
图:
.-------------> [config.cache]
configure* ------------+-------------> config.log
|
[config.h.in] -. v .-> [config.h] -.
+--> config.status* -+ +--> make*
Makefile.in ---' `-> Makefile ---'
automake
标准的makefile目标
all 默认执行的目标,编译文件
install 安装文件,兵拷贝包内文件
install-trip 没有调试信息的install
uninstall 卸载文件
clean 清空 make all的文件
distclean 在clean的基础上再清除 ./configure创建的文件
check 跑测试套件
installcheck 检查已安装的程序或库文件
dist 用源码重新创建package-version.tar.gz文件
标准的安装步骤
./configure
make
make install
标准目录变量
prefix /usr/local
bindir ${prefix}/bin
libdir ${prefix}/lib
includedir ${prefix}/include
datarootdir ${prefix}/share
mandir ${datarootdir}/man
infodir ${datarootdir}/info
docdir ${datarootdir}/doc/${PACKAGE}
标准配置变量
CC c编译器的命令
CFLAGS c编译器的参数
CXX c++编译器命令
CXXFLAGS c++编译器参数
LDFLAGS 链接器的参数
CPPFLAGS c/c++预处理器参数