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. Good Bye 2018 (A~F, H)

    目录 Codeforces 1091 A.New Year and the Christmas Ornament B.New Year and the Treasure Geolocation C.N ...

  2. 2017-9-8-WLW尝试

    666 main () { int abc int def } #include<stdio.h> int main() { printf("hello world!\n&quo ...

  3. 2006 ACM 求奇数的和

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2006 注意 sum=1,写在while 不然每次结果会累积 #include <stdio.h> ...

  4. GPIOLED配置、key、中断NVIC配置

    #include "stm32f10x.h" #include "stm32f10x_gpio.h" //内核,(NVIC) #include "mi ...

  5. redis(一)

    NoSQL简介 NoSQL,全名为Not Only SQL,指的是非关系型的数据库 随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来 优点/缺点 优点: 高可扩展性 分布式计算 ...

  6. Egret引擎的常用倒计时

    直接上代码, private timeControl() { let timer: egret.Timer = segret.Timer(); timer.addEventListener(egret ...

  7. layUI模块化框架

    layUI的API 文档 https://www.layui.com/doc/element/progress.html API文档中有许多demo 以及相关属性的详细介绍

  8. kindeditor富文本编辑器初步使用教程

    下载kindeditor 可以选择去官网下载(http://kindeditor.net/down.php),不过要FQ:或者直接CSDNhttp://download.csdn.net/downlo ...

  9. margin塌陷

    我工作基本上就是写业务逻辑,不怎么写页面就一直觉得页面布局特高深.有天我同事问我,知道margin塌陷是什么东西不,我说我不知道(反正我也不用,管他呢),他说面试的时候问的(...那这必须得去看啊). ...

  10. JAVA中使用LOG4J记录日志(转)

    在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日 ...