[Libreoffice-commits] .: 4 commits - desktop/Module_desktop.mk desktop/Pagein_calc.mk desktop/Pagein_common.mk desktop/Pagein_draw.mk desktop/Pagein_impress.mk desktop/Pagein.mk desktop/Pagein_writer.mk Repository.mk solenv/gbuild

David Tardon dtardon at kemper.freedesktop.org
Thu Mar 22 22:03:25 PDT 2012


 Repository.mk                    |    4 -
 desktop/Module_desktop.mk        |   10 ---
 desktop/Pagein.mk                |  104 ---------------------------------------
 desktop/Pagein_calc.mk           |    4 -
 desktop/Pagein_common.mk         |   26 ---------
 desktop/Pagein_draw.mk           |    4 -
 desktop/Pagein_impress.mk        |    4 -
 desktop/Pagein_writer.mk         |    4 -
 solenv/gbuild/Pagein.mk          |   77 ++++++++++++++++++++++++++++
 solenv/gbuild/TargetLocations.mk |    3 +
 solenv/gbuild/gbuild.mk          |    1 
 11 files changed, 93 insertions(+), 148 deletions(-)

New commits:
commit 01eb464eb418159f1f11ce0dce5e1a8a10e01408
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Mar 18 15:32:28 2012 +0100

    remove duplicate entries

diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk
index 4d66d3f..258ba19 100644
--- a/desktop/Pagein_common.mk
+++ b/desktop/Pagein_common.mk
@@ -28,9 +28,6 @@
 $(eval $(call gb_Pagein_Pagein,common))
 
 # sorted in approx. reverse load order (ld.so.1)
-# TODO: Hmm, so it looks like there are duplicates in the list... Moreover,
-# some that are conditional above are not conditional here (e.g., icule).
-# I have doubts about gconfbe, desktopbe and localebe too.
 $(eval $(call gb_Pagein_add_objects,common,\
     i18npool \
     $(if $(findstring YES,$(SYSTEM_ICU)),,\
@@ -75,19 +72,13 @@ $(eval $(call gb_Pagein_add_objects,common,\
     oovbaapi.rdb \
     deployment \
     deploymentmisc \
-    ucb1 \
     xstor \
-    package2 \
     filterconfig \
     uui \
-    lng \
     svt \
     spl \
-    basegfx \
     avmedia \
     helplinker \
-    vclplug_gen \
-    icule \
     sax \
     gconfbe \
     fsstorage \
commit 424a03e72f10d123bf67a2b36c306b8c09e34669
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Mar 18 15:24:42 2012 +0100

    simplify pagein creation

diff --git a/desktop/Pagein_calc.mk b/desktop/Pagein_calc.mk
index afbbb15..0423b25 100644
--- a/desktop/Pagein_calc.mk
+++ b/desktop/Pagein_calc.mk
@@ -27,7 +27,7 @@
 
 $(eval $(call gb_Pagein_Pagein,calc))
 
-$(eval $(call gb_Pagein_add_libs,calc,\
+$(eval $(call gb_Pagein_add_objects,calc,\
     sc \
     scui \
     svx \
diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk
index 06cb024..4d66d3f 100644
--- a/desktop/Pagein_common.mk
+++ b/desktop/Pagein_common.mk
@@ -28,7 +28,10 @@
 $(eval $(call gb_Pagein_Pagein,common))
 
 # sorted in approx. reverse load order (ld.so.1)
-$(eval $(call gb_Pagein_add_libs,common,\
+# TODO: Hmm, so it looks like there are duplicates in the list... Moreover,
+# some that are conditional above are not conditional here (e.g., icule).
+# I have doubts about gconfbe, desktopbe and localebe too.
+$(eval $(call gb_Pagein_add_objects,common,\
     i18npool \
     $(if $(findstring YES,$(SYSTEM_ICU)),,\
         icui18n \
@@ -52,9 +55,6 @@ $(eval $(call gb_Pagein_add_libs,common,\
     sot \
     xcr \
     sb \
-))
-
-$(eval $(call gb_Pagein_add_libs_with_dir,common,\
     stocservices \
     bootstrap \
     reg \
@@ -63,10 +63,6 @@ $(eval $(call gb_Pagein_add_libs_with_dir,common,\
     cppuhelper \
     cppu \
     sal \
-    ,../ure-link/lib \
-))
-
-$(eval $(call gb_Pagein_add_libs,common,\
     ucbhelper \
     comphelper \
     tl \
@@ -74,18 +70,9 @@ $(eval $(call gb_Pagein_add_libs,common,\
     svl \
     vcl \
     tk \
-))
-
-$(eval $(call gb_Pagein_add_objects,common,\
     ../ure-link/share/misc/types.rdb \
     services.rdb \
     oovbaapi.rdb \
-))
-
-# TODO: Hmm, so it looks like there are duplicates in the list... Moreover,
-# some that are conditional above are not conditional here (e.g., icule).
-# I have doubts about gconfbe, desktopbe and localebe too.
-$(eval $(call gb_Pagein_add_libs,common,\
     deployment \
     deploymentmisc \
     ucb1 \
diff --git a/desktop/Pagein_draw.mk b/desktop/Pagein_draw.mk
index 5795b05..be3b8e0 100644
--- a/desktop/Pagein_draw.mk
+++ b/desktop/Pagein_draw.mk
@@ -27,7 +27,7 @@
 
 $(eval $(call gb_Pagein_Pagein,draw))
 
-$(eval $(call gb_Pagein_add_libs,draw,\
+$(eval $(call gb_Pagein_add_objects,draw,\
     sd \
     sdui \
     svx \
diff --git a/desktop/Pagein_impress.mk b/desktop/Pagein_impress.mk
index ae331f8..5104722 100644
--- a/desktop/Pagein_impress.mk
+++ b/desktop/Pagein_impress.mk
@@ -27,7 +27,7 @@
 
 $(eval $(call gb_Pagein_Pagein,impress))
 
-$(eval $(call gb_Pagein_add_libs,impress,\
+$(eval $(call gb_Pagein_add_objects,impress,\
     sd \
     sdui \
     svx \
diff --git a/desktop/Pagein_writer.mk b/desktop/Pagein_writer.mk
index 206e18a..c9694a5 100644
--- a/desktop/Pagein_writer.mk
+++ b/desktop/Pagein_writer.mk
@@ -27,7 +27,7 @@
 
 $(eval $(call gb_Pagein_Pagein,writer))
 
-$(eval $(call gb_Pagein_add_libs,writer,\
+$(eval $(call gb_Pagein_add_objects,writer,\
     sw \
     swui \
     svx \
diff --git a/solenv/gbuild/Pagein.mk b/solenv/gbuild/Pagein.mk
index ead8f8a..60d98ac 100644
--- a/solenv/gbuild/Pagein.mk
+++ b/solenv/gbuild/Pagein.mk
@@ -25,20 +25,16 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-gb_Pagein__istype = $(findstring $(2),$(call gb_Pagein__prefix,$(1)))
-gb_Pagein__prefix = $(firstword $(subst :, ,$(1)))
-gb_Pagein__suffix = $(lastword $(subst :, ,$(1)))
-gb_Pagein__object = $(call gb_Pagein__suffix,$(1))
-gb_Pagein__dir = $(call gb_Pagein__prefix,$(1))
-gb_Pagein__libname = $(notdir $(call gb_Library_get_target,$(call gb_Pagein__suffix,$(1))))
-gb_Pagein__libpath = $(call gb_Pagein__dir,$(1))/$(call gb_Pagein__libname,$(1))
+gb_Pagein_UREPATH := ../ure-link/lib/
+
+gb_Pagein__is_library = $(filter $(1),$(gb_Library_KNOWNLIBS))
+
+gb_Pagein__get_libdir = $(if $(filter URELIB,$(call gb_Library_get_layer,$(1))),$(call gb_Pagein_UREPATH))
+
+gb_Pagein__make_library_path = $(call gb_Pagein__get_libdir,$(1))$(call gb_Library_get_runtime_filename,$(1))
 
 gb_Pagein__make_path = \
-$(if $(call gb_Pagein__istype,$(1),OBJ),\
-    $(call gb_Pagein__object,$(1)),\
-    $(if $(call gb_Pagein__istype,$(1),LIB),\
-        $(call gb_Pagein__libname,$(1)),\
-        $(call gb_Pagein__libpath,$(1))))
+$(if $(call gb_Pagein__is_library,$(1)),$(call gb_Pagein__make_library_path,$(1)),$(1))
 
 define gb_Pagein__command
 $(call gb_Output_announce,$(2),$(true),PAG,5)
@@ -62,33 +58,14 @@ $(call gb_Pagein_get_outdir_target,%) : $(call gb_Pagein_get_target,%)
 
 define gb_Pagein_Pagein
 $(call gb_Pagein_get_target,$(1)) : OBJECTS :=
+$(call gb_Pagein_get_target,$(1)) : $(realpath $(lastword $(MAKEFILE_LIST)))
 $$(eval $$(call gb_Module_register_target,$(call gb_Pagein_get_outdir_target,$(1)),$(call gb_Pagein_get_clean_target,$(1))))
 $(call gb_Pagein_get_outdir_target,$(1)) : $(call gb_Pagein_get_target,$(1))
 
 endef
 
-define gb_Pagein_add_lib
-$(call gb_Pagein_get_target,$(1)) : OBJECTS += LIB:$(2)
-
-endef
-
-define gb_Pagein_add_lib_with_dir
-$(call gb_Pagein_get_target,$(1)) : OBJECTS += $(strip $(3)):$(2)
-
-endef
-
 define gb_Pagein_add_object
-$(call gb_Pagein_get_target,$(1)) : OBJECTS += OBJ:$(2)
-
-endef
-
-define gb_Pagein_add_libs
-$(foreach lib,$(2),$(call gb_Pagein_add_lib,$(1),$(lib)))
-
-endef
-
-define gb_Pagein_add_libs_with_dir
-$(foreach lib,$(2),$(call gb_Pagein_add_lib_with_dir,$(1),$(lib),$(3)))
+$(call gb_Pagein_get_target,$(1)) : OBJECTS += $(2)
 
 endef
 
commit 0b7f8b54386b380ee9b1abd0a2207b50c6fbeaca
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Mar 18 15:11:19 2012 +0100

    move libs to correct layer

diff --git a/Repository.mk b/Repository.mk
index 8e9b6d9..74452fd 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -466,10 +466,8 @@ $(eval $(call gb_Helper_register_libraries,UNOLIBS_OOO, \
     passwordcontainer \
     pdfimport \
     PresenterScreen \
-    reflection \
     simplecanvas \
     slideshow \
-    stocservices \
     stringresource \
 	SunPresentationMinimizer \
     ucpcmis1 \
@@ -515,6 +513,8 @@ endif
 $(eval $(call gb_Helper_register_libraries,UNOLIBS_URE, \
     binaryurp \
     bootstrap \
+    reflection \
+    stocservices \
 ))
 
 $(eval $(call gb_Helper_register_libraries,UNOVERLIBS, \
commit ecc7ae77d345025f54094861c6b8b693e830ab42
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Mar 18 14:53:47 2012 +0100

    move Pagein from desktop to gbuild

diff --git a/desktop/Module_desktop.mk b/desktop/Module_desktop.mk
index 0d3a013..c861ae8 100644
--- a/desktop/Module_desktop.mk
+++ b/desktop/Module_desktop.mk
@@ -25,16 +25,6 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-# FIXME: Okay, so this is ugly hack, because
-# include $(dir $(realpath $(firstword $(MAKEFILE_LIST))))Pagein.mk
-# does not work from tail_build. I think I should just move Pagein.mk
-# into gbuild proper...
-#
-# On the other side, I wonder how many of our gbuild classes /
-# implementations would break when using with multiple repos as they
-# were originally intended, i.e., with different root dirs.
-include $(SRCDIR)/desktop/Pagein.mk
-
 $(eval $(call gb_Module_Module,desktop))
 
 $(eval $(call gb_Module_add_targets,desktop,\
diff --git a/desktop/Pagein.mk b/desktop/Pagein.mk
deleted file mode 100644
index d1b370c..0000000
--- a/desktop/Pagein.mk
+++ /dev/null
@@ -1,104 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# Major Contributor(s):
-# Copyright (C) 2011 Red Hat, Inc., David Tardon <dtardon at redhat.com>
-#  (initial developer)
-#
-# All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-
-desktop_Pagein_get_target = $(WORKDIR)/Pagein/desktop/$(1)
-desktop_Pagein_get_clean_target = $(WORKDIR)/Clean/Pagein/desktop/$(1)
-desktop_Pagein_get_outdir_target = $(OUTDIR)/bin/pagein-$(1)
-
-desktop_Pagein__istype = $(findstring $(2),$(call desktop_Pagein__prefix,$(1)))
-desktop_Pagein__prefix = $(firstword $(subst :, ,$(1)))
-desktop_Pagein__suffix = $(lastword $(subst :, ,$(1)))
-desktop_Pagein__object = $(call desktop_Pagein__suffix,$(1))
-desktop_Pagein__dir = $(call desktop_Pagein__prefix,$(1))
-desktop_Pagein__libname = $(notdir $(call gb_Library_get_target,$(call desktop_Pagein__suffix,$(1))))
-desktop_Pagein__libpath = $(call desktop_Pagein__dir,$(1))/$(call desktop_Pagein__libname,$(1))
-
-desktop_Pagein__make_path = \
-$(if $(call desktop_Pagein__istype,$(1),OBJ),\
-    $(call desktop_Pagein__object,$(1)),\
-    $(if $(call desktop_Pagein__istype,$(1),LIB),\
-        $(call desktop_Pagein__libname,$(1)),\
-        $(call desktop_Pagein__libpath,$(1))))
-
-define desktop_Pagein__command
-$(call gb_Output_announce,$(2),$(true),PAG,5)
-$(call gb_Helper_abbreviate_dirs,\
-    mkdir -p $(dir $(1)) && rm -f $(1) \
-    $(foreach object,$(OBJECTS),&& echo $(call desktop_Pagein__make_path,$(object)) >> $(1)))
-
-endef
-
-.PHONY : $(call desktop_Pagein_get_clean_target,%)
-$(call desktop_Pagein_get_clean_target,%) :
-	$(call gb_Output_announce,$*,$(false),PAG,5)
-	$(call gb_Helper_abbreviate_dirs,\
-        rm -f $(call desktop_Pagein_get_target,$*) $(call desktop_Pagein_get_outdir_target,$*))
-
-$(call desktop_Pagein_get_target,%) :
-	$(call desktop_Pagein__command,$@,$*,$^)
-	
-$(call desktop_Pagein_get_outdir_target,%) : $(call desktop_Pagein_get_target,%)
-	$(call gb_Deliver_deliver,$<,$@)
-
-define desktop_Pagein_Pagein
-$(call desktop_Pagein_get_target,$(1)) : OBJECTS :=
-$$(eval $$(call gb_Module_register_target,$(call desktop_Pagein_get_outdir_target,$(1)),$(call desktop_Pagein_get_clean_target,$(1))))
-$(call desktop_Pagein_get_outdir_target,$(1)) : $(call desktop_Pagein_get_target,$(1))
-
-endef
-
-define desktop_Pagein_add_lib
-$(call desktop_Pagein_get_target,$(1)) : OBJECTS += LIB:$(2)
-
-endef
-
-define desktop_Pagein_add_lib_with_dir
-$(call desktop_Pagein_get_target,$(1)) : OBJECTS += $(strip $(3)):$(2)
-
-endef
-
-define desktop_Pagein_add_object
-$(call desktop_Pagein_get_target,$(1)) : OBJECTS += OBJ:$(2)
-
-endef
-
-define desktop_Pagein_add_libs
-$(foreach lib,$(2),$(call desktop_Pagein_add_lib,$(1),$(lib)))
-
-endef
-
-define desktop_Pagein_add_libs_with_dir
-$(foreach lib,$(2),$(call desktop_Pagein_add_lib_with_dir,$(1),$(lib),$(3)))
-
-endef
-
-define desktop_Pagein_add_objects
-$(foreach object,$(2),$(call desktop_Pagein_add_object,$(1),$(object)))
-
-endef
-
-# vim: set ts=4 sw=4 noet:
diff --git a/desktop/Pagein_calc.mk b/desktop/Pagein_calc.mk
index a14668d..afbbb15 100644
--- a/desktop/Pagein_calc.mk
+++ b/desktop/Pagein_calc.mk
@@ -25,9 +25,9 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-$(eval $(call desktop_Pagein_Pagein,calc))
+$(eval $(call gb_Pagein_Pagein,calc))
 
-$(eval $(call desktop_Pagein_add_libs,calc,\
+$(eval $(call gb_Pagein_add_libs,calc,\
     sc \
     scui \
     svx \
diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk
index c7c1f0c..06cb024 100644
--- a/desktop/Pagein_common.mk
+++ b/desktop/Pagein_common.mk
@@ -25,10 +25,10 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-$(eval $(call desktop_Pagein_Pagein,common))
+$(eval $(call gb_Pagein_Pagein,common))
 
 # sorted in approx. reverse load order (ld.so.1)
-$(eval $(call desktop_Pagein_add_libs,common,\
+$(eval $(call gb_Pagein_add_libs,common,\
     i18npool \
     $(if $(findstring YES,$(SYSTEM_ICU)),,\
         icui18n \
@@ -54,7 +54,7 @@ $(eval $(call desktop_Pagein_add_libs,common,\
     sb \
 ))
 
-$(eval $(call desktop_Pagein_add_libs_with_dir,common,\
+$(eval $(call gb_Pagein_add_libs_with_dir,common,\
     stocservices \
     bootstrap \
     reg \
@@ -66,7 +66,7 @@ $(eval $(call desktop_Pagein_add_libs_with_dir,common,\
     ,../ure-link/lib \
 ))
 
-$(eval $(call desktop_Pagein_add_libs,common,\
+$(eval $(call gb_Pagein_add_libs,common,\
     ucbhelper \
     comphelper \
     tl \
@@ -76,7 +76,7 @@ $(eval $(call desktop_Pagein_add_libs,common,\
     tk \
 ))
 
-$(eval $(call desktop_Pagein_add_objects,common,\
+$(eval $(call gb_Pagein_add_objects,common,\
     ../ure-link/share/misc/types.rdb \
     services.rdb \
     oovbaapi.rdb \
@@ -85,7 +85,7 @@ $(eval $(call desktop_Pagein_add_objects,common,\
 # TODO: Hmm, so it looks like there are duplicates in the list... Moreover,
 # some that are conditional above are not conditional here (e.g., icule).
 # I have doubts about gconfbe, desktopbe and localebe too.
-$(eval $(call desktop_Pagein_add_libs,common,\
+$(eval $(call gb_Pagein_add_libs,common,\
     deployment \
     deploymentmisc \
     ucb1 \
diff --git a/desktop/Pagein_draw.mk b/desktop/Pagein_draw.mk
index 1808db4..5795b05 100644
--- a/desktop/Pagein_draw.mk
+++ b/desktop/Pagein_draw.mk
@@ -25,9 +25,9 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-$(eval $(call desktop_Pagein_Pagein,draw))
+$(eval $(call gb_Pagein_Pagein,draw))
 
-$(eval $(call desktop_Pagein_add_libs,draw,\
+$(eval $(call gb_Pagein_add_libs,draw,\
     sd \
     sdui \
     svx \
diff --git a/desktop/Pagein_impress.mk b/desktop/Pagein_impress.mk
index 4d286e1..ae331f8 100644
--- a/desktop/Pagein_impress.mk
+++ b/desktop/Pagein_impress.mk
@@ -25,9 +25,9 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-$(eval $(call desktop_Pagein_Pagein,impress))
+$(eval $(call gb_Pagein_Pagein,impress))
 
-$(eval $(call desktop_Pagein_add_libs,impress,\
+$(eval $(call gb_Pagein_add_libs,impress,\
     sd \
     sdui \
     svx \
diff --git a/desktop/Pagein_writer.mk b/desktop/Pagein_writer.mk
index 935cb2d..206e18a 100644
--- a/desktop/Pagein_writer.mk
+++ b/desktop/Pagein_writer.mk
@@ -25,9 +25,9 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-$(eval $(call desktop_Pagein_Pagein,writer))
+$(eval $(call gb_Pagein_Pagein,writer))
 
-$(eval $(call desktop_Pagein_add_libs,writer,\
+$(eval $(call gb_Pagein_add_libs,writer,\
     sw \
     swui \
     svx \
diff --git a/solenv/gbuild/Pagein.mk b/solenv/gbuild/Pagein.mk
new file mode 100644
index 0000000..ead8f8a
--- /dev/null
+++ b/solenv/gbuild/Pagein.mk
@@ -0,0 +1,100 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2011 Red Hat, Inc., David Tardon <dtardon at redhat.com>
+#  (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+gb_Pagein__istype = $(findstring $(2),$(call gb_Pagein__prefix,$(1)))
+gb_Pagein__prefix = $(firstword $(subst :, ,$(1)))
+gb_Pagein__suffix = $(lastword $(subst :, ,$(1)))
+gb_Pagein__object = $(call gb_Pagein__suffix,$(1))
+gb_Pagein__dir = $(call gb_Pagein__prefix,$(1))
+gb_Pagein__libname = $(notdir $(call gb_Library_get_target,$(call gb_Pagein__suffix,$(1))))
+gb_Pagein__libpath = $(call gb_Pagein__dir,$(1))/$(call gb_Pagein__libname,$(1))
+
+gb_Pagein__make_path = \
+$(if $(call gb_Pagein__istype,$(1),OBJ),\
+    $(call gb_Pagein__object,$(1)),\
+    $(if $(call gb_Pagein__istype,$(1),LIB),\
+        $(call gb_Pagein__libname,$(1)),\
+        $(call gb_Pagein__libpath,$(1))))
+
+define gb_Pagein__command
+$(call gb_Output_announce,$(2),$(true),PAG,5)
+$(call gb_Helper_abbreviate_dirs,\
+    mkdir -p $(dir $(1)) && rm -f $(1) \
+    $(foreach object,$(OBJECTS),&& echo $(call gb_Pagein__make_path,$(object)) >> $(1)))
+
+endef
+
+.PHONY : $(call gb_Pagein_get_clean_target,%)
+$(call gb_Pagein_get_clean_target,%) :
+	$(call gb_Output_announce,$*,$(false),PAG,5)
+	$(call gb_Helper_abbreviate_dirs,\
+        rm -f $(call gb_Pagein_get_target,$*) $(call gb_Pagein_get_outdir_target,$*))
+
+$(call gb_Pagein_get_target,%) :
+	$(call gb_Pagein__command,$@,$*,$^)
+	
+$(call gb_Pagein_get_outdir_target,%) : $(call gb_Pagein_get_target,%)
+	$(call gb_Deliver_deliver,$<,$@)
+
+define gb_Pagein_Pagein
+$(call gb_Pagein_get_target,$(1)) : OBJECTS :=
+$$(eval $$(call gb_Module_register_target,$(call gb_Pagein_get_outdir_target,$(1)),$(call gb_Pagein_get_clean_target,$(1))))
+$(call gb_Pagein_get_outdir_target,$(1)) : $(call gb_Pagein_get_target,$(1))
+
+endef
+
+define gb_Pagein_add_lib
+$(call gb_Pagein_get_target,$(1)) : OBJECTS += LIB:$(2)
+
+endef
+
+define gb_Pagein_add_lib_with_dir
+$(call gb_Pagein_get_target,$(1)) : OBJECTS += $(strip $(3)):$(2)
+
+endef
+
+define gb_Pagein_add_object
+$(call gb_Pagein_get_target,$(1)) : OBJECTS += OBJ:$(2)
+
+endef
+
+define gb_Pagein_add_libs
+$(foreach lib,$(2),$(call gb_Pagein_add_lib,$(1),$(lib)))
+
+endef
+
+define gb_Pagein_add_libs_with_dir
+$(foreach lib,$(2),$(call gb_Pagein_add_lib_with_dir,$(1),$(lib),$(3)))
+
+endef
+
+define gb_Pagein_add_objects
+$(foreach object,$(2),$(call gb_Pagein_add_object,$(1),$(object)))
+
+endef
+
+# vim: set ts=4 sw=4 noet:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 119bbed..7f5cefa 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -32,6 +32,7 @@ gb_ComponentTarget_get_outdir_target = $(OUTDIR)/xml/component/$(1).component
 gb_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
 gb_Executable_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1)$(gb_Executable_EXT_for_build)
 gb_Extension_get_outdir_target = $(OUTDIR)/bin/$(1).oxt
+gb_Pagein_get_outdir_target = $(OUTDIR)/bin/pagein-$(1)
 gb_PackagePart_get_destinations = \
 	$(OUTDIR)/bin \
 	$(OUTDIR)/idl \
@@ -107,6 +108,7 @@ gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
 gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
 gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
 gb_Package_get_target = $(WORKDIR)/Package/$(1)
+gb_Pagein_get_target = $(WORKDIR)/Pagein/$(1)
 gb_Pyuno_get_target = $(WORKDIR)/Pyuno/$(1).zip
 gb_Pyuno_get_outdir_target = $(OUTDIR)/bin/$(1).zip
 gb_PyunoFile_get_target = $(WORKDIR)/Pyuno/$(1)/contents/$(2)
@@ -168,6 +170,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
 	Module \
 	PackagePart \
 	Package \
+	Pagein \
 	Pyuno \
 	Rdb \
 	ResTarget \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 5ad2378..a26f451 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -294,6 +294,7 @@ include $(foreach class, \
 	Package \
 	CustomTarget \
 	ExternalLib \
+	Pagein \
 	Pyuno \
 	Rdb \
 	CppunitTest \


More information about the Libreoffice-commits mailing list