-
Notifications
You must be signed in to change notification settings - Fork 25
/
Makefile
139 lines (121 loc) · 3.04 KB
/
Makefile
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# Copyright (c) 2015-2022, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
gopregeneratedirs = \
ihtml/make-static-content
gopkgdirs = \
bucketstats \
conf \
iauth \
ihtml \
ilayout \
retryrpc \
utils \
version \
icert/icertpkg \
ickpt/ickptpkg \
iclient/iclientpkg \
imgr/imgrpkg \
iswift/iswiftpkg
goplugindirs = \
iauth/iauth-swift
gobindirs = \
icert \
ickpt \
iclient \
idestroy \
imgr \
iswift
godirsforci = $(gopkgdirs) $(gobindirs)
godirpathsforci = $(addprefix github.com/NVIDIA/proxyfs/,$(godirsforci))
generatedfiles := \
coverage.coverprofile
minimal: pre-generate generate build
all: fmt minimal test
ci: all cover
.PHONY: all bench build ci clean cover fmt generate minimal pre-generate test
bench:
@set -e; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir bench; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir bench; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir bench; \
done
build:
@set -e; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir build; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir build; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir build; \
done
clean:
@set -e; \
for godir in $(gopregeneratedirs); do \
$(MAKE) --no-print-directory -C $$godir clean; \
done; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir clean; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir clean; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir clean; \
done; \
for generatedfile in $(generatedfiles); do \
rm -f $$generatedfile; \
done; \
rm -f go-acc
cover:
@set -e; \
go get -u github.com/ory/go-acc; \
go build github.com/ory/go-acc; \
./go-acc -o coverage.coverprofile $(godirpathsforci)
fmt:
@set -e; \
for godir in $(gopregeneratedirs); do \
$(MAKE) --no-print-directory -C $$godir fmt; \
done; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir fmt; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir fmt; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir fmt; \
done
generate:
@set -e; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir generate; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir generate; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir generate; \
done
pre-generate:
@set -e; \
for godir in $(gopregeneratedirs); do \
$(MAKE) --no-print-directory -C $$godir build; \
done
test:
@set -e; \
for godir in $(gopkgdirs); do \
$(MAKE) --no-print-directory -C $$godir test; \
done; \
for godir in $(goplugindirs); do \
$(MAKE) --no-print-directory -C $$godir test; \
done; \
for godir in $(gobindirs); do \
$(MAKE) --no-print-directory -C $$godir test; \
done; \