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

Prayer

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

通用Makefile及部分解釋(轉(zhuǎn))

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.
######################################
#目標(biāo)(可執(zhí)行文檔)名稱,庫(譬如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))
#結(jié)束

  • 原作者是Gorge Foot,寫這個Makefile的時候還是一個學(xué)生
  • ":="賦值,和"="不同的是,":="在賦值的同時,會將賦值語句中所有的變量就地展開,也就是說,A:=$(B)后,B的值的改變不再影響A
  • 隱含規(guī)則。GUN Make在不特別指定的情況下會使用諸如以下編譯命令:$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@,這也是為什么這個Makefile最后一個命令沒有添加$(CPPFLAGS)的原因,因為缺省是包含這個變量的
  • 函數(shù)和變量很相似:"$ (函數(shù)名,空格,一列由逗號分隔的參數(shù))"
  • SOURCES = $(wildcard *.cpp) 列出工作目錄下文件名滿足"*.cpp"條件的文件,以空格分隔,并將列表賦給SOURCE變量
  • patsubst函數(shù):3個參數(shù)。功能是將第三個參數(shù)中的每一項(由空格分隔)符合第一個參數(shù)描述的部分替換成第二個參數(shù)制定的值
  • addprefix函數(shù):2個參數(shù)。將源串(第2個參數(shù),由空格分隔)中的每一項添加前綴(第1個參數(shù))
  • filter-out函數(shù):2個參數(shù)。從第二串中過濾掉包含在第一個串中的項
  • $(CC) -MM -MMD $(SOURCE) : 對每個源文件生成依賴(dependence,Make通過依賴規(guī)則來判斷是否需要重新編譯某個文件),"D"生成".d"文件,-MM表示去掉 depends里面的系統(tǒng)的頭文件(使用<>包含的頭文件)(若使用-M則全部包含,事實(shí)上,系統(tǒng)頭文件被修改的可能性極小,不需要執(zhí)行依賴檢查)
  • .PHONY,不檢查后面制定各項是否存在同名文件
  • ifneg...else...endif,Makefile中的條件語句
  • -include $(DEPS) : 將DEPS中的文件包含進(jìn)來,"-"表示忽略文件不存在的錯誤
  • @$(RM) *.o : 開頭的"@"表示在Make的時候,不顯示這條命令(GNU Make缺省是顯示的)
  • all : 作為第一個出現(xiàn)的目標(biāo)項目,Make會將它作為主要和缺省項目("make"就表示"make all")
  • deps : 只生成依賴文件(.d文件)
  • objs : 為每一個源碼程序生成或更新 '.d' 文件和'.o'文件
  • clean : 刪除所有'.d','.o'和可執(zhí)行文件
  • rebuild : clean然后重建
  • 內(nèi)部變量$@, $< $^ : 分別表示目標(biāo)名(:前面的部分,比如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>
            亚洲欧美在线一区| 久久久亚洲一区| 亚洲在线播放电影| 亚洲精品免费网站| 亚洲黄色成人| 亚洲人成网站精品片在线观看| 在线观看国产一区二区| 影音先锋久久久| 一区二区三区在线高清| 亚洲国产精品成人一区二区| 亚洲欧洲在线播放| 日韩写真在线| 香蕉久久夜色精品| 久久久国产91| 欧美大片国产精品| 日韩一级在线观看| 亚洲永久字幕| 久久天天躁夜夜躁狠狠躁2022| 免费不卡视频| 欧美日韩综合一区| 国产在线播精品第三| 亚洲国产高清自拍| 99亚洲伊人久久精品影院红桃| 亚洲免费小视频| 久久美女性网| 亚洲精品美女在线| 亚洲欧美日韩成人| 老司机午夜精品| 国产精品嫩草久久久久| 亚洲电影av在线| 欧美在线观看网站| 亚洲第一精品夜夜躁人人躁| 99精品欧美一区二区三区| 久久国产99| 欧美午夜视频在线观看| 亚洲国产片色| 欧美专区18| 一区二区三区视频在线播放| 久久视频一区二区| 国产女人水真多18毛片18精品视频| 在线成人av网站| 欧美影院精品一区| 99精品国产在热久久下载| 久久久久欧美精品| 国产日韩亚洲欧美精品| 国产精品99久久99久久久二8| 欧美成人激情视频| 欧美一区二区视频97| 国产精品国产馆在线真实露脸| 亚洲激情在线| 美日韩精品免费| 国产精品99久久久久久久女警| 亚洲国产小视频| 久久精品盗摄| 一本色道精品久久一区二区三区| 久久一综合视频| 国产一区在线观看视频| 亚洲欧美日本在线| 99精品欧美一区二区三区| 欧美精品三级日韩久久| 亚洲精品日韩在线| 亚洲福利精品| 欧美国产日韩亚洲一区| 亚洲啪啪91| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美大胆成人| 久久亚洲春色中文字幕| 狠狠干综合网| 久久综合五月| 久久米奇亚洲| 亚洲第一级黄色片| 欧美成人激情在线| 巨乳诱惑日韩免费av| 1769国产精品| 亚洲黄色免费电影| 欧美日韩在线大尺度| 99精品视频免费在线观看| 亚洲欧洲视频在线| 欧美午夜精品电影| 亚洲欧美一区在线| 午夜欧美大尺度福利影院在线看| 国产一级揄自揄精品视频| 久久躁日日躁aaaaxxxx| 裸体一区二区三区| 日韩一级不卡| 亚洲一区二区三区中文字幕在线| 国产情侣一区| 亚洲国产成人在线| 国产精品国内视频| 久久精品一级爱片| 久久综合中文| 亚洲一级在线观看| 欧美一区二区在线看| 一区二区在线不卡| 一本大道久久a久久综合婷婷 | 欧美一区二区视频97| 欧美综合第一页| 亚洲精品在线观看免费| 亚洲在线不卡| 在线看成人片| 99在线精品视频在线观看| 国产色视频一区| 亚洲欧洲日韩女同| 国产一区二区中文字幕免费看| 欧美激情小视频| 国产日本欧美视频| 亚洲美女视频在线免费观看| 国产一区二区三区免费观看| 欧美激情视频一区二区三区免费| 伊人久久大香线| 一区二区三区视频观看| 亚洲国产日韩欧美在线图片| 亚洲无玛一区| 亚洲精品视频免费观看| 午夜视频一区| 亚洲一区二区三区精品在线| 另类天堂视频在线观看| 久久国产精品久久久久久| 欧美精品在线免费| 欧美成人高清| 玉米视频成人免费看| 亚洲一区欧美| 亚洲欧美电影在线观看| 欧美精品在欧美一区二区少妇| 久久免费偷拍视频| 国产精品一区二区久久国产| 夜夜嗨av一区二区三区网页| 亚洲精品久久在线| 六十路精品视频| 欧美成人自拍| 在线免费观看日韩欧美| 亚洲欧美日韩爽爽影院| 亚洲在线日韩| 国产伦一区二区三区色一情| 在线亚洲激情| 亚洲视频自拍偷拍| 欧美日韩三级视频| 日韩视频一区二区| 亚洲视频一区二区在线观看| 免费观看在线综合| 欧美激情a∨在线视频播放| 黄色一区二区三区四区| 久久精品亚洲国产奇米99| 久久中文久久字幕| 亚洲国产欧美一区二区三区同亚洲 | 久久精品亚洲热| 久久综合伊人| 最近中文字幕mv在线一区二区三区四区| 久久精品一区二区| 欧美国产成人精品| 一本色道久久综合亚洲精品不 | 久久久美女艺术照精彩视频福利播放| 校园春色国产精品| 激情校园亚洲| 久久久久久久久蜜桃| 欧美高清影院| 亚洲天堂av电影| 国产精品久久久一本精品| 午夜一区不卡| 亚洲成在线观看| 在线综合视频| 国产精品久久久久免费a∨| 亚洲欧美日韩高清| 蜜臀久久99精品久久久久久9| 亚洲激情中文1区| 欧美日韩1区2区| 欧美在线高清| 亚洲精品免费看| 亚洲精品视频一区二区三区| 亚洲欧洲精品成人久久奇米网| 免费观看不卡av| 亚洲六月丁香色婷婷综合久久| 午夜精品福利在线观看| 亚洲成色777777在线观看影院| 欧美日本在线看| 午夜精品免费视频| 欧美xxxx在线观看| 中文日韩在线视频| 伊人春色精品| 国产精品成人一区二区网站软件 | 最新亚洲一区| 欧美在线看片| 亚洲九九精品| 狠狠噜噜久久| 国产精品高清网站| 免费成人在线观看视频| 亚洲一区二区三区中文字幕在线| 欧美国产激情| 欧美在线黄色| a91a精品视频在线观看| 国内精品写真在线观看| 欧美婷婷久久| 欧美区一区二| 久久久99精品免费观看不卡| 一区二区欧美亚洲| 亚洲电影在线观看| 久久色在线观看| 欧美一区激情视频在线观看| 99av国产精品欲麻豆| 最新国产成人av网站网址麻豆 |