@@ -146,42 +146,26 @@ $(BINDIR)/service-catalog: .init .generate_files cmd/service-catalog
146
146
147
147
# This section contains the code generation stuff
148
148
# ################################################
149
- .generate_exes : $(BINDIR ) /defaulter-gen \
150
- $(BINDIR)/deepcopy-gen \
151
- $(BINDIR)/conversion-gen \
152
- $(BINDIR)/client-gen \
153
- $(BINDIR)/lister-gen \
154
- $(BINDIR)/informer-gen \
155
- $(BINDIR)/openapi-gen
156
- touch $@
157
-
158
- $(BINDIR ) /defaulter-gen : .init
159
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/defaulter-gen
160
-
161
- $(BINDIR ) /deepcopy-gen : .init
162
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/deepcopy-gen
163
-
164
- $(BINDIR ) /conversion-gen : .init
165
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/conversion-gen
166
-
167
- $(BINDIR ) /client-gen : .init
168
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/client-gen
149
+ GENERATORS = $(addprefix $(BINDIR ) /, defaulter-gen deepcopy-gen conversion-gen \
150
+ client-gen lister-gen informer-gen openapi-gen)
169
151
170
- $( BINDIR ) /lister-gen : .init
171
- $( DOCKER_CMD ) go build -o $@ $( SC_PKG ) /vendor/k8s.io/code-generator/cmd/lister-gen
152
+ .PHONY : generators
153
+ generators : $( GENERATORS )
172
154
173
- $(BINDIR ) /informer-gen : .init
174
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/informer-gen
155
+ .SECONDEXPANSION :
175
156
176
- $(BINDIR ) /openapi-gen : vendor/k8s.io/code-generator/cmd/openapi-gen
177
- $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /$^
157
+ # We specify broad dependencies for these generator binaries: each one depends
158
+ # on everything under its source tree as well as gengo's. This uses GNU Make's
159
+ # secondary expansion feature to pass $* to `find`.
160
+ $(BINDIR ) /% -gen : $$(shell find vendor/k8s.io/code-generator/cmd/$$* -gen vendor/k8s.io/gengo) .init
161
+ $(DOCKER_CMD ) go build -o $@ $(SC_PKG ) /vendor/k8s.io/code-generator/cmd/$* -gen
178
162
179
163
.PHONY : $(BINDIR ) /e2e.test
180
164
$(BINDIR ) /e2e.test : .init
181
165
$(DOCKER_CMD ) go test -c -o $@ $(SC_PKG ) /test/e2e
182
166
183
167
# Regenerate all files if the gen exes changed or any "types.go" files changed
184
- .generate_files : .init .generate_exes $(TYPES_FILES )
168
+ .generate_files : .init generators $(TYPES_FILES )
185
169
# generate apiserver deps
186
170
$(DOCKER_CMD ) $(BUILD_DIR ) /update-apiserver-gen.sh
187
171
# generate all pkg/client contents
@@ -242,10 +226,10 @@ verify-docs: .init
242
226
@echo Running href checker$(SKIP_COMMENT ) :
243
227
@$(DOCKER_CMD ) verify-links.sh -s .pkg -s .bundler -s _plugins -s _includes -t $(SKIP_HTTP ) .
244
228
245
- verify-generated : .init .generate_exes
229
+ verify-generated : .init generators
246
230
$(DOCKER_CMD ) $(BUILD_DIR ) /update-apiserver-gen.sh --verify-only
247
231
248
- verify-client-gen : .init .generate_exes
232
+ verify-client-gen : .init generators
249
233
$(DOCKER_CMD ) $(BUILD_DIR ) /verify-client-gen.sh
250
234
251
235
format : .init
@@ -302,7 +286,6 @@ clean: clean-bin clean-build-image clean-generated clean-coverage
302
286
303
287
clean-bin : .init $(scBuildImageTarget )
304
288
$(DOCKER_CMD ) rm -rf $(BINDIR )
305
- rm -f .generate_exes
306
289
307
290
clean-build-image : .init $(scBuildImageTarget )
308
291
$(DOCKER_CMD ) rm -rf .pkg
0 commit comments