图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
来源:互联网 发布:域名dns未修改腾讯云 编辑:程序博客网 时间:2024/04/28 16:33
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。
your source files --> [autoscan*] --> [configure.scan] --> configure.ac
2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”user input files optional input process output files================ ============== ======= ============ acinclude.m4 - - - - -. V .-------,configure.ac ------------------------>|aclocal| {user macro files} ->| |------> aclocal.m4 `-------'3.autoheader(autoconf): 根据configure.ac中的某些宏,比如cpp宏定义,运行m4,声称config.h.inuser input files optional input process output files================ ============== ======= ============ aclocal.m4 - - - - - - - . | V .----------,configure.ac ----------------------->|autoheader|----> autoconfig.h.in `----------'
4.automake: automake将Makefile.am中定义的结构建立Makefile.in,然后configure脚本将生成的Makefile.in文件转换为Makefile。如果在configure.ac中定义了一些特殊的宏,比如AC_PROG_LIBTOOL,它会调用libtoolize,否则它会自己产生config.guess和config.sub
user input files optional input processes output files================ ============== ========= ============ .--------, | | - - -> COPYING | | - - -> INSTALL | |------> install-sh | |------> missing |automake|------> mkinstalldirsconfigure.ac ----------------------->| |Makefile.am ----------------------->| |------> Makefile.in | |------> stamp-h.in .---+ | - - -> config.guess | | | - - -> config.sub | `------+-' | | - - - -> config.guess |libtoolize| - - - -> config.sub | |--------> ltmain.sh | |--------> ltconfig `----------'
5.autoconf:将configure.ac中的宏展开,生成configure脚本。这个过程可能要用到aclocal.m4中定义的宏。
user input files optional input processes output files================ ============== ========= ============aclocal.m4 ,autoconfig.h.in - - - - - - -. V .--------,configure.ac ----------------------->|autoconf|------> configure
6. ./configure的过程
.-------------> [config.cache] configure* --------------------------+-------------> config.log | [config.h.in] -. v .--> [autoconfig.h] +-------> config.status* -+ Makefile.in ---' `--> Makefile
7. make过程
[autoconfig.h] -. +--> make* ---> 程序 Makefile ---'
.---------, config.site - - ->| | config.cache - - ->| | - - -> config.cache | +-, `-+-------' | | |----> config.status config.h.in ------->|config- |----> config.h Makefile.in ------->| .status|----> Makefile | |----> stamp-h | +--, .-+ | | | `------+--' | ltmain.sh ------->|ltconfig|-------> libtool | | | `-+------' | |config.guess| | config.sub | `------------'
.--------, Makefile ------>| | config.h ------>| |{project sources} ---------------->| |--------> {project targets} .-+ +--, | `--------' | | libtool | | missing | | install-sh | |mkinstalldirs| `-------------'
0 0
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- 图解aclocal、autoconf、automake、autoheader、configure
- 图解aclocal、autoconf、automake、autoheader、configure
- 图解aclocal、autoconf、automake、autoheader、configure
- 图解aclocal、autoconf、automake、autoheader、configure
- 图解aclocal、autoconf、automake、autoheader、configure
- 图解aclocal、autoconf、automake、autoheader、configure(好东西)
- Nov 08 图解aclocal、autoconf、automake、autoheader、configure
- aclocal、autoconf、automake、autoheader、configure 处理流程
- aclocal ; autoheader; automake ; autoconf
- 心门
- codeforces #305 547B B. Mike and Feet(单调栈)
- 20个大大节省你时间的HTML5开发工具
- 图像处理的一些事
- 欢迎使用CSDN-markdown编辑器
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- android查看网络图片
- Python修改文件权限
- 《Java课程实习》日志(周二)
- js文件的方法中图片或者文件的相对路径(开发笔记1)
- Java Play的使用之HollowPlay
- Java 序列化的高级认识
- 凌阳16位单片机之外部中断
- Python 描述器 descriptor