diff options
-rw-r--r-- | Makefile.in | 1 | ||||
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | solenv/gbuild/Package.mk | 24 | ||||
-rw-r--r-- | solenv/gbuild/TargetLocations.mk | 1 |
5 files changed, 26 insertions, 5 deletions
diff --git a/Makefile.in b/Makefile.in index ecfbc1c6a2db..fd4cba6bd2a8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -138,6 +138,7 @@ clean: clean-host clean-build clean-host: rm -fr $(DEVINSTALLDIR) + rm -fr $(INSTDIR) rm -fr $(OUTDIR) rm -fr $(WORKDIR) rm -fr install diff --git a/config_host.mk.in b/config_host.mk.in index e7c1a0ec9863..66a5c68e6108 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -247,6 +247,7 @@ export ICU_RECLASSIFIED_PREPEND_SET_EMPTY=@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@ export ILIB=@ILIB@ export INPATH=@INPATH@ export INPATH_FOR_BUILD=@INPATH_FOR_BUILD@ +export INSTDIR=@INSTDIR@ export INSTALLDIR=@INSTALLDIR@ export INSTALLDIRNAME=@INSTALLDIRNAME@ export INTRO_BITMAP=@INTRO_BITMAP@ diff --git a/configure.ac b/configure.ac index c460f735590c..912c111b3fbe 100644 --- a/configure.ac +++ b/configure.ac @@ -3896,11 +3896,14 @@ if test -n "${with_solver_and_workdir_root}"; then # IsValidFilePath in /sal/osl/w32/file_url.cxx rejects "X:\\" breaking idlc if echo ${formatted_path} | $GREP -q '/$'; then WORKDIR=${formatted_path}workdir/${INPATH} + INSTDIR=${formatted_path}instdir/${INPATH} else WORKDIR=${formatted_path}/workdir/${INPATH} + INSTDIR=${formatted_path}/instdir/${INPATH} fi else WORKDIR=${BUILDDIR}/workdir/${INPATH} + INSTDIR=${BUILDDIR}/instdir/${INPATH} fi OUTDIR="${SOLARVER}/${INPATH}" SOLARINC="-I. -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC" @@ -3913,6 +3916,7 @@ AC_SUBST(EPM_FLAGS) AC_SUBST(GUI) AC_SUBST(GUIBASE) AC_SUBST(INPATH) +AC_SUBST([INSTDIR]) AC_SUBST(OS) AC_SUBST(OUTDIR) AC_SUBST(OUTPATH) diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk index 6642a892a3d4..c239897b3cf6 100644 --- a/solenv/gbuild/Package.mk +++ b/solenv/gbuild/Package.mk @@ -44,10 +44,13 @@ endef $(foreach destination,$(call gb_PackagePart_get_destinations),$(eval \ $(call gb_PackagePart__rule,$(destination)))) +# Deliver one file to the output dir. +# +# gb_PackagePart_PackagePart destfile source prep-target outdir define gb_PackagePart_PackagePart -$(OUTDIR)/$(1) : $(2) | $(dir $(OUTDIR)/$(1)).dir +$(4)/$(1) : $(2) | $(dir $(4)/$(1)).dir $(2) :| $(3) -$(call gb_Deliver_add_deliverable,$(OUTDIR)/$(1),$(2),$(3)) +$(call gb_Deliver_add_deliverable,$(4)/$(1),$(2),$(3)) endef @@ -70,6 +73,7 @@ $(call gb_Package_get_target,%) : # for other targets that want to create Packages, does not register at Module define gb_Package_Package_internal gb_Package_SOURCEDIR_$(1) := $(2) +gb_Package_OUTDIR_$(1) := $(OUTDIR) $(call gb_Package_get_clean_target,$(1)) : FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1)) $(call gb_Package_get_target,$(1)) : $(call gb_Package_get_preparation_target,$(1)) @@ -83,10 +87,20 @@ $(call gb_Helper_make_userfriendly_targets,$(1),Package) endef +# Set output dir for the package files. +# +# Default is $(OUTDIR). +# +# gb_Package_set_outdir package outdir +define gb_Package_set_outdir +gb_Package_OUTDIR_$(1) := $(2) + +endef + define gb_Package_add_file -$(call gb_Package_get_target,$(1)) : $(OUTDIR)/$(2) -$(call gb_Package_get_clean_target,$(1)) : FILES += $(OUTDIR)/$(2) -$(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1))) +$(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2) +$(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) +$(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1)),$$(gb_Package_OUTDIR_$(1))) endef diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index b738b65a57ea..a8cf8a431363 100644 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -39,6 +39,7 @@ gb_Extension_get_target = $(OUTDIR)/bin/$(1).oxt gb_HelpTarget_get_outdir_target = $(OUTDIR)/pck/$(1).zip gb_Pagein_get_outdir_target = $(OUTDIR)/bin/pagein-$(1) gb_PackagePart_get_destinations = \ + $(INSTDIR) \ $(OUTDIR)/bin \ $(OUTDIR)/inc \ $(OUTDIR)/lib \ |