diff options
author | David Tardon <dtardon@redhat.com> | 2012-06-16 07:19:41 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2012-06-18 10:55:31 +0200 |
commit | 990586bd5bca08ffb868f5473050b31519ed5f9d (patch) | |
tree | 8b66663d5747c5206745598b755ddab7ed8a033d /solenv | |
parent | fb1d37b4ba9c256106c02e9deed68433d99be520 (diff) |
change the way par files for ins are collected
This avoids the need for $(wildcard), which seemed to cause problems in
some cases (in gentoo ebuild) and I never found any missing dependency
that might account for it.
Change-Id: Ia03d630bb85309fbb7da3068c396834fb56cffb1
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/InstallModule.mk | 6 | ||||
-rw-r--r-- | solenv/gbuild/InstallModuleTarget.mk | 12 | ||||
-rw-r--r-- | solenv/gbuild/InstallScript.mk | 17 | ||||
-rw-r--r-- | solenv/gbuild/TargetLocations.mk | 6 |
4 files changed, 23 insertions, 18 deletions
diff --git a/solenv/gbuild/InstallModule.mk b/solenv/gbuild/InstallModule.mk index f1b9dbe4d170..7ff5a9effff1 100644 --- a/solenv/gbuild/InstallModule.mk +++ b/solenv/gbuild/InstallModule.mk @@ -45,7 +45,6 @@ $(call gb_Package_Package_internal,$(1)_par,$(call gb_InstallModuleTarget_get_wo $(call gb_InstallModule_get_target,$(1)) : $(call gb_InstallModuleTarget_get_target,$(1)) $(call gb_InstallModule_get_target,$(1)) : $(call gb_Package_get_target,$(1)_par) $(call gb_InstallModule_get_target,$(1)) :| $(dir $(call gb_InstallModule_get_target,$(1))).dir -$(call gb_Package_get_preparation_target,$(1)_par) :| $(call gb_InstallModuleTarget_get_target,$(1)) $(call gb_InstallModule_get_clean_target,$(1)) : $(call gb_InstallModuleTarget_get_clean_target,$(1)) $(call gb_InstallModule_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_par) @@ -89,12 +88,12 @@ $(call gb_InstallModuleTarget_use_packages,$(1),$(2)) endef define gb_InstallModule__add_scpfile_impl -$(call gb_Package_add_file,$(1)_par,par/osl/$(2),$(2)) +$(call gb_Package_add_file,$(1)_par,par/osl/$(notdir $(2)),$(2)) endef define gb_InstallModule__add_scpfile -$(call gb_InstallModule__add_scpfile_impl,$(1),$(notdir $(call gb_ScpTarget_get_target,$(2)))) +$(call gb_InstallModule__add_scpfile_impl,$(1),$(dir $(2))$(notdir $(call gb_ScpTarget_get_target,$(2)))) endef @@ -123,6 +122,7 @@ endef define gb_InstallModule_add_localized_scpfiles $(call gb_InstallModuleTarget_add_localized_scpfiles,$(1),$(2)) +$(call gb_InstallModule__add_scpfiles,$(1),$(2)) endef diff --git a/solenv/gbuild/InstallModuleTarget.mk b/solenv/gbuild/InstallModuleTarget.mk index 1b717a7d2075..3d7fcd02ac89 100644 --- a/solenv/gbuild/InstallModuleTarget.mk +++ b/solenv/gbuild/InstallModuleTarget.mk @@ -265,15 +265,17 @@ endef define gb_InstallModuleTarget__command $(call gb_Output_announce,$(2),$(true),INM,3) -$(foreach scpfile,$(SCP_FILES),$(call gb_Deliver_deliver,$(scpfile),$(3)/$(notdir $(scpfile))) &&) \ -touch $(1) +$(call gb_Helper_abbreviate_dirs,\ + rm -f $(1) \ + $(foreach scpfile,$(SCP_FILES),&& echo $(scpfile) >> $(1)) \ +) endef $(dir $(call gb_InstallModuleTarget_get_target,%))%/.dir : $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(call gb_InstallModuleTarget_get_target,%) : - $(call gb_InstallModuleTarget__command,$@,$*,$(call gb_InstallModuleTarget_get_workdir,$*)) + $(call gb_InstallModuleTarget__command,$@,$*) $(call gb_InstallModuleTarget_get_external_target,%) : touch $@ @@ -282,14 +284,12 @@ $(call gb_InstallModuleTarget_get_external_target,%) : $(call gb_InstallModuleTarget_get_clean_target,%) : $(call gb_Output_announce,$*,$(false),INM,3) rm -rf \ - $(call gb_InstallModuleTarget_get_workdir,$*) \ $(call gb_InstallModuleTarget_get_target,$*) \ $(call gb_InstallModuleTarget_get_external_target,$*) define gb_InstallModuleTarget_InstallModuleTarget $(call gb_InstallModuleTarget_get_target,$(1)) :| \ - $(call gb_InstallModuleTarget_get_external_target,$(1)) \ - $(call gb_InstallModuleTarget_get_workdir,$(1))/.dir + $(call gb_InstallModuleTarget_get_external_target,$(1)) $(call gb_InstallModuleTarget_get_external_target,$(1)) :| \ $(dir $(call gb_InstallModuleTarget_get_target,$(1))).dir diff --git a/solenv/gbuild/InstallScript.mk b/solenv/gbuild/InstallScript.mk index 506e7b31f805..35ea142ca147 100644 --- a/solenv/gbuild/InstallScript.mk +++ b/solenv/gbuild/InstallScript.mk @@ -32,6 +32,10 @@ gb_InstallScriptTarget_COMMAND := $(PERL) $(gb_InstallScriptTarget_TARGET) gb_InstallScriptTarget__make_arglist = $(subst $(WHITESPACE),$(COMMA),$(strip $(1))) +define gb_InstallScriptTarget__get_files +$(notdir $(shell cat $(foreach module,$(1),$(call gb_InstallModule_get_filelist,$(module))))) +endef + # Pass first arg if make is running in silent mode, second arg otherwise define gb_InstallScriptTarget__if_silent $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),$(1),$(2)) @@ -42,11 +46,11 @@ $(call gb_Output_announce,$(2),$(true),INS,4) $(call gb_Helper_abbreviate_dirs,\ RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),100,\ $(call gb_InstallScriptTarget__make_arglist,\ - $(notdir $(foreach module,$(SCP_MODULE_DIRS),$(wildcard $(module)/*$(SCP_SUFFIX))))) \ + $(call gb_InstallScriptTarget__get_files,$(SCP_MODULES))) \ ) && \ $(gb_InstallScriptTarget_COMMAND) \ $(call gb_InstallScriptTarget__if_silent,-q) \ - -i $(call gb_InstallScriptTarget__make_arglist,$(SCP_MODULE_DIRS) $(OUTDIR)/par) \ + -i $(OUTDIR)/par/osl \ -o $(1) \ @@$${RESPONSEFILE} && \ rm -f $${RESPONSEFILE} \ @@ -70,15 +74,14 @@ $(call gb_InstallScriptTarget_get_clean_target,%) : # gb_InstallScriptTarget_InstallScriptTarget(<target>) define gb_InstallScriptTarget_InstallScriptTarget $(call gb_InstallScriptTarget_get_target,$(1)) :| $(dir $(call gb_InstallScriptTarget_get_target,$(1))).dir -$(call gb_InstallScriptTarget_get_target,$(1)) : SCP_MODULE_DIRS := -$(call gb_InstallScriptTarget_get_target,$(1)) : SCP_SUFFIX := $(suffix $(call gb_ScpTarget_get_target,%)) +$(call gb_InstallScriptTarget_get_target,$(1)) : SCP_MODULES := endef define gb_InstallScriptTarget_use_module -$(call gb_InstallScriptTarget_get_target,$(1)) : $(call gb_InstallModuleTarget_get_target,$(2)) -$(call gb_InstallScriptTarget_get_clean_target,$(1)) : $(call gb_InstallModuleTarget_get_clean_target,$(2)) -$(call gb_InstallScriptTarget_get_target,$(1)) : SCP_MODULE_DIRS += $(call gb_InstallModuleTarget_get_workdir,$(2)) +$(call gb_InstallScriptTarget_get_target,$(1)) : $(call gb_InstallModule_get_target,$(2)) +$(call gb_InstallScriptTarget_get_clean_target,$(1)) : $(call gb_InstallModule_get_clean_target,$(2)) +$(call gb_InstallScriptTarget_get_target,$(1)) : SCP_MODULES += $(2) endef diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index ffd60b4f50d4..5a8650414d9e 100644 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -94,10 +94,12 @@ gb_Extension_get_workdir = $(WORKDIR)/Extension/$(1) gb_ExternalLib_get_workdir = $(WORKDIR)/ExternalLib/$(1) gb_ExternalLib_get_builddir = $(WORKDIR)/ExternalLib/$(1)/build gb_ExternalLib_get_target = $(WORKDIR)/ExternalLib/$(1).done +gb_InstallModule_get_filelist = $(call gb_InstallModuleTarget_get_filelist,$(1)) gb_InstallModule_get_target = $(WORKDIR)/InstallModule/$(1).done gb_InstallModuleTarget_get_external_target = $(WORKDIR)/InstallModuleTarget/$(1).external -gb_InstallModuleTarget_get_target = $(WORKDIR)/InstallModuleTarget/$(1).done -gb_InstallModuleTarget_get_workdir = $(WORKDIR)/InstallModuleTarget/$(1) +gb_InstallModuleTarget_get_filelist = $(WORKDIR)/InstallModuleTarget/$(1).filelist +gb_InstallModuleTarget_get_target = $(WORKDIR)/InstallModuleTarget/$(1).filelist +gb_InstallModuleTarget_get_workdir = $(patsubst %/,%,$(dir $(call gb_ScpTarget_get_target,%))) gb_InstallScriptTarget_get_target = $(WORKDIR)/InstallScriptTarget/$(1)$(gb_InstallScript_EXT) gb_Jar_get_target = $(WORKDIR)/Jar/$(1).jar gb_Jar_get_classsetname = Jar/$(1) |