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相关推荐

  1. html做一个京东搜索功能,连续动作:自动搜索关键词采集信息—以京东为例

    一.操作步骤 如果网页上有搜索框,但是搜索结果页面没有独立网址,想要采集搜索结果,直接做规则是采集不到的,要先做连续动作(输入+点击)来实现自动输入关键词并搜索,然后才能采集数据.下面用京东搜索为例, ...

  2. 【190115】一个简单的P2P网络播放器,可自动搜索资源源代码

    源码下载简介 一个简单的P2P网络播放器,可自动搜索资源,可手动控制播放,自动获取媒体文件的属性信息,比如标题.艺术家.演唱者.出版年份.专辑等. 源码下载地址:点击下载 备用下载地址:点击下载

  3. 【新】欢庆网自动搜索请柬console方法,面对多种网站改版的情况

    //自动搜索指定的请柬 var alertTipText = "请柬找到了,就在这个网页里面,自己仔细看吧"; var delay = 1 * 1000;//1秒后循环下一页寻找 ...

  4. 【小妙招】【旧版】欢庆网自动搜索请柬console方法

    如何快速找到欢庆网的请柬网址 第一步: 打开欢庆网,点开婚礼请柬列表页面 第二步: 在当前网页按F12 第三步: 复制以下代码 //自动搜索指定的请柬 var delay = 1 * 1000;//1 ...

  5. PHP自动搜索框post,php搜索框提示(自动完成)实例代码_PHP教程

    百度的搜索大家都在用,当用户输入文字时,搜索框下面自动提示相关的信息,加强了用户体验,的确不错,那么这个效果是如何实现的呢 先看一下效果图吧,这样更有动力,要不然大家还不知道我在讲什么,到底要达到什么 ...

  6. 「AI初识境」激活函数:从人工设计到自动搜索

    https://www.toutiao.com/a6694433329048977927/ 这是专栏<AI初识境>的第4篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  7. 【AutoML】损失函数也可以进行自动搜索学习吗?

    大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化目标设计中的应用. 作者&编辑 | 言有三 一个有效的损失函数在深度 ...

  8. 【AutoML】优化方法可以进行自动搜索学习吗?

    大家好,欢迎来到专栏<AutoML>,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在优化方法选择中的应用. 作者&编辑 | 言有三 要成功训练一个深度学习模 ...

  9. 【AI初识境】激活函数:从人工设计到自动搜索

    文章首发于微信公众号<有三AI> [AI初识境]激活函数:从人工设计到自动搜索 这是专栏<AI初识境>的第4篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

最新文章

  1. [转载]Python爬取豆瓣影评并生成词云图代码
  2. 九章算法【总结】Java 搞定链表-面试常考题目精选
  3. C# Json 序列化与反序列化二
  4. 【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
  5. 使用Windows Server2012或R2 DHCP故障转移群集需要注意的几点
  6. IOS上传代码到CocoaPods并通过Pod下载
  7. OpenStack icehouse系列之计算节点搭建
  8. 隔壁大爷都会网络布线啦、搞起来搞起来
  9. 计算机网络钟提供并管理,在计算机网络中通常把提供并管理共享资源的计算机称为...
  10. python爬取歌曲评论_python 爬取歌曲评论的简单示例
  11. iOS开发之share第三方登录以及分享
  12. UVA - 1368 ​​​​​​​DNA Consensus String
  13. L2-1 包装机 (25 分)
  14. 160805、oracle查询:取出每组中的第一条记录
  15. 【Cocoa(mac) Application 开发系列之二】总结一些常用控件及自定义View
  16. Labview双通道虚拟示波器完整程序 实现功能如下图
  17. Android TextView中划线、下划线、跑马灯的简单使用
  18. 添加指定的元素,到指定的位置,后面的元素整体后移一位
  19. 0基础学MySQL数据库—从小白到大牛(23)逻辑架构
  20. 排序算法(希尔排序)

热门文章

  1. 草稿--Windows消息机制
  2. oracle10g随服务器启动而自动启动(linux as 5)
  3. 过程重要,还是结果重要?
  4. Visual Studio 2010 中的 SharePoint 开发
  5. 异常检测时间序列_时间序列的无监督异常检测
  6. 自定义按钮动态变化_新闻价值的变化定义
  7. 423. 从英文中重建数字
  8. Kubernetes 入门(1)基本概念
  9. 深度神经网络课程总结_了解深度神经网络如何工作(完整课程)
  10. chrome扩展程序_如何创建Chrome扩展程序