automake使用

(一)写Makefile.am
AM_CFLAGS = -ggdb为开启调试。
ACLOCAL_AMFLAGS = -I m4,当使用libtoolize生成config.guess, config.sub, ltmain.sh, ltconfig时需要设置这个位置。


(二)autoscan
在工作目录中执行autoscan,会生成configurae.scan。修改configure.scan内容之后,命名为configure.ac。
AM_INIT_AUTOMAKE([subdir-objects])   #多层目录的automake  
AC_CONFIG_MACRO_DIR([m4]) #用于libtoolize  
AM_PROG_CC_C_O   #子目录的编译  


(三)执行libtoolize
生成config.guess, config.sub, ltmain.sh, ltconfig


(四)执行aclocal
生成aclocal.m4


(五)执行autoconf
生成configure文件


(六)执行automake --add-missing
生成Makefile.in文件


(七)执行./configure --prefix=`pwd`
生成Makefile文件


(八)执行make && make install
将可执行二进制文件安装到当前目录的./bin/下




makefile.am:
对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用noinst_PROGRAMS代替bin_PROGRAMS,noinst_LIBRARIES代替lib_LIBRARIES。以此类推。


PROGRAMS 表示可执行文件




SOURCES 表示源文件




HEADERS 头文件。




LIBRARIES 表示库文件




LTLIBRARIES  这也是表示库文件,前面的LT表示libtool。




DATA 数据文件,不能执行。




SCRIPTS  脚本文件






AUTOMAKE_OPTIONS:
AUTOMAKE_OPTIONS = foreign
这个是用来设定automake的选项。automake主要是帮助开发GNU软件的人员维护软件套件,一般在执行automake时会检查目录下是否存在标准GNU套件中应具备的文件档案,例如NEWS、AUTHOR、ChangeLog等,设成foreign时,automake会改用一般软件套件标准来检查,而gnu是缺省设置,该级别下将尽可能地检查包是否服从GNU标准,gnits是严格标准,不推荐





bindir = $(prefix)/bin。


libdir = $(prefix)/lib。


datadir=$(prefix)/share。


sysconfdir=$(prefix)/etc。


includedir=$(prefix)/include。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值