GNU make概述

Make是类Unix系统提供的一个工具程序(Utility Software),属于GUN toolchain中的一员。用于编译和自动化构建产品,尤其适用于大规模的系统工程。

与Shell类型(shell命令解释器和shell语言),GNU make由make工具和makefile两部分构成。make是一个命令工具,它解释makefile中的语法规则。makefile有自己的书写格式、关键字和函数,这个文件告诉make以何种方式编译源代码和链接程序。

make在解释makefile时,不是简单地重新进行编译、链接。能够针对修改的源文件,自动完成源文件对应.o文件的更新、库文件的更新、可执行文件的更新。如果make判断“文件时间戳”晚于上次编译时的“时间戳”,就表明次文件在上次编译之后重新被修改过,需要重新编译;如果时间戳同上次一样没有变化,就不需要重新编译。

makefile定义了文件的依赖关系,在大规模的系统工程中,源文件成千上万,文件间通常彼此依赖且关系复杂,如果用户修改了一个其他文件依赖的文件,则必须重新编译所有的文件,工作量巨大。makefile文件中规定了这些依赖关系,指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译等等。用户只需要输入make命令,整个工程完全自动编译。

许多现代软件的开发中,集成开发环境已经取代make(Windows的IDE本身有自动化构建的功能),也有自动生成makefile文件的工具(Cmake等)。但是在Unix环境中,仍然有工程采用make来协助软件开发。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值