关于Linux的makefile的自动生成,以及.configure及编译选项

参考文档:

http://www.ibm.com/developerworks/cn/linux/l-makefile/

主要解释makefile生成工具的工作流程

http://blog.ednchina.com/fafen/1596316/Message.aspx

基于上面文档的进一步分析及required file `config.h.in' not found解决方法

http://blog.chinaunix.net/u2/84449/showart_2087602.html

required file `./ltmain.sh' not found 错误的解决方法

 

libtoolize 

解决itmain.sh问题

autoheader

解决onfig.h.in问题

 

1) 运行autoscan命令

2) 将configure.scan 文件重命名为configure.in,并修改configure.in文件

3) 在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件

4) 在project目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件

5) 将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下

6) 运行aclocal命令

7) 运行autoconf命令

8) 运行automake -a命令

9) 运行./confiugre脚本

可以通过图2看出产生Makefile的流程,如图所示:

 

图 2生成Makefile流程图

用tslib做实验,中间不用修改configure.in也可以编译生成。

 

./configure -host=arm-linux -prefix=path

 

编译选项中的-O2是默认的优化级别,比如其有自动扩入内联函数的功能,如果想指定程序运行的CPU平台,就要使用更高级别的编译优化选项如-O3。

 

如果想把CC传入configure,需要在configure之前传入,如

必须要自己制定自己的cache-file 然后用./configure进行新配置,加上CC参数,才会即时生效,编译器才可以变成我们要的arm-linux-gcc:
[crifan@localhost lrzsz-0.12.20]$ CC=arm-linux-gcc ./configure –cache-file=cache_file_0 –prefix=/usr/crifan/lrzsz

参考

http://www.am82.com/houzan/archives/3926

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值