diff options
Diffstat (limited to 'solenv/gbuild')
-rw-r--r-- | solenv/gbuild/Library.mk | 17 | ||||
-rw-r--r-- | solenv/gbuild/Package.mk | 10 |
2 files changed, 25 insertions, 2 deletions
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index 17163a1b2866..e8cd313ac391 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -55,10 +55,24 @@ $$(eval $$(call gb_Output_info,Currently known libraries are: $(sort $(gb_Librar $$(eval $$(call gb_Output_error,Library $(1) must be registered in Repository.mk)) endif $(call gb_Library_get_target,$(1)) : SOVERSION := -$(call gb_Library__Library_impl,$(1),$(call gb_Library_get_linktargetname,$(1))) + +$(if $(gb_Package_PRESTAGEDIR),\ + $(if $(wildcard $(gb_Package_PRESTAGEDIR)/$(call gb_Library_get_instdir,$(1))/$(call gb_Library_get_runtime_filename,$(1))),\ + $(call gb_Library__Library_impl_copy,$(0),$(call gb_Library_get_instdir,$(1))/$(call gb_Library_get_runtime_filename,$(1))),\ + $(call gb_Library__Library_impl,$(1),$(call gb_Library_get_linktargetname,$(1)))\ + ), + $(call gb_Library__Library_impl,$(1),$(call gb_Library_get_linktargetname,$(1)))\ +) endef +define gb_Library__Library_impl_copy +$(call gb_Package_Package,Library_Copy_$(1),$(gb_Package_PRESTAGEDIR)) +$(call gb_Package_set_outdir,Library_Copy_$(1),$(INSTDIR)) +$(call gb_Package_add_file,Library_Copy_$(1),$(2),$(2)) +$(OUTDIR)/lib/$(notdir $(2)) : $(INSTDIR)/$(2) +endef + define gb_Library__Library_impl $(call gb_LinkTarget_LinkTarget,$(2),Library_$(1)) $(call gb_LinkTarget_set_targettype,$(2),Library) @@ -80,6 +94,7 @@ $(if $(filter $(call gb_Library_get_layer,$(1)):%,$(gb_Library_LAYER_DIRS)),\ endif $$(eval $$(call gb_Module_register_target,$(call gb_Library__get_final_target,$(1)),$(call gb_Library_get_clean_target,$(1)))) + $(call gb_Helper_make_userfriendly_targets,$(1),Library,$(call gb_Library__get_final_target,$(1))) $(call gb_Deliver_add_deliverable,$(call gb_Library_get_target,$(1)),$(call gb_LinkTarget_get_target,$(2)),$(1)) diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk index 52f82f115269..2a1fd5380926 100644 --- a/solenv/gbuild/Package.mk +++ b/solenv/gbuild/Package.mk @@ -49,7 +49,15 @@ $(OUTDIR)/inc/% : define gb_PackagePart_PackagePart $(4)/$(1) : $(2) | $(dir $(4)/$(1)).dir $(2) :| $(3) -$(call gb_Deliver_add_deliverable,$(4)/$(1),$(2),$(3)) + +$(if $(gb_Package_PRESTAGEDIR),\ + $(if $(wildcard $(gb_Package_PRESTAGEDIR)/$(1)),\ + $(call gb_Deliver_add_deliverable,$(4)/$(1),$(gb_Package_PRESTAGEDIR)/$(1),$(3)),\ + $(call gb_Deliver_add_deliverable,$(4)/$(1),$(2),$(3)) \ + ),\ + $(call gb_Deliver_add_deliverable,$(4)/$(1),$(2),$(3)) \ +) + endef |