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

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

Makefile注意事項

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

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


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

 
    target :  depending 
     <Tab>   command

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

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

 
基本的實例如下:
[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]$ 
從上面的結(jié)果可以知道,所有的操作是在同一個shell中,而不是每一個命令一個新的shell。如果將Makefile改成下面的形式就會出現(xiàn)不一樣的結(jié)果.
  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,導(dǎo)致了與我們期望的結(jié)果存在差別。
因此在實際的多個命令時一定要記得加上";"和“\”,不然得到的結(jié)果就會出現(xiàn)異樣。

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

 
4、Makfile的設(shè)計直接決定后期修改的復(fù)雜程度,需要加強練習(xí)。
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 九九热免费看 | 亚洲在线| 天天操网| 国产日韩精品久久 | 在线色网| 在线一区二区三区 | 国产在线拍偷自揄拍视频 | www视频在线观看 | 日韩av在线一区二区三区 | 碰碰视频 | 久久尤物免费一区二区三区 | 日韩一区不卡 | 99精品电影 | av网站免费在线观看 | 久久综合色综合 | 亚洲精品一区二区三区蜜桃久 | 日韩在线视频一区二区三区 | www.成人免费视频 | 91精品国产乱码久久久久久 | 欧美一区久久 | 久久看精品 | 色橹橹欧美在线观看视频高清 | 国产精品久久久久久久久免费桃花 | 国产精品视频免费观看 | 国产成人一区二区三区精 | 欧美日韩国产中文 | 无码日韩精品一区二区免费 | 亚洲成av人片在线观看 | 日韩视频一区 | 精品免费国产一区二区三区四区 | 福利片一区二区 | 日本三级日产三级国产三级 | 作爱视频免费观看 | 亚洲乱码一区二区三区在线观看 | 人人澡人人射 | 中文字幕高清一区 | www.久久.com | 国产美女精品 | 伊人中文字幕 | 永久www成人看片 | 国产激情第一页 |