青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

GNU Makefile 之 (概要)

Posted on 2012-03-30 10:51 Prayer 閱讀(835) 評論(0)  編輯 收藏 引用 所屬分類: makefile

1.       GNU的make工作時的執行步驟入下:

1.         讀入所有的Makefile。

2.         讀入被include的其它Makefile。

3.         初始化文件中的變量。

4.         推導隱晦規則,并分析所有規則。

5.         為所有的目標文件創建依賴關系鏈。

6.         根據依賴關系,決定哪些目標要重新生成。

7.         執行生成命令。

 

2.      .PHONY 指明后面為偽目標

.SILENT 相當于make的-s參數,在執行前不顯示要執行的命令

.IGNORE 相當于make的-i參數,當檢測到錯誤,繼續執行其他命令

make –n 參數,讀取規則并顯示,但是不執行

gcc –M 由編譯器自動生成依賴關系

 

3.       判斷:ifeq/ ifneq/ ifdef/ ifndef

ifeq ($(CC),gcc)

             $(CC) -o foo $(objects) $(libs_for_gcc)

       else

             $(CC) -o foo $(objects) $(normal_libs)

       endif

 

4.       可識別的后綴指的是特殊目標“.SUFFIXES”的所有依賴的名字。通過給特殊目標“SUFFIXES”添加依賴來增加一個可被識別的后綴:

 .SUFFIXES: .hack .win

它所實現的功能是把后綴“.hack”和“.win”加入到可識別后綴列表的末尾。

如果需要重設默認所有的可識別后綴,可以這樣來實現:

.SUFFIXES:          #刪除所有已定義的可識別后綴

.SUFFIXES: .c .o .h   #重新定義

 

5.       -include filename,包含文件

 

6.       -M 生成文件的關聯的信息,這樣就可以知道源代碼文件里面關聯了哪些它所依賴的頭文件。

-MD 跟-M相當,但是輸出導入到.d文件中,如gcc -MD test.c,剛輸出的依賴關系存放在test.d文件里。

 

7.       $@ 代表規則中的目標文件名

$< 規則的第一個依賴文件名。如果是隱含規則,則它代表通過目標指定的第一個依賴文件。

$^ 規則的所有依賴文件列表,使用空格分隔。

 

8.       我們可以使用最終萬用規則來實現。例如:在調試Makefile時(可能一些源文件還沒有完成),我們所關心的是Makefile中規則的正確執行,而不關心源文件的內容。

 %::

    touch $@

 

9.       列出當前目錄下所有符合模式“PATTERN”格式的文件名。

返回值:空格分割的、存在當前目錄下的所有符合模式“PATTERN”的文件名。

 $(wildcard *.c)

 返回值為當前目錄下所有.c源文件列表。

 

10.    目標總會被認為是最新的。就是說:這個規則一旦被執行,make就認為它的目標已經被更新過 

clean: FORCE

rm $(objects)

FORCE:

 

11.    subsystem:

           cd subdir && $(MAKE)

 其等價于規則:

 subsystem:

     $(MAKE) -C subdir

規則中“$(MAKE)”是對變量“MAKE" 的引用。第一個規則命令的意思是:進入子目錄,然后在子目錄下執行make。第二個規則時用了make的-C”選項,同樣是首先進入子目錄而后再執行make。

 

12.    -w選項

在多級make遞歸調用過程中,選項“-w”或者“--print-directory”可以讓make在開始編譯一個目錄之前和完成此目錄的編譯之后給出相應的提示信息

 

以下是自己寫的一個Makefile,目錄結構為模塊目錄下存在inc、src、obj三個目錄。由于用到了隱式規則,存在目錄的一些限制,當前巴該Makefile放到子目錄obj下:

====================================================

vpath %.c ../src

INCLUDE=../inc

 

CC=gcc

CFLAGS=-g -I$(INCLUDE)

TARGET=lib.a

DEPENDFILE=depend.dep

 

SRC_DIR=$(wildcard ../src/*.c)

OBJS=$(patsubst %.c,%.o,$(notdir $(SRC_DIR)))

 

all:$(TARGET)

 

$(TARGET):$(DEPENDFILE) $(OBJS)

 ar -crv $@ $(OBJS)

 

$(DEPENDFILE):

 $(CC) -M -I$(INCLUDE) $(SRC_DIR) > $@

 

.PHONY:clean

clean:

 rm -rf $(TARGET) *.o $(DEPENDFILE)

 

-include depend.*

====================================================

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品免费| 亚洲欧美日韩精品久久亚洲区 | 国产精品影视天天线| 久久免费视频网站| 国产精品hd| 亚洲欧洲三级| 国产精品久久久久久久久搜平片| 久久乐国产精品| 国产精品一区二区三区成人| 亚洲欧洲日本国产| 91久久视频| 久久精品国产99| 欧美在线视频导航| 国产精品自拍视频| 在线一区二区视频| 亚洲最黄网站| 欧美国产亚洲另类动漫| 美女视频一区免费观看| 欧美一级片久久久久久久| 久久精品国产在热久久| 欧美日韩美女| 亚洲激情在线观看视频免费| 国产在线观看一区| 欧美一区二区三区视频免费播放| 亚洲欧美日韩天堂| 国产精品麻豆va在线播放| 亚洲第一黄色网| 国产综合在线看| 亚洲综合精品| 欧美在线观看视频一区二区三区 | 久久国产福利国产秒拍| 国产精品一区二区三区四区| 在线亚洲+欧美+日本专区| 亚洲影视九九影院在线观看| 欧美日韩网址| 中文在线资源观看网站视频免费不卡 | 亚洲网友自拍| 欧美涩涩网站| 先锋影音久久久| 久久精品国产精品亚洲| 国产性做久久久久久| 欧美制服丝袜| 欧美激情一区二区三区四区| 亚洲国产精品一区二区第四页av| 免费观看成人| 一区二区激情| 久久大综合网| 伊人成年综合电影网| 乱人伦精品视频在线观看| 欧美黄色大片网站| 亚洲图片欧洲图片av| 国产精品视频午夜| 欧美国产一区二区三区激情无套| 免费成人小视频| 一区二区三区日韩精品视频| 国产精品久久久久毛片大屁完整版| 亚洲一区二区三区激情| 久久精品一区二区| 亚洲美女在线观看| 欧美日韩一区成人| 欧美一二三视频| 亚洲二区在线视频| 亚洲免费中文| 亚洲高清123| 国产精品久久777777毛茸茸| 久久久99国产精品免费| 99精品国产热久久91蜜凸| 亚洲欧美日韩国产另类专区| 韩国在线视频一区| 欧美日韩一区二区三区高清| 欧美一区二区精美| 日韩午夜三级在线| 久久综合九色综合欧美就去吻| 日韩午夜在线电影| 国产一区二区丝袜高跟鞋图片| 欧美精品久久一区| 久久精品99| 亚洲一区二区av电影| 亚洲丰满在线| 久久久噜噜噜久久狠狠50岁| 一本色道久久综合亚洲精品高清 | 国产精品99一区| 久久全球大尺度高清视频| 夜夜嗨av一区二区三区| 欧美大片在线看| 久久精品主播| 亚洲视频精品| 亚洲伦理自拍| 国产欧美精品一区aⅴ影院| 蜜臀91精品一区二区三区| 一本色道久久综合亚洲精品高清 | 亚洲国产精彩中文乱码av在线播放| 欧美大片91| 欧美怡红院视频一区二区三区| 欧美激情一区二区三区成人| 欧美一区二区三区免费视| 亚洲精品免费在线播放| 在线观看欧美日韩| 国产欧美日韩91| 国产精品理论片在线观看| 欧美黑人在线观看| 免播放器亚洲一区| 久热re这里精品视频在线6| 亚洲欧美激情精品一区二区| av不卡免费看| 亚洲理论在线观看| 亚洲日本成人网| 亚洲黄色视屏| 91久久精品一区| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美在线看| 亚洲精品1区2区| 亚洲国产高清自拍| 91久久黄色| 亚洲毛片在线| 亚洲精品在线视频| 一区二区三区鲁丝不卡| 中文精品视频| 日韩一级大片| 夜夜嗨av一区二区三区免费区| 亚洲第一偷拍| 1024亚洲| 亚洲精品一区二区三区樱花| 亚洲精品美女免费| 一区二区av在线| 午夜精品福利在线观看| 欧美在线视频a| 久久精品人人爽| 欧美福利视频在线| 亚洲精品视频在线观看网站| 日韩视频精品| 亚洲自拍电影| 久久精品一区| 欧美高潮视频| 国产精品视频精品| 极品av少妇一区二区| 亚洲精品视频在线观看网站| 亚洲一区二区三区中文字幕| 亚洲欧美日韩国产中文在线| 一本色道久久综合亚洲精品高清| 亚洲欧美精品suv| 久久精品一本久久99精品| 欧美成熟视频| 亚洲每日在线| 久久爱另类一区二区小说| 一区视频在线看| 国产精品xxx在线观看www| 国产欧美精品va在线观看| 亚洲精品乱码视频| 亚久久调教视频| 麻豆免费精品视频| 一区二区三区www| 欧美在线在线| 欧美区亚洲区| 国产日韩亚洲欧美精品| 日韩午夜在线电影| 可以免费看不卡的av网站| 亚洲乱码国产乱码精品精天堂| 欧美伊人久久久久久久久影院 | 午夜久久黄色| 欧美人与性动交cc0o| 国产视频不卡| 日韩一级精品视频在线观看| 久久激五月天综合精品| 亚洲风情亚aⅴ在线发布| 亚洲少妇一区| 欧美电影电视剧在线观看| 国产日韩精品一区| 99在线|亚洲一区二区| 久久久国产视频91| 洋洋av久久久久久久一区| 免费看亚洲片| 激情校园亚洲| 欧美资源在线观看| 在线视频欧美一区| 欧美激情一区二区三区在线视频| 黄色成人在线观看| 欧美一区久久| 在线亚洲一区观看| 欧美黄色视屏| 亚洲国产精品久久久久秋霞不卡 | 一区二区三区视频观看| 欧美电影打屁股sp| 亚洲国产第一页| 免费观看欧美在线视频的网站| 欧美一区二区三区免费看| 欧美理论片在线观看| 亚洲精品视频二区| 美女在线一区二区| 欧美一区二区网站| 国产精品久久久久久妇女6080 | 一二美女精品欧洲| 亚洲第一级黄色片| 久久久午夜精品| 一区二区三区在线免费播放| 久久久不卡网国产精品一区| 亚洲深夜激情| 国产精品久久77777| 久久成人精品一区二区三区| 亚洲一区久久久|