Make:一个构建工具
Makefile: 构建规则

一个简单的例子

功能是将b.txt 和 c.txt合并到新文件a.txt

.
├── Makefile   # 构建规则
├── b.txt
└── c.txt

Makefile

a.txt: b.txt c.txt
	cat b.txt c.txt > a.txt

b.txt

b.txt

c.txt

c.txt

执行

$ make

Makefile格式

<目标target> : <前置条件prerequisites> 
[tab]  <命令commands>
  • 目标可以是文件名 或者 操作名"伪目标"(phony target)
  • 前置条件通常是一组文件名,之间用空格分隔
  • 命令由一行或多行的Shell命令组成
  • 注释 井号(#)
  • @ 关闭回声

伪目标示例

# 申明伪目标
.PHONY: echox

# 定义变量
msg = ''

# 目标
echox:
	@#  @关闭回声
	@echo $(msg)

通过命令行传递参数

$ make echox msg='hi'
hi

参考
阮一峰的网络日志-Make 命令教程