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

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

Makefile注意事項

作者:龔平   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年03月14日   【字體:

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


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

 
    target :  depending 
     <Tab>   command

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

 
2、在規(guī)則中的每一條命令,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改成下面的形式就會出現(xiàn)不一樣的結果.
  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中執(zhí)行,而是分別不同的shell,導致了與我們期望的結果存在差別。
因此在實際的多個命令時一定要記得加上";"和“\”,不然得到的結果就會出現(xiàn)異樣。

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

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

相關文章

主站蜘蛛池模板: 毛片99| 免费久久视频 | 香蕉一区| 国产激情精品一区二区三区 | 一级片网址 | 精品福利av导航 | 中文字幕av在线 | 亚洲综合资源 | 国产精品美女在线观看 | av黄色在线 | 欧美精品一区二区三区四区五区 | 欧美成视频 | 久久精品 | 国产高清视频在线 | 日韩在线观看一区 | 中文字幕在线视频免费视频 | 美女视频久久 | 久久人人网 | 色视频一区二区 | 精品欧美一区二区在线观看欧美熟 | 中文字幕 国产 | 久久久蜜臀国产一区二区 | 免费不卡av | 99精品国产一区二区三区 | 黄色大片免费网站 | 精品无码久久久久久国产 | 一区二区三区亚洲精品国 | 成人在线视频一区 | 日韩网站在线 | 成人欧美一区二区三区黑人孕妇 | 国产激情视频在线 | 国产精品视频一二三区 | 欧美成人精品一区二区三区 | www.亚洲区 | 亚洲一区二区视频 | 99re在线视频免费观看 | 午夜国产羞羞视频免费网站 | 久久精品99 | 成人一区二 | 久久i | 亚洲一区av |