Make 构建工具

转载:
https://www.ruanyifeng.com/blog/2015/02/make.html
https://seisman.github.io/how-to-write-makefile/overview.html

概念

make是一个命令工具,一般linux都有自带

可以做到对整个工程完全自动编译

规则(rules)

<target 目标> : <prerequisites 前置条件> 
[tab]  <commands 命令>

"目标"是必需的,不可省略;
"前置条件"和"命令"都是可选的,但是两者之中必须至少存在一个。

  • 执行
make target

目标

可以是一个文件名,也可以是多个文件名,伪目标(操作名)

为防止 伪目标 与 文件名重复,用.PHONY: 声明伪目标

.PHONY: 伪目标1 伪目标2 ...

前置条件

通常是一组文件名
只要有一个前置文件不存在,或者有过更新(前置文件的last-modification时间戳比目标的时间戳新),"目标"就需要重新构建

命令

一行或多行的Shell命令组成


Makefile文件

规则都写在一个叫做Makefile的文件中,Make命令依赖这个文件进行构建

变量

# 定义变量 txt 
txt = Hello World
test:
    @echo $(txt) # 打印变量 txt 

传入变量参数

make build VAR=value
build:
	echo $(VAR)

例:编译go项目

.PHONY: build

GOCMD=GO111MODULE=on go
BINARY=bin/gorun

build:
	@echo "build go binary..."
	${GOCMD} build ${GOARGS} -o ${BINARY} main.go
	@echo "build go binary done"

make -f ${makefile文件名} -C ${makefile的目录} build
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值