summaryrefslogtreecommitdiff
path: root/solenv/gbuild/UnoApi.mk
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2013-04-23 09:03:24 +0200
committerDavid Tardon <dtardon@redhat.com>2013-04-24 13:06:11 +0000
commit0ea6217986e69612faf314611bf2e8349d78705c (patch)
tree177b7d075562e3363cad37f34c7d47eb82a264b6 /solenv/gbuild/UnoApi.mk
parent97ac684062334a1128dd4167f759668113564d97 (diff)
install gen. IDL docs using filelist
Change-Id: I474f6e7a45d09683eb0dd7172114407c9dca84d7 Reviewed-on: https://gerrit.libreoffice.org/3571 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'solenv/gbuild/UnoApi.mk')
-rw-r--r--solenv/gbuild/UnoApi.mk61
1 files changed, 61 insertions, 0 deletions
diff --git a/solenv/gbuild/UnoApi.mk b/solenv/gbuild/UnoApi.mk
index d21dacdc91c0..b5eeb5f75014 100644
--- a/solenv/gbuild/UnoApi.mk
+++ b/solenv/gbuild/UnoApi.mk
@@ -7,6 +7,11 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
+gb_UnoApi_DOCDIR := $(gb_Package_SDKDIRNAME)/docs/common/ref
+# NOTE: this is the output dir used in odk/CustomTarget_autodoc.mk
+gb_UnoApi_SRCDOCDIR := $(call gb_CustomTarget_get_workdir,odk/docs/common/ref)
+gb_UnoApi_ENABLE_DOC := $(filter ODK,$(BUILD_TYPE))
+
# NOTE: This is needed temporarily to force rebuild with API files from
# $(WORKDIR), thus fixing generated deps. Otherwise, a change of an .idl
# file would not rebuild a .cxx if it still depended on the $(OUTDIR)
@@ -26,6 +31,11 @@ $(call gb_UnoApiTarget_UnoApiTarget,$(1))
$(call gb_UnoApiHeadersTarget_UnoApiHeadersTarget,$(1))
$(call gb_Package_Package_internal,$(1)_idl,$(SRCDIR))
$(call gb_Package_set_outdir,$(1)_idl,$(INSTDIR))
+$(call gb_Package_Package_internal,$(1)_inc,$(call gb_UnoApiHeadersTarget_get_dir,$(1)))
+ifneq ($(gb_UnoApi_ENABLE_DOC),)
+$(call gb_Package_Package_internal,$(1)_doc,$(gb_UnoApi_SRCDOCDIR))
+$(call gb_Package_set_outdir,$(1)_doc,$(INSTDIR))
+endif
$(call gb_UnoApiTarget_set_root,$(1),UCR)
@@ -72,6 +82,51 @@ $(call gb_UnoApi__add_headerfile_impl,$(1),$(2),$(subst $() $(),/,$(wordlist 2,$
endef
+ifneq ($(gb_UnoApi_ENABLE_DOC),)
+
+# gb_UnoApi__add_docfile_impl api htmlfile
+define gb_UnoApi__add_docfile_impl
+$(if $(filter-out com ooo org,$(firstword $(subst /, ,$(2)))),\
+ $(call gb_Output_error,gb_UnoApi__add_docfile_impl: unknown namespace: $(firstword $(subst /, ,$(2)))) \
+)
+$(call gb_Package_add_file,$(1)_doc,$(gb_UnoApi_DOCDIR)/$(2),$(2))
+
+endef
+
+# gb_UnoApi__add_docfile_direct api htmlfile
+define gb_UnoApi__add_docfile_direct
+$(call gb_UnoApi__add_docfile_impl,$(1),$(patsubst $(1)/%,%,$(2)))
+
+endef
+
+# gb_UnoApi__add_docfile_for_idl api idlfile has-xref?
+define gb_UnoApi__add_docfile_for_idl
+$(if $(filter-out modules %-modules,$(basename $(notdir $(2)))),\
+ $(call gb_UnoApi__add_docfile_direct,$(1),$(2).html) \
+ $(if $(3),$(call gb_UnoApi__add_docfile_direct,$(1),$(2)-xref.html)) \
+)
+
+endef
+
+# gb_UnoApi__add_docfile api idlfile has-xref?
+define gb_UnoApi__add_docfile
+$(call gb_UnoApi__add_docfile_for_idl,$(1),$(2),$(3))
+
+endef
+
+# gb_UnoApi__add_docfiles api dir idlfiles has-xref?
+define gb_UnoApi__add_docfiles
+$(foreach idlfile,$(3),$(call gb_UnoApi__add_docfile_for_idl,$(1),$(2)/$(idlfile),$(3)))
+
+endef
+
+else
+
+gb_UnoApi__add_docfile :=
+gb_UnoApi__add_docfiles :=
+
+endif
+
define gb_UnoApi__add_idlfile_noheader
$(call gb_UnoApi__add_idlfile,$(1),$(2).idl)
@@ -93,12 +148,14 @@ endef
define gb_UnoApi_add_idlfile
$(call gb_UnoApiTarget_add_idlfile,$(1),$(2),$(3))
$(call gb_UnoApi__add_idlfile_full,$(1),$(2)/$(3))
+$(call gb_UnoApi__add_docfile,$(1),$(2)/$(3),$(true))
endef
define gb_UnoApi_add_idlfiles
$(call gb_UnoApiTarget_add_idlfiles,$(1),$(2),$(3))
$(foreach idl,$(3),$(call gb_UnoApi__add_idlfile_full,$(1),$(2)/$(idl)))
+$(call gb_UnoApi__add_docfiles,$(1),$(2),$(3),$(true))
endef
@@ -106,12 +163,14 @@ endef
define gb_UnoApi_add_idlfile_nohdl
$(call gb_UnoApiTarget_add_idlfile,$(1),$(2),$(3))
$(call gb_UnoApi__add_idlfile_nohdl,$(1),$(2)/$(3))
+$(call gb_UnoApi__add_docfile,$(1),$(2)/$(3))
endef
define gb_UnoApi_add_idlfiles_nohdl
$(call gb_UnoApiTarget_add_idlfiles,$(1),$(2),$(3))
$(foreach idl,$(3),$(call gb_UnoApi__add_idlfile_nohdl,$(1),$(2)/$(idl)))
+$(call gb_UnoApi__add_docfiles,$(1),$(2),$(3))
endef
@@ -119,12 +178,14 @@ endef
define gb_UnoApi_add_idlfile_noheader
$(call gb_UnoApiTarget_add_idlfile,$(1),$(2),$(3))
$(call gb_UnoApi__add_idlfile_noheader,$(1),$(2)/$(3))
+$(call gb_UnoApi__add_docfile,$(1),$(2)/$(3))
endef
define gb_UnoApi_add_idlfiles_noheader
$(call gb_UnoApiTarget_add_idlfiles,$(1),$(2),$(3))
$(foreach idl,$(3),$(call gb_UnoApi__add_idlfile_noheader,$(1),$(2)/$(idl)))
+$(call gb_UnoApi__add_docfiles,$(1),$(2),$(3))
endef