天天看点

构建工具:Make和Makefile

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 命令教程