make、makefile和cmake简单介绍

make、makefile和cmake的关系

提到make,makefile就不得不提GNU,GNU是“GNU’s Not Unix”的递归缩写,代表一套向上兼容Unix的完全自由的操作系统。开发GNU系统的工程叫做“GNU工程”。 GNU工程并不限于核心操作系统。目标是提供一个完整的软件系列。很多人记住了Linus Torvalds,但并不知道Stallman是谁。Linus开发了Linux,而Stallman是GNU的早期发起者。将Linux与GNU系统结合在一起就是一个完全的操作系统:GNU/Linux系统。顺便一提,MinGW是 "Minimalist GNU for Windows"的缩写, 是Windows操作系统下最小GNU开发环境,提供完整的开发工具集,包含gcc、g++和gfortran等编译器。

在大型工程项目中,源文件成千上万,由于文件之间复杂的依赖关系,直接使用命令行编译大型工程项目是不现实的,此时,makefile应运而生。如何修改了哪个文件,就编译修改的那个文件,而不是重新编译整个工程。通俗来说,makefile是一种脚本语言,make是makefile的解释器。makefile拥有特定的语法规则,规定了文件编译的先后顺序,同时可以集成操作系统的各种命令。

makefile的基本格式为:

target:dependency
	command

target:目标文件
dependency:依赖文件
command:根据命令由依赖文件生成目标文件
makefile一定程度上实现了工程自动化,但是makefile存在跨平台的问题,不同平台的makefile不同,需要重新编写,所以出现cmake,自动生成makefile。

cmake安装

使用源码安装方式
1、下载源码

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

2、解压

tar -xvzf cmake-2.8.10.2.tar.gz

3、进入解压目录

cd cmake-2.8.10.2

4、指定安装位置

./configure --prefix=/opt/module/cmake

5、编译

gmake

6、安装

gmake install

可以卸载
使用gmake uninstall
配置环境变量
source /etc/profile

执行命令cmake -version显示版本号,表示安装成功。

cmake简单示例

1、在目录mktest下创建hello.c 和CMakeLists.txt文件和build目录
CMakeLists.txt文件内容

cmake_minimum_required (VERSION 2.8)
project (hello)
add_executable(hello hello.c)

2、在build目录下执行cmake …(指定CMakeLists.txt文件和生成的makefile文件的位置),生成makefile文件
3、在build目录下执行make命令,生成可执行文件hello
4、运行可执行文件hello

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值