makefile檔案的乙個模板

2021-06-28 11:50:43 字數 1024 閱讀 6525

cc=g++

ccopts=-g -rdynamic -i. -i/usr/local/include

ldopts=-l/usr/local/lib -l/usr/local/lib64 -l. -lpthread -lboost_thread -lboost_filesystem -lboost_system \

-lboost_program_options 

#巨集定義

mongo_defs = -dmongo_test

#ccopts += $(defs)

#生成的執行檔案

target=fuse_test

ifdef mongo_defs

ccopts += $(mongo_defs)

ldopts +=  -lmongoclient

endif

#src files

srcs = fuse_test.cpp \

files_oper.cpp \

options.cpp   \

utils.cpp   \

threads_inte***ce.cpp  \

mongo_oper.cpp

#標頭檔案查詢路徑

inc = -i. -i/usr/local/include

#目標檔案

objs = $(srcs:.cpp=.o)

#鏈結為可執行檔案

$(target):$(objs)

$(cc) -o $@ $^  $(ldopts)

clean:

rm -rf $(target) $(objs)

#連續動作,請清除再編譯鏈結,最後執行

exec:clean  $(target)

@echo start run

./$(target)

@echo stopped

#編譯規則 $@代表目標檔案,$< 代表第乙個依賴檔案

%.o:%.cpp

$(cc) $(ccopts) $(inc) -o $@ -c $<

makefile的乙個模板

include i.include i usr local include libxml2 i usr local ssl include i usr local include target agent lib lstdc lrt lpthread lxml2 objs patsubst cpp,...

乙個比較標準的makefile檔案

inc path i.lib path l.lib lib lxlog lpthread liconv lmd5 cc g cppflags wall inc path g objs src spider.o src s hash.o src html store.o src utils.o src...

編寫乙個通用的Makefile檔案

1.1在這之前,我們需要了解程式的編譯過程 a.預處理 檢查語法錯誤,展開巨集,包含標頭檔案等 b.編譯 c s c.彙編 s o 1.2體驗在vc下程式的編譯 a.先編譯,在鏈結 b.修改了哪個檔案,就單獨編譯此檔案,在鏈結 c.修改了哪個標頭檔案,就單獨編譯使用該標頭檔案的原始檔,在鏈結 1.3...