Modern Automake

(2017.5.15) 

现在搜罗到的autoconf - automake都太老了。 现在的写法改变了。 


1. 建立目录,添加源码文件hello.c


2. autoscan生成模板. 得到configure.scan文件。 基于这个文件做修改 。

在运行aclocal之前, 请将这个文件后缀改为.ac。( 以前叫.in)


请先参考如下链接:

https://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation

需要修改的是AC_INIT 将其注释或者删掉:

AC_INIT([hello], [1.0]) 

AM_INIT_AUTOMAKE  这一行不带任何参数(modern写法)


修改好configure.ac文件之后总是执行 aclocal 

autoconf  (一次错误都不允许出现)


3. 然后是添加Makefile.am文件。  以下等号左边的variables在vim里面会有特别的颜色显示. 

书写如下:

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=hello         注意:如果修改hello -> helloX 则configure 之后make报错找不到helloX.o文件。

hello_SOURCES=hello.c


4.执行automake --add-missing

有很多文件(配置)我们在这个时候并没有提供; 

会有一个报错:  config.h.in文件找不到。 这个文件没有通过--add-missing得到。 所以要自己写。 

touch config.h.in 


接下来就可以继续configure了。 


---------------------

如果代码是放在子目录中的, 则需要在configure.ac文件中

AM_INIT_AUTOMAKE([subdir-objects]) 这样, 打开subdir-objects这个选项. 


注: 在autoscan之前最好就放好Makefile.am文件 ,  这样在configure.scan文件中就会自动生成

AC_CONFIG_FILES([Makefile])











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值