Makefile编译部分文件夹的写法
当文件夹中有许多文件一起编译时我们通常会将makefile文件写成遍历模式,如下所示:
.PHONY:clean all
all:@for x in `find ./ -maxdepth 2 -mindepth 2 -name "Makefile" `; \do cd `dirname $$x`; if [ $$? ]; then make || exit 1; cd ../; fi; doneclean:$(components)@for x in `find ./ -maxdepth 2 -mindepth 2 -name "Makefile" `; \do cd `dirname $$x`; if [ $$? ]; then make clean; cd ../; fi; done
但是如果我们并不想全部编译呢?该怎么写呢?可以试试 filter-out,定义一个变量,将其从文件夹中过滤出来。
具体如下:
exclude_components =include
exclude_components +=wifi***
components := $(shell find . -maxdepth 1 -type d)
components := $(basename $(patsubst ./%,%,$(components)))
components := $(filter-out $(exclude_components), $(components))
.PHONY:clean all
all:@echo $(components)@for comp in $(components);do make -C $$comp||exit;doneclean:$(components)@for comp in $(components);do make -C $$comp clean;done
Makefile编译部分文件夹的写法相关推荐
- 在Makefile中创建文件夹指令
$(shell mkdir -p $(PACKAGE_PATH)/updater/src/.profile) 在updater/src目录下创建.profile文件夹
- 编写Makefile:编译当前文件夹以及子文件夹下所有的ccpp文件并生成可执行文件
makevar: (预定义一些变量,包括编译器,g++/gcc编译的参数,全局宏定义等,该文件会包含在Makefle中) KE := make CC := gcc CXX := g++ CXXFLAG ...
- Lichee(三) Android4.0该产品的目标文件夹,Lichee链接---extract-bsp
由<Lichee() 在sun4i_crane平台下的编译>介绍了编译lichee的基本情况,我们终于得到了编译后的结果例如以下: out/ ├── android │ ├── bIm ...
- ASP.NET中App_Code,App_Data等文件夹的作用
ASP.NET中App_Code,App_Data等文件夹的作用 1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程 序集.该目录中存在的任何.dl ...
- ASP.NET中App_Code,App_Data等文件夹的作用转
1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程序集.该目录中存在的任何.dll文件将自动地链接到应用程序. 2. App_Browser文件夹 ...
- IDEA 的文件夹的类型说明
IDEA 的文件夹的类型 设置文件夹方法 或者点击右上角的 文件夹的类型选择:可通过,右键文件夹,选择你要的类型: Sources Root : 源码的目录 Resources Root:源码所需资源 ...
- webpack 读取文件夹下的文件_TypeScript完全解读(26课时)_1.TypeScript完全解读-开发环境搭建...
1.TypeScript完全解读-开发环境搭建 初始化项目 手动创建文件夹 D:\MyDemos\tsDemo\client-demo 用VSCode打开 npm init:初始化项目 然后我们的项目 ...
- 学习:ASP.NET中App_Code,App_Data等文件夹的作用(转)
1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需要引用的任何其他代码的可部署程序集.该目录中存在的任何.dll文 件将自动地链接到应用程序. 2. App_Browser ...
- Eclipse中SVN过滤指定文件夹或文件下内容
Eclipse中SVN过滤指定文件夹或文件下内容 通过Eclipse开发过程中,大多数正式项目都会通过SVN等管理,所以在使用SVN中,难免会遇到不需要或不允许提交的文件列表出现同步列表里(例如An ...
最新文章
- JavaScript初学者编程题(7)
- Unity UGUI 小知识
- 萌新发问:MyBatis日志到底是如何做到兼容所有常用日志框架的?
- kafka安装、配置、启动、常用命令及shell启动脚本编写
- layui获得列表json数据_golang实战开发之博客功能篇:文章列表的读取与展示和分类筛选展示处理...
- linux中央服务器,如何在Linux上搭建一个Git中央仓库
- 基于Spring Cloud微服务化开发平台-Cloud Platform后台管理系统 v3.1.0
- ExtJS学习之路第三步:理解引擎之下,ExtJS4中的类
- RPG 学习 一 基本
- stm32F103 模拟I2C mpu6050收到数据全为0,或者地址为209,104,0x68,0xD0的一些解决办法总结
- Linux 集群搭建
- 如果更快的访问ESS系统?
- 爬取豆瓣电影排行榜(评分)
- 实战——登陆注册管理后台
- 阿里云 企业邮箱域名解析(DNS)
- C++ 单词转换例子
- gmail通讯录同步
- 地鼠宝宝的轶事奇闻之线程模型
- Oracle数据库常见问题及解决办法
- Python-pytest、unittest