久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

Makefile注意事項

作者:龔平   來源:本站原創   點擊數:  更新時間:2014年03月14日   【字體:

最近再看專業嵌入式軟件設計這本書,總體感覺這本書對工具的介紹非常的詳細,看了一下基本的Makefile編程,將書上的幾個重點總結一下。


 
首先,Makefile就是一個管理器。
1、在Makefile中主要是由規則構成。
每一個規則都是由三個部分構成:

 
    target :  depending 
     <Tab>   command

 
每一個規則都是這三部分組成,當然也不一定全部存在。 

 
2、在規則中的每一條命令,make都是在一個新的shell上運行。如果希望多個命令在同一個shell中運行,可以用“;”將這些命令連接起來。當命令很長時,可以采用“\”將一個命令分成多行書寫。

 
基本的實例如下:
[gong@Gong-Computer Makefile]$ ls 
complicated  Makefile  Makefile1  simple
[gong@Gong-Computer Makefile]$ vi Makefile
  1.   1 .PHONY : all
  2.   2
     
  3.   3 all:
     
  4.   4 @mkdir test ;\
     
  5.   5 cd test ;\
     
  6.   6 mkdir subtest
     
  7. ~
[gong@Gong-Computer Makefile]$ make
[gong@Gong-Computer Makefile]$ ls
complicated  Makefile  Makefile1  simple  test
[gong@Gong-Computer Makefile]$ cd test/
[gong@Gong-Computer test]$ ls 
subtest
[gong@Gong-Computer test]$ 
從上面的結果可以知道,所有的操作是在同一個shell中,而不是每一個命令一個新的shell。如果將Makefile改成下面的形式就會出現不一樣的結果.
  1.   1 .PHONY : all
  2.   2
     
  3.   3 all:
     
  4.   4 @mkdir test
     
  5.   5 @cd test
     
  6.   6 @mkdir subtest
     
  7. ~
[gong@Gong-Computer Makefile]$ ls 
complicated  Makefile  Makefile1  simple
[gong@Gong-Computer Makefile]$ make
[gong@Gong-Computer Makefile]$ ls 
complicated  Makefile  Makefile1  simple  subtest  test
從上面的實驗效果可以知道上面的三個命令并不是在同一個shell中執行,而是分別不同的shell,導致了與我們期望的結果存在差別。
因此在實際的多個命令時一定要記得加上";"和“\”,不然得到的結果就會出現異樣。

 
3、適當的運用函數可以簡化Makefile的設計。主要的集合函數主要是abspath,addprefix(加前綴), addsuffix(加后綴),eval ,filter(得到某一類文件名),filter-out(去除某一類文件名),notdir(找到路勁中的文件名),patsubst(常用的替代函數),realpath,wildcard(找到當前工作目錄下的文件名或者目錄名)。

 
4、Makfile的設計直接決定后期修改的復雜程度,需要加強練習。
關閉窗口

相關文章

主站蜘蛛池模板: 97久久超碰 | 欧美日韩不卡 | 亚州一区二区 | 一区二区国产精品 | ass亚洲尤物裸体pics | 神马午夜视频 | 在线观看不卡av | 欧美日韩中文字幕 | 综合一区二区三区 | 天天干天天操天天 | 日韩精品久久久久久久酒店 | 亚洲欧美在线播放 | 黄色精品| 看黄网址 | 久久av影院 | 日日骚av | 久久久婷婷 | 亚洲午夜在线观看 | 成人在线视频免费观看 | 成人毛片一区二区三区 | 99视频免费观看 | 超碰99在线 | 男女操操操| 欧美精品三区 | 国产精品免费在线 | 精品国产一区二区三区久久久蜜月 | 欧美日韩在线播放 | 亚洲免费视频网站 | 午夜视频免费观看 | 国产精品一区二区在线播放 | www.亚洲精品 | 国产专区在线播放 | 欧美在线视频免费 | 免费网站观看www在线观看 | 免费a视频| 欧美一区免费 | 日韩美女一区 | 午夜在线免费观看 | 波多野吉衣一二三区乱码 | 亚洲少妇视频 | 免费a网站|