天天看點

建構工具: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 指令教程