当前位置:首页 >> 计算机软件及应用 >> comake使用详解

comake使用详解


Comake2 使用详解 1、适用用户范围: 第一次使用 comake2 工具 使用 comake2 搭建环境:这时用户不需要关心 COMAKE 文件细节,和第一次使用 comake2 工具时的情形差不多,第一次使用 comake2 工具初始化环境 $mkdir --parent ps/se/ac/make $cd ps/se/ac/make $comake2 -S $comake2 -UB comake2 -S //初始化 COMAKE 文件 comake2 -S 表示从平台最新基线版本获取依赖列表;comake2 -S -r 1.0.1.0 表示从平台 1.0.1.0 版本获取依赖列表友情提示:如果你的代码库里已有 COMAKE 文件,可跳过这一步;如果 你的模块路径是 ps/se/ac/make,请 cd ps/se/ac/make 再执行 comake2 -S 命令 comake2 -UB //下载并编译依赖代码 2、comake2 命令 $ comake2 -h comake[com make]能够自动帮助用户搭建环境,并且生成 Makefile 工具. 程序会读取目录下面的 COMAKE 文件,产生 Makefile 和环境.用户需要提供这个 COMAKE 文件. 参数: -h --help 查看帮助 -D --debug 开启 debug 选项[默认不打开].-D -D 可以查看更多调试信息. -S --scratch 创建一个默认的 COMAKE 文件 -r --revision 从平台检出模块 cvspath 指定的 TAG 对应的依赖列表,配合-S 使用,如 -S -r 1.0.0.0 -E --export-configs 导出模块的 4 位版本依赖,存放在 COMAKE.CONFIGS 下面.比如-E public/ub@1.0.0.0 -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 构建环境时强制进行[默认不进行] -e --export-local-configs 导出本地环境到 CONFIGS.SCM 文件 -f --scmfile= 重现编译环境 -d --devdiff 存在本地修改的共同开发依赖列表(多模块共同开发时适用) -J --make-thread-number= 如果模块使用 COMAKE 生成的 Makefile 的话,编译线程数 [默认是 4] -j --modules-thread-number= 并发下载、编译模块的线程数[默认是 1] -K --keep-going 构建/更新环境中途出错的话,忽略错误继续[已废弃] -P --pretreatment 生成 Makefile 时不进行预处理[默认进行预处理] -O --quot-all-deps 生成 Makefile 时引用所有头文件依赖[默认过滤目录外依赖]

--parent-module 支持父子模块添加进编译依赖 --no-recursive 不递归生成每个目录下面的 Makefile[默认情况下是递归生成] --no-revert 不恢复依赖模块的本地修改,配合-U 使用[默认恢复] --time-compile-link 计时编译和链接时间[默认不打开] --recache 强制更新 comake2 缓存的依赖列表 --old-da 使用 2.1.2 及以前的依赖打平策略 --new-da 最新打平策略 在 help 中未列出的参数如下: --dump-da=da|dc|df|ds|dm 查看依赖完整关系图(分别以不同的形式组织, All|Collected|Flatten|Sorted|Map) -A --scmaudit 导出依赖树 --old-api --conf --dd= mode when analyzing deps. 指定 config 文件 CONF_FILE 和平台依赖模块进行对比 # --dd and --dump-cfgs share same

--dump-cfgs 列出所有依赖 --dump-cfgs-scmpf= 列出平台依赖 --get-remote-revision 与--dump-cfgs、--dd=等一起使用,获取依赖的代码当前最新版 本 --redirect-file= 与--dump-cfgs、--dd=等一起使用,将输出重定位到文件里 --show-unstable-urls 与--dump-cfgs、--dd=等一起使用,列出不稳定的编译依赖 --warn-downgrade-only 与--dump-cfgs、--dd=等一起使用,列出低版本 --permissive-guilty-workroot 容忍错误的工作环境(只提示不退出) 初始化 COMAKE:comake2 -S 搭建环境:基本命令是 comake2 -UB,其中-U 是下载代码,-B 是编译模块 并发搭建环境:comake2 -UB -j 4 表示并发 4 线程下载和编译模块 单线程编译:comake2 -B -J 1 表示使用 make 命令编译某个依赖模块时不进行并发(如该依 赖模块的 Makefile 不支持并发,则适用于该情况) ; 强制重新搭建环境:comake2 -UB -F,即使依赖已经编译过,也会重新编译 不 revert 本地修改:comake2 -UB --no-revert 生成 Makefile:comake2 [-P],-P 会跳过预处理环节,加快生成 Makefile 的过程 查看依赖完整关系图:comake2 -U --dump-da=da 查看本地修改的编译依赖模块:comake2 -d 和平台依赖进行对比:comake2 --dd=1.0.0.0 重现编译环境:comake2 --scmfile=模块名.COMAKE.CONFIGS.SCM 配置文件 COMAKE 语法 #coding:gbk 工作路径.层数=CVS 路径的层数 WORKROOT('../../') 使用硬链接 copy. CopyUsingHardLink(True) 支持 32 位/64 位平台编译

ENABLE_MULTI_LIBS(True) C 预处理器参数. CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') 为 32 位目标编译指定额外的预处理参数 CPPFLAGS_32('-D_XOPEN_SOURE=500') C 编译参数. CFLAGS('-g -pipe -W -Wall -fPIC') C++编译参数. CXXFLAGS('-g -pipe -W -Wall -fPIC') IDL 编译参数 IDLFLAGS('--compack') UBRPC 编译参数 UBRPCFLAGS('--compack') 头文件路径. INCPATHS('. ./include ./output ./output/include') 使用库 LIBS('./libci-tools.a') 链接参数. LDFLAGS('-lpthread -lcrypto -lrt') 依赖模块 CONFIGS('lib2/ullib') 为 32 位/64 位指定不同的依赖路径. CONFIGS_32('lib2/ullib') CONFIGS_64('lib2-64/ullib') user_sources='' user_headers='' 可执行文件 Application('ci-tools',Sources(user_sources)) 静态库 StaticLibrary('ci-tools',Sources(user_sources),HeaderFiles(user_headers)) 共享库 SharedLibrary('ci-tools',Sources(user_sources),HeaderFiles(user_headers)) 子目录 Directory('demo') 编译标签 元素名称 作用 example 注意事项 WORKROOT 当前工作路径 WORKROOT('../../') 最好使用相对路径 MakeThreadNumber 使用多少个线程进行 make MakeThreadNumber(4) 相当于执行使用 make -j[废弃] CopyUsingHardLink copy 使用硬链接 CopyUsingHardLink(True) ENABLE_MULTI_LIBS 多环境编译 ENABLE_MULTI_LIBS(True) 支持多环境编译,生成 32 位/64 位通用的 Makefile CPPFLAGS C 预处理参数 CPPFLAGS('-DGNU\_SOURCE') CFLAGS C 编译参数 CFLAGS('-g -Wall','-O2')

CXXFLAGS C++编译参数 CXXFLAGS('-g -Wall','-O2') INCPATHS 搜索头文件路径 INCPATHS('. ./include') 这里不要加上-I 前缀. INCPATHS 允许使用$开头,代表路径相对于 WORKROOT.比如 INCPATHS('$public/ub') LIBS 链接使用的库文件 LIBS('./libmock.a') LDFLAGS 链接参数 LDFLAGS('-lpthread -lcrypto') IDLFLAGS IDL 编译参数 IDLFLAGS('--compack --ns=mock') 实际上是 mcy 的编译参数 UBRPCFLAGS UBRPCGEN 编译参数 UBRPCFLAGS('--compack') PROTOFLAGS proto 编译参数 PROTOFLAGS('--proto_path=./') PROTOC protobuf 路径 PROTOC('../../thirdsrc/protobuf/install/bin/protoc') ImportConfigsFrom 从其他目录的 COMAKE 继承编译依赖 ImportConfigsFrom('..') ReplaceExtNameWith 替换文件后缀名 ReplaceExtNameWith('x.cpp y.cpp','.cpp','.o') GetEnv 获得环境变量 GetEnv('USER') 如果没有特定 key 的话,返回'undefined' BuildVersion 获取编译版本 BuildVersion() 等效于 GetEnv('COMAKE2_BUILD_VERSION') CCHECKFLAGS ccheck 参数 CCHECKFLAGS('-c cc.conf') PCLINTFLAGS pclint 参数 PCLINTFLAGS('-c pclint.conf')


赞助商链接
更多相关文档:

Linux make命令详解

Linux/Unix 环境下的 make 命令详解无论是在 Linux 还是在 Unix 环境中,make...如果要使用其他文件作 为 makefile,则可利用类似下面的 make 命令选项指定 make...

CMake 手册详解

CMake 手册详解_计算机软件及应用_IT/计算机_专业资料。cmake 入门CMake 手册详解公司的一个项目使用 CMake 作为跨平台构建工具;业务有需求,当然要好好研读一下官...

SAP CO功能详解

SAP CO功能详解_计算机软件及应用_IT/计算机_专业资料。1. 财会子系统概况 第...会计科目表由财务会计和成本及收入 要素会计共同 使用。 会计科目表中的项 目...

linux内核配置make_menuconfig菜单详解

linux内核配置make_menuconfig菜单详解_计算机软件及应用_IT/计算机_专业资料。该...(对配置脚本中使用的配置命令进 行解释)和配置用户界面(提供基于字符界面、基于...

GCC详解及makefile规则

GCC 编译详解 GNU CC(简称为 Gcc)是 GNU 项目中符合 ANSI C 标准的编译系统...Make 工程管理器 到此为止,读者已经了解了如何在 Linux 下使用编辑器编写代码,...

CO-IP实验步骤

CO-IP实验步骤_预防医学_医药卫生_专业资料。CO-IP 实验详解 一、实验材料详见...单克隆抗 体的使用有助于避免污染的发生; (3)要确保抗体的特异性,即在不...

Makefile文件格式详解

首先,我们用一个示例来说明 Makefile 的书写规则。以便给大家一个感兴认识。这个示例 来源于 GNU 的 make 使用手册,在这个示例中,我们的工程有 8 个 C 文件,...

U-BOOT中MAKEFILE详解

U-BOOT中MAKEFILE详解_信息与通信_工程科技_专业资料。U-BOOT中MAKEFILE详解U...doc 文档 开发使用文档 的源代码包含对几十种处理器、 数百种开发板的支持。...

Linux实验四

使用不同的选项,观察并分析显示结果 2、编写一个由多文件构成的 C 语言程序,...public.h #ifndef __MANYCO_MAKEFILE_PUBLIC_1 #define __MANYCO_MAKEFILE_...

Openwrt学习笔记_通用固件 make menuconfig配置_2015.8...

Openwrt学习笔记_通用固件 make menuconfig配置_2015.8.19修订 hulei663 |2015-10-01 | 5.0分(高于99%的文档)|9675|215 | 举报 ...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com