|
@@ -123,6 +123,12 @@ $(BUILD_DIR)/%/.stamp_downloaded:
|
|
|
$(Q)mkdir -p $(@D)
|
|
|
$(Q)touch $@
|
|
|
|
|
|
+# Retrieve actual source archive, e.g. for prebuilt external toolchains
|
|
|
+$(BUILD_DIR)/%/.stamp_actual_downloaded:
|
|
|
+ $(call DOWNLOAD,$($(PKG)_ACTUAL_SOURCE_SITE)/$($(PKG)_ACTUAL_SOURCE_TARBALL)); \
|
|
|
+ $(Q)mkdir -p $(@D)
|
|
|
+ $(Q)touch $@
|
|
|
+
|
|
|
# Unpack the archive
|
|
|
$(BUILD_DIR)/%/.stamp_extracted:
|
|
|
@$(call step_start,extract)
|
|
@@ -530,6 +536,7 @@ $(2)_TARGET_RSYNC = $$($(2)_DIR)/.stamp_rsynced
|
|
|
$(2)_TARGET_PATCH = $$($(2)_DIR)/.stamp_patched
|
|
|
$(2)_TARGET_EXTRACT = $$($(2)_DIR)/.stamp_extracted
|
|
|
$(2)_TARGET_SOURCE = $$($(2)_DIR)/.stamp_downloaded
|
|
|
+$(2)_TARGET_ACTUAL_SOURCE = $$($(2)_DIR)/.stamp_actual_downloaded
|
|
|
$(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned
|
|
|
|
|
|
# default extract command
|
|
@@ -637,6 +644,17 @@ $(1)-depends: $$($(2)_FINAL_DEPENDENCIES)
|
|
|
|
|
|
$(1)-source: $$($(2)_TARGET_SOURCE)
|
|
|
|
|
|
+$(1)-all-source: $(1)-legal-source
|
|
|
+$(1)-legal-info: $(1)-legal-source
|
|
|
+$(1)-legal-source: $(1)-source
|
|
|
+
|
|
|
+# Only download the actual source if it differs from the 'main' archive
|
|
|
+ifneq ($$($(2)_ACTUAL_SOURCE_TARBALL),)
|
|
|
+ifneq ($$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_SOURCE))
|
|
|
+$(1)-legal-source: $$($(2)_TARGET_ACTUAL_SOURCE)
|
|
|
+endif # actual sources != sources
|
|
|
+endif # actual sources != ""
|
|
|
+
|
|
|
$(1)-source-check:
|
|
|
$$(foreach p,$$($(2)_ALL_DOWNLOADS),$$(call SOURCE_CHECK,$$(p))$$(sep))
|
|
|
|
|
@@ -662,6 +680,7 @@ $(1)-extract: $(1)-rsync
|
|
|
$(1)-rsync: $$($(2)_TARGET_RSYNC)
|
|
|
|
|
|
$(1)-source:
|
|
|
+$(1)-legal-source:
|
|
|
|
|
|
$(1)-source-check:
|
|
|
test -d $$($(2)_OVERRIDE_SRCDIR)
|
|
@@ -736,6 +755,8 @@ $$($(2)_TARGET_PATCH): PKGDIR=$(pkgdir)
|
|
|
$$($(2)_TARGET_EXTRACT): PKG=$(2)
|
|
|
$$($(2)_TARGET_SOURCE): PKG=$(2)
|
|
|
$$($(2)_TARGET_SOURCE): PKGDIR=$(pkgdir)
|
|
|
+$$($(2)_TARGET_ACTUAL_SOURCE): PKG=$(2)
|
|
|
+$$($(2)_TARGET_ACTUAL_SOURCE): PKGDIR=$(pkgdir)
|
|
|
$$($(2)_TARGET_DIRCLEAN): PKG=$(2)
|
|
|
|
|
|
# Compute the name of the Kconfig option that correspond to the
|
|
@@ -801,9 +822,6 @@ else
|
|
|
# Other packages
|
|
|
|
|
|
ifeq ($$($(2)_REDISTRIBUTE),YES)
|
|
|
-ifneq ($$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_SOURCE))
|
|
|
- $$(call DOWNLOAD,$$($(2)_ACTUAL_SOURCE_SITE)/$$($(2)_ACTUAL_SOURCE_TARBALL))
|
|
|
-endif
|
|
|
# Save the source tarball and any extra downloads, but not
|
|
|
# patches, as they are handled specially afterwards.
|
|
|
$$(foreach e,$$($(2)_ACTUAL_SOURCE_TARBALL) $$(notdir $$($(2)_EXTRA_DOWNLOADS)),\
|
|
@@ -907,6 +925,7 @@ endif
|
|
|
$(1)-install-staging \
|
|
|
$(1)-install-target \
|
|
|
$(1)-legal-info \
|
|
|
+ $(1)-legal-source \
|
|
|
$(1)-patch \
|
|
|
$(1)-rebuild \
|
|
|
$(1)-reconfigure \
|