一个能自动搜索源文件并自动推导的Makefile
From: http://blog.csdn.net/yuliying/article/details/49635485
这份makefile可以将当前makefile所在文件夹以及所有子文件夹中的cpp文件打包成静态库和动态库.
稍作修改目标也可以用来编译为可执行文件。
自动生成所有依赖关系,修改任何文件都可以触发重新编译相应依赖的文件。
在Ubuntu 和 OSX 系统测试通过。
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)
一个能自动搜索源文件并自动推导的Makefile相关推荐
- html做一个京东搜索功能,连续动作:自动搜索关键词采集信息—以京东为例
一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...
- 【190115】一个简单的P2P网络播放器,可自动搜索资源源代码
源码下载简介 一个简单的P2P网络播放器,可自动搜索资源,可手动控制播放,自动获取媒体文件的属性信息,比如标题.艺术家.演唱者.出版年份.专辑等. 源码下载地址:点击下载 备用下载地址:点击下载
- 【新】欢庆网自动搜索请柬console方法,面对多种网站改版的情况
//自动搜索指定的请柬 var alertTipText = "请柬找到了,就在这个网页里面,自己仔细看吧"; var delay = 1 * 1000;//1秒后循环下一页寻找 ...
- 【小妙招】【旧版】欢庆网自动搜索请柬console方法
如何快速找到欢庆网的请柬网址 第一步: 打开欢庆网,点开婚礼请柬列表页面 第二步: 在当前网页按F12 第三步: 复制以下代码 //自动搜索指定的请柬 var delay = 1 * 1000;//1 ...
- PHP自动搜索框post,php搜索框提示(自动完成)实例代码_PHP教程
百度的搜索大家都在用,当用户输入文字时,搜索框下面自动提示相关的信息,加强了用户体验,的确不错,那么这个效果是如何实现的呢 先看一下效果图吧,这样更有动力,要不然大家还不知道我在讲什么,到底要达到什么 ...
- 「AI初识境」激活函数:从人工设计到自动搜索
https://www.toutiao.com/a6694433329048977927/ 这是专栏<AI初识境>的第4篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...
- 【AutoML】损失函数也可以进行自动搜索学习吗?
大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化目标设计中的应用. 作者&编辑 | 言有三 一个有效的损失函数在深度 ...
- 【AutoML】优化方法可以进行自动搜索学习吗?
大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化方法选择中的应用. 作者&编辑 | 言有三 要成功训练一个深度学习模 ...
- 【AI初识境】激活函数:从人工设计到自动搜索
文章首发于微信公众号<有三AI> [AI初识境]激活函数:从人工设计到自动搜索 这是专栏<AI初识境>的第4篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...
最新文章
- [转载]Python爬取豆瓣影评并生成词云图代码
- 九章算法【总结】Java 搞定链表-面试常考题目精选
- C# Json 序列化与反序列化二
- 【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
- 使用Windows Server2012或R2 DHCP故障转移群集需要注意的几点
- IOS上传代码到CocoaPods并通过Pod下载
- OpenStack icehouse系列之计算节点搭建
- 隔壁大爷都会网络布线啦、搞起来搞起来
- 计算机网络钟提供并管理,在计算机网络中通常把提供并管理共享资源的计算机称为...
- python爬取歌曲评论_python 爬取歌曲评论的简单示例
- iOS开发之share第三方登录以及分享
- UVA - 1368 ​​​​​​​DNA Consensus String
- L2-1 包装机 (25 分)
- 160805、oracle查询:取出每组中的第一条记录
- 【Cocoa(mac) Application 开发系列之二】总结一些常用控件及自定义View
- Labview双通道虚拟示波器完整程序 实现功能如下图
- Android TextView中划线、下划线、跑马灯的简单使用
- 添加指定的元素,到指定的位置,后面的元素整体后移一位
- 0基础学MySQL数据库—从小白到大牛(23)逻辑架构
- 排序算法(希尔排序)