asterisk1.8 Makefile分析 (2)
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是用戶的。如果有第一個,就會覆蓋第二個。
??
總結
以上是生活随笔為你收集整理的asterisk1.8 Makefile分析 (2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《哥谭骑士》游戏:我们和同名电视剧没有关
- 下一篇: 巴黎街头网红“中国地砖”感动网友 博主爆