makefile 在每次目标调用时增加参数值
makefile increase argument value on each target call
我用我想自动增加补丁值的版本制作文件,当我 运行make pr
TAG = 0.0.1
pr:
docker build -t $(REGISTRY)/$(APP):$(TAG) .
我想每次 运行 make pr
它都会增加数字,
没关系,只增加最后一个数字
喜欢make pr
TAG = 0.0.2
又过了8次
TAG = 0.0.10
还有90个
TAG = 0.0.100
使用 GNU make 你可以做到:
TAG = 0.0.${PR}
-include .pr.mk
PR ?= 0
pr: FORCE
@echo ${TAG}
.pr.mk:
@rm -f $@
@echo "PR=$$(( ${PR} + 1 ))" > $@
FORCE:
.PHONY: FORCE .pr.mk
您可以使用 shell 变量而不是 Make 变量:
pr:
read TAG < nnn; docker build -t $(REGISTRY)/$(APP):0.0.$$TAG; echo $$((TAG+1)) > nnn
编辑: 这假定名为 nnn
的文件最初包含“1”。
我用我想自动增加补丁值的版本制作文件,当我 运行make pr
TAG = 0.0.1
pr:
docker build -t $(REGISTRY)/$(APP):$(TAG) .
我想每次 运行 make pr
它都会增加数字,
没关系,只增加最后一个数字
喜欢make pr
TAG = 0.0.2
又过了8次
TAG = 0.0.10
还有90个
TAG = 0.0.100
使用 GNU make 你可以做到:
TAG = 0.0.${PR}
-include .pr.mk
PR ?= 0
pr: FORCE
@echo ${TAG}
.pr.mk:
@rm -f $@
@echo "PR=$$(( ${PR} + 1 ))" > $@
FORCE:
.PHONY: FORCE .pr.mk
您可以使用 shell 变量而不是 Make 变量:
pr:
read TAG < nnn; docker build -t $(REGISTRY)/$(APP):0.0.$$TAG; echo $$((TAG+1)) > nnn
编辑: 这假定名为 nnn
的文件最初包含“1”。