Makefile入门学习(linux)

Makefile语法

Makefile由一组 rules 组成。 rule通常如下所示:

targets: prerequisites
	command
	command
	command
  • targets (目标) 是文件名,用空格分隔。 通常,每个rule只有一个。

  • commands (命令) 是通常用于创建目标的一系列步骤。 这些 需要以制表符 开头,不可以是空格。

  • prerequisites(先决条件) 也是文件名,用空格分隔。 在运行目标的命令之前,这些文件需要存在。 这些也称为 dependencies(依赖项)

    快速示例

以下Makefile最终运行所有三个目标。 当你在终端运行make时,它会按一系列步骤构建一个名为blah的程序:

  • make选择目标blah,因为第一个目标是默认目标
  • blah需要blah.o, 因此搜索blah.o目标
  • blah.o 需要 blah.c,所以搜索 blah.c 目标
  • blah.c 没有依赖关系,所以运行echo命令
  • 然后运行 cc -c 命令,因为所有 blah.o 依赖关系都查询完成了
  • 运行顶部的cc命令,因为所有的blah依赖都已完成
  • 就是这样得到: blah一个编译完成的c程序
blah: blah.o
	cc blah.o -o blah # 第三位运行

blah.o: blah.c
	cc -c blah.c -o blah.o # 第二位运行

# 通常情况下,blah.c已经存在,但我想限制任何其他所需的文件
blah.c:
	echo "int main() { return 0; }" > blah.c # 写入blah.c文件,首先运行
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值