summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-06-16 07:19:41 +0200
committerDavid Tardon <dtardon@redhat.com>2012-06-18 11:33:22 +0200
commit2884d2f9aafa8cb7cc11ae2f56f036e01e35e67f (patch)
tree078d4d40c7a444f76d1f2fc7b2a990b805059008 /solenv
parenta125900b74b6503a0430be7505b0d85463d848f2 (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 Signed-off-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/InstallModule.mk6
-rw-r--r--solenv/gbuild/InstallModuleTarget.mk12
-rw-r--r--solenv/gbuild/InstallScript.mk17
-rw-r--r--solenv/gbuild/TargetLocations.mk6
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)