asterisk1.8 Makefile分析 (2)
2014-02-27 17:49
429 查看
menuselect.makeopts分析
查找makefile,这个目录的依赖关系如下:
menuselect.makeopts: menuselect/menuselect menuselect-tree makeopts build_tools/menuselect-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS)
下面我们逐个分析:
1) menuselect/menuselect
查找makefile,这个目标的规则如下:
menuselect/menuselect: menuselect/makeopts
+$(MAKE_MENUSELECT) menuselect
menuselect/makeopts这个依赖不用管,在configure的时候就会生成。
$(MAKE_MENUSELECT) 展开如下:
CC="$(BUILD_CC)" CXX="" LD="" AR="" RANLIB="" CFLAGS="" $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
可以看到这条命令就是要进入menuselect目录下去执行makefile并生成menuselect。
2)
menuselect-tree
这个目标的生成,比较复杂,先不看了
3) makeopts不用管,这个在_all的依赖里已经分析过了。
4) build_tools/menuselect-deps,这个文件在configure的时候生成。在Makefile里就查不到。
5)
$(GLOBAL_MAKEOPTS)和$(USER_MAKEOPTS)
这两个目录展开后为:
GLOBAL_MAKEOPTS=$(wildcard /etc/asterisk.makeopts)
USER_MAKEOPTS=$(wildcard ~/.asterisk.makeopts)
wildcard为makefile的关键字,是将后面的通配符展开的,但是后面没有通配符,不知道是什么意思。
不过makefile里面有一个段话来解释这两个变量,大概意思是说,asterisk.makeopts文件是asterisk用menuselect生成的配置文件,如果我们的系统里有这个文件,以后用新版本的asterisk的时候就不需要再用menuselect重新设置了。第一个asterisk.makeopts是全局的,第二个.asterisk.makeopts是用户的。如果有第一个,就会覆盖第二个。
查找makefile,这个目录的依赖关系如下:
menuselect.makeopts: menuselect/menuselect menuselect-tree makeopts build_tools/menuselect-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS)
下面我们逐个分析:
1) menuselect/menuselect
查找makefile,这个目标的规则如下:
menuselect/menuselect: menuselect/makeopts
+$(MAKE_MENUSELECT) menuselect
menuselect/makeopts这个依赖不用管,在configure的时候就会生成。
$(MAKE_MENUSELECT) 展开如下:
CC="$(BUILD_CC)" CXX="" LD="" AR="" RANLIB="" CFLAGS="" $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
可以看到这条命令就是要进入menuselect目录下去执行makefile并生成menuselect。
2)
menuselect-tree
这个目标的生成,比较复杂,先不看了
3) makeopts不用管,这个在_all的依赖里已经分析过了。
4) build_tools/menuselect-deps,这个文件在configure的时候生成。在Makefile里就查不到。
5)
$(GLOBAL_MAKEOPTS)和$(USER_MAKEOPTS)
这两个目录展开后为:
GLOBAL_MAKEOPTS=$(wildcard /etc/asterisk.makeopts)
USER_MAKEOPTS=$(wildcard ~/.asterisk.makeopts)
wildcard为makefile的关键字,是将后面的通配符展开的,但是后面没有通配符,不知道是什么意思。
不过makefile里面有一个段话来解释这两个变量,大概意思是说,asterisk.makeopts文件是asterisk用menuselect生成的配置文件,如果我们的系统里有这个文件,以后用新版本的asterisk的时候就不需要再用menuselect重新设置了。第一个asterisk.makeopts是全局的,第二个.asterisk.makeopts是用户的。如果有第一个,就会覆盖第二个。
相关文章推荐
- asterisk1.8 Makefile分析 (1)
- Asterisk 1.8 sip 协议栈分析
- 代码分析 Asterisk1.8 DAHDI
- Asterisk 1.8 sip 协议栈分析
- Asterisk 1.8 队列 分析
- Asterisk 1.8 sip 协议栈分析(1)
- Asterisk 1.8 sip 协议栈分析(2)
- asterisk1.8启动信息分析(未完)
- Asterisk 1.8 sip 协议栈分析(一)
- Asterisk 1.8 chan_sip模块代码分析
- Asterisk1.8 sip编码协商分析
- Asterisk 1.8 sip 协议栈分析 2
- Makefile 语法分析
- ConcurrentHashMap之核心方法分析(JDK1.8)
- java 1.8 hashmap 源码分析
- Linux 内核 Makefile 体系简单分析
- uboot makefile分析之 make xx_config
- HashMap源码分析(JDK1.8)- 你该知道的都在这里了
- linux源码Makefile的详细分析
- android的 makefile -- Android.mk 分析