欢迎来到天天文库
浏览记录
ID:38701756
大小:135.00 KB
页数:28页
时间:2019-06-17
《生成makefile》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、文章分类:C++编程 1.autoscan(autoconf):扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 yoursourcefiles-->[autoscan*]-->[configure.scan]-->configure.ac2.aclocal(automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件aclocal.m4中。aclo
2、cal是一个perl脚本程序,它的定义是:“aclocal-createaclocal.m4byscanningconfigure.ac”userinputfilesoptionalinputprocessoutputfiles=================================================acinclude.m4-----.V.-------,configure.ac------------------------>
3、aclocal
4、{usermacrofiles}->
5、
6、------>a
7、clocal.m4`-------'3.autoheader(autoconf):根据configure.ac中的某些宏,比如cpp宏定义,运行m4,声称config.h.inuserinputfilesoptionalinputprocessoutputfiles=================================================aclocal.m4-------.
8、V.----------,configure.ac----------------------->
9、autoheader
10、---
11、->autoconfig.h.in`----------'4.automake:automake将Makefile.am中定义的结构建立Makefile.in,然后configure脚本将生成的Makefile.in文件转换为Makefile。如果在configure.ac中定义了一些特殊的宏,比如AC_PROG_LIBTOOL,它会调用libtoolize,否则它会自己产生config.guess和config.subuserinputfilesoptionalinputprocessesoutputfiles======
12、=============================================.--------,
13、
14、--->COPYING
15、
16、--->INSTALL
17、
18、------>install-sh
19、
20、------>missing
21、automake
22、------>mkinstalldirsconfigure.ac----------------------->
23、
24、Makefile.am----------------------->
25、
26、------>Makefile.in
27、
28、------>stamp-h.in.---+
29、-
30、-->config.guess
31、
32、
33、--->config.sub
34、`------+-'
35、
36、---->config.guess
37、libtoolize
38、---->config.sub
39、
40、-------->ltmain.sh
41、
42、-------->ltconfig`----------'5.autoconf:将configure.ac中的宏展开,生成configure脚本。这个过程可能要用到aclocal.m4中定义的宏。userinputfilesoptionalinputprocessesoutputfiles=========
43、==========================================aclocal.m4,autoconfig.h.in-------.V.--------,configure.ac----------------------->
44、autoconf
45、------>configure6../configure的过程.------------->[config.cache]configure*--------------------------+------------->config.log
46、[config.h
47、.in]-.v.-->[autoconfig.h]+------->config.status*-+Makefile.in---'`-->Makefile7.make过程[autoconfig.h]-.+-->make*--->程序Makefile---'.---------,config
此文档下载收益归作者所有