diff options
-rw-r--r-- | solenv/gbuild/ExternalPackage.mk | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/solenv/gbuild/ExternalPackage.mk b/solenv/gbuild/ExternalPackage.mk index 858367ddf4f9..ab2cd267240e 100644 --- a/solenv/gbuild/ExternalPackage.mk +++ b/solenv/gbuild/ExternalPackage.mk @@ -208,6 +208,18 @@ gb_ExternalPackage_PROJECT_$(1) := $(2) endef +# gb_ExternalPackage__add_file_for_install package package-inst dest dest-inst src +define gb_ExternalPackage__add_file_for_install +$(call gb_ExternalPackage_add_file,$(1),$(3),$(5)) + +ifneq ($(gb_RUNNABLE_INSTDIR),) +$(call gb_ExternalPackage_add_file,$(2),$(4),$(5)) +$(call gb_ExternalPackage_get_target,$(1)) : $(call gb_Package_get_target,$(2)) +$(call gb_ExternalPackage_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(2)) +endif + +endef + # Add a (dynamic) library that is a part of the installation. # # This function is very similar to gb_ExternalPackage_add_file, except @@ -219,13 +231,7 @@ endef # # gb_ExternalPackage_add_library_for_install package dest src library? define gb_ExternalPackage_add_library_for_install -$(call gb_ExternalPackage_add_file,$(1),$(2),$(3)) - -ifneq ($(gb_RUNNABLE_INSTDIR),) -$(call gb_ExternalPackage_add_file,$(call gb_ExternalPackage_get_packagename,$(1)),$(if $(4),$(call gb_Library_get_instdir,$(4)),program)/$(notdir $(2)),$(3)) -$(call gb_ExternalPackage_get_target,$(1)) : $(call gb_Package_get_target,$(call gb_ExternalPackage_get_packagename,$(1))) -$(call gb_ExternalPackage_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(call gb_ExternalPackage_get_packagename,$(1))) -endif +$(call gb_ExternalPackage__add_file_for_install,$(1),$(call gb_ExternalPackage_get_packagename,$(1)),$(2),$(if $(4),$(call gb_Library_get_instdir,$(4)),program)/$(notdir $(2)),$(3)) endef @@ -237,4 +243,24 @@ $(foreach file,$(3),$(call gb_ExternalPackage_add_library_for_install,$(1),$(2)/ endef +# Add a jar that is a part of the installation. +# +# This function works just like to gb_ExternalPackage_add_file, except +# that it also allows to deliver the jar to its proper place in +# $(INSTDIR). +# +# gb_ExternalPackage_add_jar_for_install package dest src +define gb_ExternalPackage_add_jar_for_install +$(call gb_ExternalPackage__add_file_for_install,$(1),$(call gb_ExternalPackage_get_packagename,$(1)),$(2),program/classes/$(notdir $(2)),$(3)) + +endef + +# Add several jars for install at once. +# +# gb_ExternalPackage_add_jars_for_install package destdir file(s) +define gb_ExternalPackage_add_jars_for_install +$(foreach file,$(3),$(call gb_ExternalPackage_add_jar_for_install,$(1),$(2)/$(notdir $(file)),$(file))) + +endef + # vim: set noet sw=4 ts=4: |