Makefile 模板

Makefile 不常寫弥激,但有時候需要寫的時候,反而不知道如何下手∈臀現(xiàn)對Makefile 相關收錄如下萝衩。
Makefile 常用變量
$ @ 目標 ,^ 所有依賴 没咙,< 第一個依賴
CC c編譯器猩谊,CXX c++ 編譯器,CFLAGS c 編譯選項祭刚,CXXFLAGS c++編譯選項预柒。

Makefile 常規(guī)模板,利用makefile 的自動推導依賴

EXEC = MyTarget
CC = gcc
CFLAGS = -g -std=gnu99 -I./include/
LDFLAGS = -ltar  -lrt -L./lib/
OBJS = main.o buffer.o test.o
$(EXEC):$(OBJS)
    $(CC) -o $@ $^ $(LDFLAGS) 
clean:
    rm $(EXEC) $(OBJS)

以上Makefile 沒法檢測頭文件修改袁梗,如果工程大可以用如下Makefile 模板

####################
# $名稱: Makefile
# $時間:
####################
#1. 定義可執(zhí)行文件的名稱
TARGET = TestMyTar
#2. 指定此工程所需要頭文件路徑
INC_PATH = -I. -I./include 
LIB_PATH = -L../lib/ 
LIBS = -lpthread -lrt 
#3. 指定cpp 文件的目錄
VPATH = .:src
#4. 定義變量包含所有cpp 文件
SRC_PATH = $(foreach dir, $(subst :, ,$(VPATH)), $(wildcard $(dir)/*.cpp))
#5. 定義編譯中間文件存放路徑
OBJ_DIR = ./obj
OBJ_PATH = $(addrefix $(OBJ_DIR)/, $(subst :, ,$(VPATH)))
#6. 定義鏈接成目標 所有的obj 文件
OBJS = $(addprefix $(OBJ_DIR)/,$(subst .cpp, .o, $(SRC_PATH)))
#7. 定義依賴文件名稱
DEPS = $(OBJS:.o=.o.d)
#8. 創(chuàng)建 obj 文件存放的目錄
MAKE_OBJECT_DIR := $(shell mkdir -p $(OBJ_DIR) $(OBJ_PATH))
#9. 定義編譯器
CXX = g++
CXXFLAGS = -std=c++11 -g $(INC_PATH)
LDXXFLAGS = $(LIBS) $(LIB_PATH)
#10. 定義目標生成規(guī)則
$(TARGET):$(OBJS)
    $(CXX) -o $@ $(OBJS)  $(LDXXFLAGS)
#11. 定義obj 文件生成規(guī)則
$(OBJ_DIR)/%.o : %.cpp
    $(CXX) $(CXXFLAGS) -o $@ -c %<
#12. 定義預編譯依賴 文件生成規(guī)則
$(OBJ_DIR)/%.o.d : %.cpp
    @set -e; rm -f $@; \
    $(CXX) $< -MM -std=c++11 $(INC_PATH) > $@.$$$$; \
    sed 's,.*\.o[ ]*:,$(OBJ_DIR)/$*.o $@ :,g' < $@.$$$$ > $@; \
    rm -f $@.$$$$
#13. 引入編譯依賴文件
ifneq($(MAKECMDGOALS), clean)
 sinclude $(DEPS)
endif
#14. clean
clean:
    rm -rf ./obj
    rm -rf $(TARGET)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宜鸯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遮怜,更是在濱河造成了極大的恐慌淋袖,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锯梁,死亡現(xiàn)場離奇詭異即碗,居然都是意外死亡焰情,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門剥懒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來内舟,“玉大人,你說我怎么就攤上這事初橘⊙橛危” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵保檐,是天一觀的道長耕蝉。 經(jīng)常有香客問我,道長夜只,這世上最難降的妖魔是什么垒在? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮扔亥,結(jié)果婚禮上场躯,老公的妹妹穿的比我還像新娘。我一直安慰自己旅挤,他們只是感情好推盛,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谦铃,像睡著了一般耘成。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驹闰,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天瘪菌,我揣著相機與錄音,去河邊找鬼嘹朗。 笑死师妙,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的屹培。 我是一名探鬼主播默穴,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼褪秀!你這毒婦竟也來了蓄诽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤媒吗,失蹤者是張志新(化名)和其女友劉穎仑氛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡锯岖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年介袜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片出吹。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡遇伞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捶牢,到底是詐尸還是另有隱情鸠珠,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布叫确,位于F島的核電站,受9級特大地震影響芍锦,放射性物質(zhì)發(fā)生泄漏竹勉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一娄琉、第九天 我趴在偏房一處隱蔽的房頂上張望次乓。 院中可真熱鬧,春花似錦孽水、人聲如沸票腰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杏慰。三九已至,卻和暖如春炼鞠,著一層夾襖步出監(jiān)牢的瞬間缘滥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工谒主, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朝扼,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓霎肯,卻偏偏與公主長得像擎颖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子观游,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 隱含規(guī)則 在我們使用Makefile時搂捧,有一些我們會經(jīng)常使用,而且使用頻率非常高的東西懂缕,比如异旧,我們編譯C/C++的...
    Stan_Z閱讀 398評論 0 0
  • 最近在寫makefile記錄一下,一個簡單通用的makefile直接放到.c和.h下 輸入make即可提佣。幫助初學者...
    Blizzard_5f3d閱讀 1,672評論 0 0
  • 1.Makefile規(guī)范 target 這 一 個 或 多 個 的 目 標 文 件 依 賴 于prerequisi...
    G風閱讀 1,891評論 0 3
  • 來自陳浩的一片老文吮蛹,但絕對營養(yǎng)荤崇。 示例工程:3 個頭文件*.h,和 8 個 C 文件*.c潮针。 初 編譯過程术荤,源文件...
    周筱魯閱讀 4,696評論 0 17
  • 說來奇怪瓣戚,我愛做飯,但我絕對不是美食家焦读。 記得曾經(jīng)的蘇州游子库,朋友拉著我們東跑西跑地去尋覓美食。 她是事先做好了美食...
    易安Yann閱讀 242評論 0 2