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

Prayer

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

通用Makefile及部分解釋(轉)

Posted on 2009-06-01 14:26 Prayer 閱讀(1243) 評論(0)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX

######################################
# Copyright (c) 1997 George Foot (george.foot@merton.ox.ac.uk)
# All rights reserved.
######################################
#目標(可執行文檔)名稱,庫(譬如stdcx,iostr,mysql等),頭文件路徑
DESTINATION := test
LIBS :=
INCLUDES := .


RM := rm -f
#C,CC或CPP文件的后綴
PS=cpp
# GNU Make的隱含變量定義
CC=g++
CPPFLAGS = -g -Wall -O3 -march=i486
CPPFLAGS += $(addprefix -I,$(INCLUDES))
CPPFLAGS += -MMD

#以下部分無需修改
SOURCE := $(wildcard *.$(PS))
OBJS := $(patsubst %.$(PS),%.o,$(SOURCE))
DEPS := $(patsubst %.o,%.d,$(OBJS))
MISSING_DEPS := $(filter-out $(wildcard $(DEPS)),$(DEPS))
MISSING_DEPS_SOURCES := $(wildcard $(patsubst %.d,%.$(PS),$(MISSING_DEPS)))

.PHONY : all deps objs clean rebuild

all : $(DESTINATION)

deps : $(DEPS)
         $(CC) -MM -MMD $(SOURCE)


objs : $(OBJS)

clean :
         @$(RM) *.o
         @$(RM) *.d
         @$(RM) $(DESTINATION)

rebuild: clean all

ifneq ($(MISSING_DEPS),)
$(MISSING_DEPS) :
         @$(RM) $(patsubst %.d,%.o,$@)
endif

-include $(DEPS)

$(DESTINATION) : $(OBJS)
         $(CC) -o $(DESTINATION) $(OBJS) $(addprefix -l,$(LIBS))
#結束

  • 原作者是Gorge Foot,寫這個Makefile的時候還是一個學生
  • ":="賦值,和"="不同的是,":="在賦值的同時,會將賦值語句中所有的變量就地展開,也就是說,A:=$(B)后,B的值的改變不再影響A
  • 隱含規則。GUN Make在不特別指定的情況下會使用諸如以下編譯命令:$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@,這也是為什么這個Makefile最后一個命令沒有添加$(CPPFLAGS)的原因,因為缺省是包含這個變量的
  • 函數和變量很相似:"$ (函數名,空格,一列由逗號分隔的參數)"
  • SOURCES = $(wildcard *.cpp) 列出工作目錄下文件名滿足"*.cpp"條件的文件,以空格分隔,并將列表賦給SOURCE變量
  • patsubst函數:3個參數。功能是將第三個參數中的每一項(由空格分隔)符合第一個參數描述的部分替換成第二個參數制定的值
  • addprefix函數:2個參數。將源串(第2個參數,由空格分隔)中的每一項添加前綴(第1個參數)
  • filter-out函數:2個參數。從第二串中過濾掉包含在第一個串中的項
  • $(CC) -MM -MMD $(SOURCE) : 對每個源文件生成依賴(dependence,Make通過依賴規則來判斷是否需要重新編譯某個文件),"D"生成".d"文件,-MM表示去掉 depends里面的系統的頭文件(使用<>包含的頭文件)(若使用-M則全部包含,事實上,系統頭文件被修改的可能性極小,不需要執行依賴檢查)
  • .PHONY,不檢查后面制定各項是否存在同名文件
  • ifneg...else...endif,Makefile中的條件語句
  • -include $(DEPS) : 將DEPS中的文件包含進來,"-"表示忽略文件不存在的錯誤
  • @$(RM) *.o : 開頭的"@"表示在Make的時候,不顯示這條命令(GNU Make缺省是顯示的)
  • all : 作為第一個出現的目標項目,Make會將它作為主要和缺省項目("make"就表示"make all")
  • deps : 只生成依賴文件(.d文件)
  • objs : 為每一個源碼程序生成或更新 '.d' 文件和'.o'文件
  • clean : 刪除所有'.d','.o'和可執行文件
  • rebuild : clean然后重建
  • 內部變量$@, $< $^ : 分別表示目標名(:前面的部分,比如all),依靠列表(:后面的部分)中的第一個依靠文件,所有依靠文件
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲99久久| 老色鬼久久亚洲一区二区| 欧美一区二区精品久久911| 亚洲精品1区2区| 精品999久久久| 在线看欧美日韩| 亚洲精品美女| 中文一区字幕| 久久精品观看| 免费日韩av| 99精品国产在热久久下载| 亚洲欧美日韩一区二区在线| 久久国内精品自在自线400部| 久久久久久亚洲精品杨幂换脸| 免费永久网站黄欧美| 欧美性色综合| 精品成人乱色一区二区| 夜久久久久久| 久久久久国产成人精品亚洲午夜| 美腿丝袜亚洲色图| 亚洲麻豆国产自偷在线| 欧美在线播放高清精品| 欧美成人性网| 国产视频一区在线观看一区免费| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美精品三级日韩久久| 欧美日韩综合不卡| 一区二区在线观看视频| 亚洲一区二区三区成人在线视频精品| 久久精品国产综合| 亚洲精品视频在线播放| 久久国产精品亚洲va麻豆| 欧美精品1区| 亚洲国产99精品国自产| 午夜精品久久久久久久蜜桃app | 国产综合久久久久久鬼色| 91久久亚洲| 久久久久高清| 亚洲一本视频| 欧美日韩成人免费| 一区二区精品| 麻豆精品视频在线观看| 国产一区二区三区四区五区美女| 男人插女人欧美| 国产午夜精品理论片a级探花| av成人黄色| 亚洲成人在线免费| 国产日韩欧美三级| 亚洲天堂网在线观看| 欧美成人资源网| 午夜久久久久| 国产欧美一区二区三区沐欲 | 国内在线观看一区二区三区 | 一本久道久久综合中文字幕 | 欧美尤物巨大精品爽| 国产精品乱看| 亚洲欧美日韩直播| 亚洲一级二级在线| 国产精品毛片在线| 午夜精品一区二区三区在线| 亚洲毛片播放| 欧美日韩国产成人精品| 一本久久综合亚洲鲁鲁五月天| 亚洲国产精品999| 欧美大片在线看| 亚洲蜜桃精久久久久久久| 亚洲激情在线播放| 欧美精品三级在线观看| 亚洲少妇诱惑| 亚洲免费影视| 国产在线拍偷自揄拍精品| 久久一区二区三区国产精品 | 久久精品国产免费观看| 伊人成年综合电影网| 欧美激情1区2区3区| 欧美精品二区| 香港成人在线视频| 久久精品91| 日韩视频专区| 亚洲免费在线视频| 亚洲第一福利在线观看| 91久久一区二区| 国产目拍亚洲精品99久久精品 | 亚洲女人天堂av| 午夜国产精品视频| 亚洲激情二区| 亚洲国产精品va在线观看黑人| 欧美国产精品日韩| 欧美视频免费看| 久久男女视频| 国产午夜精品久久| 欧美日韩一二三区| 欧美巨乳在线| 羞羞色国产精品| 久久久久国产精品厨房| 夜夜嗨av一区二区三区网页| 亚洲一区三区视频在线观看| 一区二区在线观看视频| 日韩一级二级三级| 国外成人在线| 国产精品99久久久久久久久| 在线国产欧美| 亚洲综合丁香| 日韩亚洲不卡在线| 欧美一区二区三区视频在线观看| 亚洲精品久久视频| 久久福利毛片| 午夜一区二区三区在线观看| 欧美成人午夜免费视在线看片| 欧美影院久久久| 欧美日韩第一区日日骚| 蜜桃av一区二区| 国产欧美一区二区色老头| 亚洲日本中文字幕免费在线不卡| 国产亚洲免费的视频看| 正在播放日韩| 一本不卡影院| 欧美激情第一页xxx| 久久午夜色播影院免费高清| 国产精品三区www17con| 亚洲精品久久久久久久久久久| 国内外成人在线视频| 亚洲欧美日韩系列| 亚洲欧美影院| 欧美视频三区在线播放| 亚洲精品欧洲| 亚洲精品免费在线| 免费在线观看日韩欧美| 免费精品视频| 激情欧美日韩一区| 久久国产精品电影| 久久久精彩视频| 黑人操亚洲美女惩罚| 欧美中文字幕视频| 久久久久99精品国产片| 黄色成人av网| 久久久久久亚洲精品杨幂换脸 | 久久视频精品在线| 国产日韩欧美电影在线观看| 亚洲欧美日韩在线高清直播| 欧美亚洲一区二区在线| 国产精品欧美精品| 午夜视频在线观看一区二区| 久久精品国产99| 激情自拍一区| 奶水喷射视频一区| 亚洲精品三级| 亚洲一区观看| 国产精品二区影院| 亚洲女人av| 欧美精品三级日韩久久| 一区二区三区www| 午夜久久99| 国产综合av| 欧美成人免费在线| 亚洲一区二区三区欧美| 国产精品久久久久av免费| 亚洲欧美成人网| 欧美成人国产va精品日本一级| 亚洲片在线观看| 欧美视频免费在线| 久久精品国产清自在天天线| 欧美国产免费| 99成人在线| 国产农村妇女毛片精品久久麻豆| 欧美专区亚洲专区| 最新高清无码专区| 欧美在线观看视频| 亚洲国产二区| 国产精品啊啊啊| 久久久久久尹人网香蕉| 亚洲全黄一级网站| 久久不射网站| 亚洲精品乱码久久久久久日本蜜臀| 欧美日韩亚洲一区三区| 午夜精品在线看| 亚洲狠狠婷婷| 欧美尤物一区| 亚洲精品日韩在线观看| 国产精品久久久久久久久婷婷| 久久精品亚洲精品| 亚洲视频播放| 亚洲国产精品成人综合色在线婷婷 | 国产精品99久久久久久久女警 | 99re6这里只有精品| 国产精品视频一二| 欧美大片91| 久久久久久亚洲综合影院红桃| 在线视频精品一| 亚洲国产精品黑人久久久 | 一片黄亚洲嫩模| 激情久久五月| 国精产品99永久一区一区| 欧美三级第一页| 欧美电影免费观看| 久久网站免费| 欧美一区二区在线观看| 亚洲五月六月| 一本色道**综合亚洲精品蜜桃冫| 欧美福利一区|