Created 星期日 11 四月 2010
在configure.ac中,如果用到gtkmm和glademm,可以用语句
其中PTABLE为工程的名字。
每次执行make,它会检查文件的存在性和最后修改时间,决定寻那些文件是不要构建(或重构),并执行相关的命令。
GNU Build System
参看automake的use cases,Generalities.
基本安装
1 解压
2 进入新建的目录后执行./configure
可以用--prefix指定安装的目录,默认为/usr/local/
3 make 进行编绎
4 su命令以root用户执行make install 安装。
默认情况安装到/usr/local目录下。
Makefile中的目标
make all 相当于make
make install 安装,还有 make uninstall
make clean 清除构建树中由make all 生成的文件
make distclean 附带清除./configure生成的文件
make dist 从源文件中生成tar压缩软件包
标准目录
其中的一些
`exec_prefix' `${prefix}'
`libdir' `${exec_prefix}/lib'
...
`datarootdir' `${prefix}/share'
`mandir' `${datarootdir}/man'
`infodir' `${datarootdir}/info'
`docdir' `${datarootdir}/doc/${PACKAGE}'
标准的配置参数
CC,CFLAG, CXX, CXXFLAGS,LDFLAGS,CPPFLAGS(C/C++预处理参数)
VPATH 构建
GNU Build System有两个目录,源树和构建树,源树以'configure'所在的目录为根目录,构建树以执行'configure'所在的目录为根目录。
Makefile
在Makefile.am 或 AC_SUBST定义的变量会覆盖automake开始创建的的。
使用变量: $(变量名),"##"后是注释。
automake严格级别
(strictness)
foreign gnu gnits cygnus
名字规则
Uniform
automake要创建的对象称作"primary",例如"PRGORAMS"是构建应用程序的primary,
primary的前缀指定要构建对象安装的目录,primary前如果加前缀"EXTRA_"表示可构建也可不构建。
primary前一定要加前缀,前缀的"dir"要去除。
可以额外确定目录,名字以dir作为后缀。
例如
xml_DATA = file.xml
一些primary
PROGRAMS,LIBRARIES,DATA,HEADERS,MANS,SOURCES
子目录
SUBDIRS
生成configure
autoreconf --install
共享库
安装后运行
su
ldconfig
否则程序找不到该共享库