日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个能自动搜索源文件并自动推导的Makefile

發(fā)布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个能自动搜索源文件并自动推导的Makefile 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

From:?http://blog.csdn.net/yuliying/article/details/49635485


這份makefile可以將當(dāng)前makefile所在文件夾以及所有子文件夾中的cpp文件打包成靜態(tài)庫和動態(tài)庫.
稍作修改目標(biāo)也可以用來編譯為可執(zhí)行文件。
自動生成所有依賴關(guān)系,修改任何文件都可以觸發(fā)重新編譯相應(yīng)依賴的文件。

在Ubuntu 和 OSX 系統(tǒng)測試通過。


SHELL = /bin/bashAllDirs := $(shell ls -R | grep '^\./.*:$$' | awk '{gsub(":","");print}') . Sources := $(foreach n,$(AllDirs) , $(wildcard $(n)/*.cpp)) Objs := $(patsubst %.cpp,%.o, $(Sources)) Deps := $(patsubst %.cpp,%.d, $(Sources)) StaticLib := libyy.a DynamicLib := libyy.so#AllLibs : $(StaticLib) $(DynamicLib) AllLibs : $(StaticLib) CC = g++ CXXFLAGS = -std=c++11 -g -O2 -fPIC -Wall CPPFLAGS = $(foreach n,$(AllDirs) , -I$(n)) LDFLAGS = -lstdc++$(StaticLib) : $(Objs)ar rcs $@ $^$(DynamicLib) : $(Objs)gcc -shared -o $@ $^ $(LDFLAGS)%.d : %.cpp$(CC) -MT"$(<:.cpp=.o) $@" -MM $(CXXFLAGS) $(CPPFLAGS) $< > $@sinclude $(Deps).PHONY : clean clean: rm -f $(Objs) $(Deps) $(StaticLib) $(DynamicLib)

?以下為我自己整理過的Makefile

AllDirs := $(shell ls -R | grep '^\./.*:$$' | awk '{gsub(":","");print}') . Sources := $(foreach n,$(AllDirs) , $(wildcard $(n)/*.cpp)) Objs := $(patsubst %.cpp,%.o, $(Sources)) Deps := $(patsubst %.cpp,%.d, $(Sources))CC = gcc CXX = g++ RM = rm -f CXXFLAGS = -g -O2 -fPIC -Wall #CPPFLAGS = $(foreach n,$(AllDirs), -I$(n)) CPPFLAGS = -Iinclude LDFLAGS = TARGET = ddzAppall: $(TARGET)$(TARGET): $(Objs)$(CXX) -g -o $@ $^ $(LDFLAGS)%.d : %.c$(CC) -MT"$(<:.cpp=.o) $@" -MM $(CXXFLAGS) $(CPPFLAGS) $< > $@%.d : %.cpp$(CXX) -MT"$(<:.cpp=.o) $@" -MM $(CXXFLAGS) $(CPPFLAGS) $< > $@sinclude $(Deps).PHONY : cleanclean: $(RM) $(Objs) $(Deps) $(TARGET)



總結(jié)

以上是生活随笔為你收集整理的一个能自动搜索源文件并自动推导的Makefile的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。