http://blog.csdn.net/lsjseu/article/details/23395565

comake允许用户通过编写COMAKE文件,来帮助用户管理编译依赖以及编译环境的开发工具;

comake是Python编写的,所需要的COMAKE文件也是实际也是一个python脚本. 不过comake在设计的时候尽量让用户感觉不到是在写脚本而更像是在写配置。

以下为速成应用笔记:

-----------------------

comake使用规范

COMAKE文件存放地址:

COMAKE文件必须存放在模块/父目录级别下(若项目在父目录级别编译发布,则在父目录下存放COMAKE),且必须保存完整一级依赖列表;

如何快速使用comake

$ comake2 -h

参数:

-h --help 查看帮助

-D --debug 开启debug选项[默认不打开].

-S --scratch 创建一个默认的COMAKE文件 

-r --revision 从平台检出模块cvspath指定的TAG对应的依赖列表,配合-S使用

-W --watch-configs 查看本地依赖模块.-W -W可以查看模块引入来源.-W -W -W可以查看依赖模块的依赖.

-I --import-files 在解释COMAKE文件之前导入模块

-C --change directory 切换到directory下面执行[默认当前目录]

-Q --quiet 安静模式[默认不打开]

-U --update-configs 更新环境 

-B --build-configs 构建环境 

-F --force 构建环境时强制进行[默认不打开]

1.   使用comake2 -S就可以在当前目录下面产生一个空COMAKE文件了,这样能够节省用户从头开发编写的时间.

2.   执行comake2 -UB下载、编译一级和二级依赖;

3.   然后用户只需要修改COMAKE文件,然后再次使用comake2,接着就会产生Makefile文件.然后就可以直接make了

使用comake2例子:四部曲

·(1)comake2 -S //初始化COMAKE文件

如果代码库里已有COMAKE文件,可跳过这一步;

·(2) comake2 -UB //下载依赖代码,编译这些依赖代码

·(3)comake2 //生成Makefile

(4)执行make命令编译

comake2的更多相关文章

  1. C/C++ makefile自动生成工具(comake2,autotools,linux),希望能为开源做点微薄的贡献!

      序     在linux下C或C++项目开发,Makefile是必备的力气,但是发现手写很麻烦. 在百度有个comake2工具,用于自动生成Makefile工具,而在外边本想找一个同类工具,但发现 ...

  2. 使用BLADE构建c++工程管理

    使用BLADE构建c++工程管理 字数764 阅读2753 评论2 喜欢4 一. c++工程依赖管理 之前在百度一直使用comake2构建c++项目,十分方便.免去了手写Makefile的痛苦,很多项 ...

  3. Makefile 快速入门

    Makefile 速成 标签: Makefile编译器 2015-06-06 18:07 2396人阅读 评论(1) 收藏 举报  分类: C/C++(132)  Linux & MAC(19 ...

随机推荐

  1. 理解Array.prototype.slice.call(arguments)

    在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理: 1.基本讲解 1.在 ...

  2. Redis自学笔记:3.3入门-散列类型

    3.3散列类型 3.3.1介绍 散列类型不能嵌套其他数据类型,一个散列类型可以包含至多232-1个字段 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的数据, 而字段值则存储属性值 ...

  3. SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置

    接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...

  4. Java并发编程(二)-- 创建、运行线程

    Java线程 Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类. Java可以用如下方式创建一个线程: Tread thread = new Thread ...

  5. Java笔记(六)列表和队列

    列表和队列 一)ArrayList 1.基本原理 ArrayList是一个泛型容器.内部会有一个数组elementData,一般会有预留空间 有一个整数记录实际的元素个数. private trans ...

  6. ACM/IOI 历年国家集训队论文集和论文算法分类整理

    国家集训队1999论文集 陈宏:<数据结构的选择与算法效率--从IOI98试题PICTURE谈起> 来煜坤:<把握本质,灵活运用--动态规划的深入探讨> 齐鑫:<搜索方法 ...

  7. ZKW线段树入门

    Part 1 来说说它的构造 线段树的堆式储存 我们来转成二进制看看 小学生问题:找规律 规律是很显然的 一个节点的父节点是这个数左移1,这个位运算就是低位舍弃,所有数字左移一位 一个节点的子节点是这 ...

  8. idea快捷键列表

    Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 C ...

  9. 小甲鱼Python第十四课后习题

    字符串格式化符号含义    符   号    说     明      %c    格式化字符及其ASCII码[>>> '%c' %97        'a']      %s    ...

  10. Javascript 字符串(二)常用操作整理

    一.js获取字符串的字节数 这个好使--- function getBytesLength(str) { // 在GBK编码里,除了ASCII字符,其它都占两个字符宽 return str.repla ...