summaryrefslogtreecommitdiff
path: root/solenv/gbuild/ComponentTarget.mk
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2011-03-14 17:45:57 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-06-17 01:31:51 +0200
commitbe277259b48577aadba1d1bb04a80386ef952ad8 (patch)
tree7ce7077deb991cc110149ef43b2ac31c038b86f7 /solenv/gbuild/ComponentTarget.mk
parent2997d8a89913c104291f45224a0e569f2f848a8e (diff)
gnumake4: ComponentTarget: [hg:d5e93bd62dfc]
some components, such as those in module sax, are used during the build, and thus need a special second component file for that purpose. one way of providing this is to just always build a foo.inbuild.component for every foo.component.
Diffstat (limited to 'solenv/gbuild/ComponentTarget.mk')
-rw-r--r--solenv/gbuild/ComponentTarget.mk25
1 files changed, 19 insertions, 6 deletions
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index 5fc15baf744c..b0f50718364e 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -37,19 +37,27 @@ $(call gb_Helper_abbreviate_dirs_native,\
$(gb_XSLTPROC) --nonet --stringparam uri \
'$(subst \d,$$,$(COMPONENTPREFIX))$(LIBFILENAME)' -o $(1) \
$(gb_ComponentTarget_XSLTCOMMANDFILE) $(2))
-
endef
+# creates 2 componentfiles: the first is for the installation set,
+# the second is for using the component during the build.
+# bit of a hack, hopefully inbuild can be removed when solver layout is fixed.
define gb_ComponentTarget__rules
-$$(call gb_ComponentTarget_get_target,%) : $$(call gb_ComponentTarget_get_source,$(1),%) | $(gb_XSLTPROCTARGET)
- $$(call gb_ComponentTarget__command,$$@,$$<,$$*)
+$$(call gb_ComponentTarget_get_inbuild_target,%) : $$(call gb_ComponentTarget_get_source,$(1),%) | $(gb_XSLTPROCTARGET)
+ $$(call gb_ComponentTarget__command,$$@,$$<,$$*)
-$$(call gb_ComponentTarget_get_clean_target,%) :
- $$(call gb_Output_announce,$$*,$(false),CMP,1)
- rm -f $$(call gb_ComponentTarget_get_outdir_target,$$*) $$(call gb_ComponentTarget_get_target,$$*)
+$$(call gb_ComponentTarget_get_target,%) : $$(call gb_ComponentTarget_get_source,$(1),%) | $(gb_XSLTPROCTARGET)
+ $$(call gb_ComponentTarget__command,$$@,$$<,$$*)
endef
+$(call gb_ComponentTarget_get_clean_target,%) :
+ $(call gb_Output_announce,$$*,$(false),CMP,1)
+ rm -f $(call gb_ComponentTarget_get_outdir_target,$*) \
+ $(call gb_ComponentTarget_get_target,$*) \
+ $(call gb_ComponentTarget_get_outdir_inbuild_target,$*) \
+ $(call gb_ComponentTarget_get_inbuild_target,$*) \
+
$(foreach repo,$(gb_ComponentTarget_REPOS),$(eval $(call gb_ComponentTarget__rules,$(repo))))
$(call gb_ComponentTarget_get_target,%) :
@@ -60,9 +68,14 @@ $(call gb_ComponentTarget_get_external_target,%) :
define gb_ComponentTarget_ComponentTarget
$(call gb_ComponentTarget_get_target,$(1)) : LIBFILENAME := $(3)
+$(call gb_ComponentTarget_get_inbuild_target,$(1)) : LIBFILENAME := $(3)
$(call gb_ComponentTarget_get_target,$(1)) : COMPONENTPREFIX := $(2)
+$(call gb_ComponentTarget_get_inbuild_target,$(1)) : \
+ COMPONENTPREFIX := $(call gb_Library__get_layer_componentprefix,NONE)
$(call gb_ComponentTarget_get_outdir_target,$(1)) : $(call gb_ComponentTarget_get_target,$(1))
+$(call gb_ComponentTarget_get_outdir_inbuild_target,$(1)) : $(call gb_ComponentTarget_get_inbuild_target,$(1))
$(call gb_Deliver_add_deliverable,$(call gb_ComponentTarget_get_outdir_target,$(1)),$(call gb_ComponentTarget_get_target,$(1)))
+$(call gb_Deliver_add_deliverable,$(call gb_ComponentTarget_get_outdir_inbuild_target,$(1)),$(call gb_ComponentTarget_get_inbuild_target,$(1)))
endef