diff --git a/tool/depot/create b/tool/depot/create index 3bcefba24..003435eed 100755 --- a/tool/depot/create +++ b/tool/depot/create @@ -42,6 +42,7 @@ extract: VERBOSE=$(VERBOSE) FORCE=$(FORCE) \ UPDATE_VERSIONS=$(UPDATE_VERSIONS) \ +$(MAKECMDGOALS): extract _versioned_src_of_bin = $1-$(call recipe_version,src/$(call bin_archive_recipe,$1)) _versioned_pkg = $1-$(call recipe_version,pkg/$(call bin_archive_recipe,$1)) @@ -49,12 +50,14 @@ _versioned_pkg = $1-$(call recipe_version,pkg/$(call bin_archive_recipe,$ versioned_archive = $(if $(call archive_has_type,$1,bin),$(call _versioned_src_of_bin,$1),\ $(if $(call archive_has_type,$1,pkg),$(call _versioned_pkg,$1))) -build: extract - $(VERBOSE)$(MAKE) -f $(GENODE_DIR)/tool/depot/build \ - $(foreach A,$(MAKECMDGOALS),$(call versioned_archive,$A))\ - VERBOSE=$(VERBOSE) FORCE=$(FORCE) \ - KEEP_BUILD_DIR=$(KEEP_BUILD_DIR) +# to be used within a rule body only (when the 'extract' rule has completed) +VERSIONED_ARCHIVES = $(strip $(foreach A,$(MAKECMDGOALS),$(call versioned_archive,$A))) +build: extract + $(if $(VERSIONED_ARCHIVES),\ + $(VERBOSE)$(MAKE) -f $(GENODE_DIR)/tool/depot/build $(VERSIONED_ARCHIVES) \ + VERBOSE=$(VERBOSE) FORCE=$(FORCE) \ + KEEP_BUILD_DIR=$(KEEP_BUILD_DIR)) $(MAKECMDGOALS): build @true