diff --git a/core/Makefile b/core/Makefile index b1b1ef4e23..97663362e4 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1145,8 +1145,12 @@ $(INSTALLED_FILES_FILE): $(INSTALLED_SYSTEMIMAGE) .PHONY: installed-file-list installed-file-list: $(INSTALLED_FILES_FILE) -$(call dist-for-goals, sdk, $(INSTALLED_FILES_FILE)) +ifneq ($(filter sdk win_sdk,$(MAKECMDGOALS)),) +$(call dist-for-goals, sdk win_sdk, $(INSTALLED_FILES_FILE)) +endif +ifneq ($(filter sdk_addon,$(MAKECMDGOALS)),) $(call dist-for-goals, sdk_addon, $(INSTALLED_FILES_FILE)) +endif # ----------------------------------------------------------------- # A zip of the tests that are built when running "make tests". @@ -1413,9 +1417,10 @@ $(INTERNAL_SDK_TARGET): $(deps) # Is a Windows SDK requested? If so, we need some definitions from here # in order to find the Linux SDK used to create the Windows one. +MAIN_SDK_NAME := $(sdk_name) +MAIN_SDK_DIR := $(sdk_dir) +MAIN_SDK_ZIP := $(INTERNAL_SDK_TARGET) ifneq ($(filter win_sdk,$(MAKECMDGOALS)),) -LINUX_SDK_NAME := $(sdk_name) -LINUX_SDK_DIR := $(sdk_dir) include $(TOPDIR)development/build/tools/windows_sdk.mk endif @@ -1441,3 +1446,10 @@ $(INTERNAL_FINDBUGS_HTML_TARGET): $(INTERNAL_FINDBUGS_XML_TARGET) # These are some additional build tasks that need to be run. include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk)) -include $(sort $(wildcard vendor/*/build/tasks/*.mk)) + +# ----------------------------------------------------------------- +# Create SDK repository packages. Must be done after tasks/* since +# we need the addon rules defined. +ifneq ($(sdk_repo_goal),) +include $(TOPDIR)development/build/tools/sdk_repo.mk +endif diff --git a/core/main.mk b/core/main.mk index cb8f5d7605..bce1a9e443 100644 --- a/core/main.mk +++ b/core/main.mk @@ -190,13 +190,8 @@ endif ### is_sdk_build := -ifneq ($(filter sdk,$(MAKECMDGOALS)),) -is_sdk_build := true -endif -ifneq ($(filter win_sdk,$(MAKECMDGOALS)),) -is_sdk_build := true -endif -ifneq ($(filter sdk_addon,$(MAKECMDGOALS)),) + +ifneq ($(filter sdk win_sdk sdk_addon,$(MAKECMDGOALS)),) is_sdk_build := true endif @@ -271,6 +266,11 @@ endif ## sdk ## ifdef is_sdk_build + +# Detect if we want to build a repository for the SDK +sdk_repo_goal := $(strip $(filter sdk_repo,$(MAKECMDGOALS))) +MAKECMDGOALS := $(strip $(filter-out sdk_repo,$(MAKECMDGOALS))) + ifneq ($(words $(filter-out $(INTERNAL_MODIFIER_TARGETS),$(MAKECMDGOALS))),1) $(error The 'sdk' target may not be specified with any other targets) endif @@ -769,11 +769,13 @@ docs: $(ALL_DOCS) .PHONY: sdk ALL_SDK_TARGETS := $(INTERNAL_SDK_TARGET) sdk: $(ALL_SDK_TARGETS) -$(call dist-for-goals,sdk, \ - $(ALL_SDK_TARGETS) \ - $(SYMBOLS_ZIP) \ - $(INSTALLED_BUILD_PROP_TARGET) \ -) +ifneq ($(filter sdk win_sdk,$(MAKECMDGOALS)),) +$(call dist-for-goals,sdk win_sdk, \ + $(ALL_SDK_TARGETS) \ + $(SYMBOLS_ZIP) \ + $(INSTALLED_BUILD_PROP_TARGET) \ + ) +endif .PHONY: findbugs findbugs: $(INTERNAL_FINDBUGS_HTML_TARGET) $(INTERNAL_FINDBUGS_XML_TARGET) diff --git a/core/tasks/sdk-addon.mk b/core/tasks/sdk-addon.mk index 86d847191c..8408676415 100644 --- a/core/tasks/sdk-addon.mk +++ b/core/tasks/sdk-addon.mk @@ -94,6 +94,10 @@ $(full_target): $(sdk_addon_deps) | $(ACP) .PHONY: sdk_addon sdk_addon: $(full_target) +# Keep the name of the addon final zip around for sdk_repo. +# This is used by development/build/tools/sdk_repo.mk. +ADDON_SDK_ZIP := $(full_target) + $(call dist-for-goals, sdk_addon, $(full_target)) else # addon_name