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.
This commit is contained in:
Michael Stahl 2011-03-14 17:45:57 +01:00 committed by Bjoern Michaelsen
parent 2997d8a899
commit be277259b4
8 changed files with 27 additions and 10 deletions

View file

@ -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

View file

@ -82,7 +82,7 @@ endef
define gb_Library_set_componentfile
$(call gb_ComponentTarget_ComponentTarget,$(2),$(call gb_Library__get_componentprefix,$(1)),$(call gb_Library_get_runtime_filename,$(1)))
$(call gb_Library_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2))
$(call gb_Library_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2)) $(call gb_ComponentTarget_get_outdir_inbuild_target,$(2))
$(call gb_Library_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(2))
endef

View file

@ -28,6 +28,7 @@
# outdir target pattern
gb_ComponentTarget_get_outdir_target = $(OUTDIR)/xml/component/$(1).component
gb_ComponentTarget_get_outdir_inbuild_target = $(OUTDIR)/xml/component/$(1).inbuild.component
gb_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
gb_PackagePart_get_destinations = $(OUTDIR)/xml $(OUTDIR)/inc $(OUTDIR)/bin $(OUTDIR)/pck
gb_PackagePart_get_target = $(OUTDIR)/$(1)
@ -50,6 +51,7 @@ endef
gb_AllLangResTarget_get_target = $(WORKDIR)/AllLangRes/$(1)
gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
gb_ComponentTarget_get_inbuild_target = $(WORKDIR)/ComponentTarget/$(1).inbuild.component
gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test
gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done
gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done

View file

@ -416,6 +416,6 @@ gb_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
# vim: set noet sw=4 ts=4:

View file

@ -456,6 +456,6 @@ gb_XSLTPROCPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
# vim: set noet sw=4 ts=4:

View file

@ -398,6 +398,6 @@ gb_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
# vim: set noet sw=4 ts=4:

View file

@ -760,5 +760,6 @@ gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
# vim: set noet sw=4 ts=4:

View file

@ -688,5 +688,6 @@ gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
gb_Library_COMPONENTPREFIXES := \
OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
# vim: set noet sw=4 ts=4: