GNU Make Doc Index

本文详细介绍GNUMake4.1在Ubuntu18.04.4LTS环境下的使用方法,涵盖make作为项目管理工具的基本概念,以及通过具体实例展示如何创建和使用makefile文件来管理目标和依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GNU Make Doc Index

个人 网址:GNU Make Doc Index

文章说明

本教程使用环境

  • GNU Make: 4.1
  • system: ubuntu 18.04.4 LTS
~# make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
~# uname -a 
Linux mylinux 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

~# lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

make

make 是项目管理工具,主要解决 目标依赖 之间的关系,能够根据用户自定义的规则增量式更新 目标。和 git 一样属于通用工具,make 不局限于代码程序,也包括文档文件管理。

makefile

makemakefile 文件中读取具体规则1,解析规则来执行 命令makefile 包含多条规则,每条格则都具有如下格式:

target : prerequisites
	[tab]recipe
  • target:目标,该条规则要生成的目标,一个 makefile 可以有多个 目标最终目标中间目标),但每项规则仅能有以一个 目标

  • prerequisites:依赖,生成 目标 所需要的所有文件列表

  • recipe:命令,由 依赖 生成 目标 的具体命令。默认以 tab 启示表示该行为命令行2

a simple example

通过以以一个简单的例子感受一下,由 a.txt, b.txt 生成 add.txt

Makefile

add.txt: a.txt b.txt
	cat a.txt b.txt > add.txt

clean: add.txt
	rm add.txt

a.txt

I am A

b.txt

I am B

执行 make -f Makefile,会生成 add.txt

I am A
I am B

make clean 会删除 add.txt

make 简介就到此为止了
全文参考官方英文文档,进一步拓展
官方文档很重要,一定要去读,即使有现成的翻译版

参考链接

GNU make manual


  1. make 默认按照 GNUmakefile, makefile, Makefile 的文件名顺序判定为 makefile 文件,也可以指定文件名作为 makefile 文件: make -f filename。官方建议使用 Makefile ↩︎

  2. 可以通过设置 .RECIPEPREFIX 变量值更改命令行启始标志符 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值