/
bindata.mk
65 lines (49 loc) · 1.34 KB
/
bindata.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
TMP_GOPATH :=$(shell mktemp -d)
.ensure-go-bindata:
ln -s $(abspath ./vendor) "$(TMP_GOPATH)/src"
export GO111MODULE=off && export GOPATH=$(TMP_GOPATH) && export GOBIN=$(TMP_GOPATH)/bin && go install "./vendor/github.com/jteeuwen/go-bindata/..."
# $1 - input dirs
# $2 - prefix
# $3 - pkg
# $4 - output
# $5 - output prefix
define run-bindata
$(TMP_GOPATH)/bin/go-bindata -nocompress -nometadata \
-prefix "$(2)" \
-pkg "$(3)" \
-o "$(5)$(4)" \
-ignore "OWNERS" \
$(1) && \
gofmt -s -w "$(5)$(4)"
endef
# $1 - name
# $2 - input dirs
# $3 - prefix
# $4 - pkg
# $5 - output
define add-bindata-internal
update-bindata-$(1): .ensure-go-bindata
$(call run-bindata,$(2),$(3),$(4),$(5),)
.PHONY: update-bindata-$(1)
update-bindata: update-bindata-$(1)
.PHONY: update-bindata
verify-bindata-$(1): .ensure-go-bindata
verify-bindata-$(1): TMP_DIR := $$(shell mktemp -d)
verify-bindata-$(1):
$(call run-bindata,$(2),$(3),$(4),$(5),$$(TMP_DIR)/) && \
diff -Naup {.,$$(TMP_DIR)}/$(5)
.PHONY: verify-bindata-$(1)
verify-bindata: verify-bindata-$(1)
.PHONY: verify-bindata
endef
update-generated: update-bindata
.PHONY: update-bindata
update: update-generated
.PHONY: update
verify-generated: verify-bindata
.PHONY: verify-bindata
verify: verify-generated
.PHONY: verify
define add-bindata
$(eval $(call add-bindata-internal,$(1),$(2),$(3),$(4),$(5)))
endef