Linux Makefile自动生成--总体流程
2013-10-09 16:37
288 查看
Linux Makefile自动生成--总体流程
Linux Makefile自动生成--实例
Linux Makefile自动生成--config.h
步骤一:
autoscan扫描源文件,生成configure.scan,手动更改成configure.ac。内有各种宏定义,用于检测系统环境。
步骤二:
aclocal首先加载本地能够查找到的宏定义,然后扫描configure.ac,将configure.ac中使用的宏从加载的文件中拷贝到aclocal.m4中。
注意:只要用到了某个宏,即将存放该宏的文件中的内容全部拷贝到aclocal.m4中。
步骤三:
autoconf通过aclocal.m4,acsite.m4,将configure.ac中的宏展开,形成configure文件。
而autoheader则根据configure.ac中的宏AC_CHECK_FUNC形成config.h.in模板。该步骤主要用于代码移植,将在后续文章中介绍。
步骤四:
Makefile.am需要用户提供,用于对生成的Makefile进行配置。
步骤五:
运行./configure,生成config.log,config.status,后者接受config.h.in, Makefile.in,生成config.h,Makefile。
我觉得可以这样认为,.in文件为配置文件,用户可以进行一些更改。
Linux Makefile自动生成--实例
Linux Makefile自动生成--config.h
步骤一:
your source files --> [autoscan*] --> [configure.scan] --> configure.ac
autoscan扫描源文件,生成configure.scan,手动更改成configure.ac。内有各种宏定义,用于检测系统环境。
步骤二:
[acinclude.m4] --. | [local macros] --+--> aclocal* --> aclocal.m4 | configure.ac ----’
aclocal首先加载本地能够查找到的宏定义,然后扫描configure.ac,将configure.ac中使用的宏从加载的文件中拷贝到aclocal.m4中。
注意:只要用到了某个宏,即将存放该宏的文件中的内容全部拷贝到aclocal.m4中。
步骤三:
configure.ac --. | .------> autoconf* -----> configure [aclocal.m4] --+---+ | ‘-----> [autoheader*] --> [config.h.in] [acsite.m4] ---’
autoconf通过aclocal.m4,acsite.m4,将configure.ac中的宏展开,形成configure文件。
而autoheader则根据configure.ac中的宏AC_CHECK_FUNC形成config.h.in模板。该步骤主要用于代码移植,将在后续文章中介绍。
步骤四:
configure.ac --. +--> automake* --> Makefile.in Makefile.am ---’
Makefile.am需要用户提供,用于对生成的Makefile进行配置。
步骤五:
.-------------> [config.cache] configure* ------------+-------------> config.log | [config.h.in] -. v .-> [config.h] -. +--> config.status* -+ +--> make* Makefile.in ---’ ‘-> Makefile ---’
运行./configure,生成config.log,config.status,后者接受config.h.in, Makefile.in,生成config.h,Makefile。
我觉得可以这样认为,.in文件为配置文件,用户可以进行一些更改。
相关文章推荐
- Ubuntu不得不分享的24条使用经验/linux
- 测试asp.net for Linux的环境搭建
- linux内核奇遇记之md源代码解读之四
- Linux硬件信息查看工具dmidecode
- Linux设备驱动---jiffies与jiffies_64
- linux网卡启动问题
- 修改linux档案权限
- Linux 中的 wheel 组和 staff 组
- setjmp 与 longjmp
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- ARM-Linux S5PV210 UART驱动(4)----串口驱动初始化过程
- ARM-Linux S5PV210 UART驱动(3)----串口核心层、关键结构体、接口关系
- [转载]linux下svn常用指令
- ARM-Linux S5PV210 UART驱动(2)---- 终端设备驱动
- linux kernel接收包处理流程 -- 从网卡到进入3层协议栈
- Linux ARM 驱动笔记之一 : 准备
- Linux常用命令学习
- Linux系统加固之用户口令时效机制及GRUB安全设置
- LoadRunner监控Linux
- linux下so动态库一些不为人知的秘密(上)