概述

+ makefile 规则
  1. target 这一个或多个的目标文件依赖于 prerequisites 中的文件,其生成规则定义在 command 中.
  2. target 是一个目标文件, 可以是Object File, 也可以是执行文件, 还可以是一个标签(Label).
  3. Makefile的生成规则, 命令必须以 Tab 开头, 不能是空格.
  4. make 使用文件的创建时间和修改时间判断是否应该更新一个目标文件.
# 目标文件: 依赖文件1 依赖文件2
x.txt: m.txt c.txt
    # 生成规则
	cat m.txt c.txt > x.txt
# 目标文件: 依赖文件1 依赖文件2
m.txt: a.txt b.txt
    # 生成规则
	cat a.txt b.txt > m.txt
# .PHONY(伪目标)
# 将 clean 定义成伪目标,无论当前目录是否存在和 clean 重名的文件, 都会执行 rm 命令.
# 如果未将 clean 定义成伪目标,当目录存在一个 clean 文件时,不会执行 rm 命令.
.PHONY: clean
clean:
	rm -f m.txt
	rm -f x.txt
+ 执行多条命令
  1. 多条命令可以用 ; 分隔,写到一行.
  2. 多条命令可以用 \ 把一行语句拆分成多行.
  3. 多条命令可以用 && ,当某条命令执行失败时,后续命令不会继续执行.
+ makefile 使用变量

参考链接

  1. 和我一起写makefile
  2. 廖雪峰的博客