From a7a39a34eeb414c7c5183a36fe21dd89a06bf99e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nirgal=20Vourg=C3=A8re?= Date: Sun, 11 Aug 2013 14:02:02 +0200 Subject: [PATCH] Refresh help makefiles from gnome-doc-utils --- .gitignore | 1 + omf.make | 65 ++++++++++++++++++++++ src/gmdb2/help/C/Makefile.am | 9 ++- src/gmdb2/help/C/xmldocs.make | 86 ----------------------------- xmldocs.make | 101 ++++++++++++++++++++++++++++++++++ 5 files changed, 171 insertions(+), 91 deletions(-) create mode 100644 omf.make delete mode 100644 src/gmdb2/help/C/xmldocs.make create mode 100644 xmldocs.make diff --git a/.gitignore b/.gitignore index b0f2bd2..0b13fe8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *.o *.lo *.la +*.out .deps/ .libs/ aclocal.m4 diff --git a/omf.make b/omf.make new file mode 100644 index 0000000..35dec24 --- /dev/null +++ b/omf.make @@ -0,0 +1,65 @@ +# +# No modifications of this Makefile should be necessary. +# +# This file contains the build instructions for installing OMF files. It is +# generally called from the makefiles for particular formats of documentation. +# +# Note that you must configure your package with --localstatedir=/var +# so that the scrollkeeper-update command below will update the database +# in the standard scrollkeeper directory. +# +# If it is impossible to configure with --localstatedir=/var, then +# modify the definition of scrollkeeper_localstate_dir so that +# it points to the correct location. Note that you must still use +# $(localstatedir) in this or when people build RPMs it will update +# the real database on their system instead of the one under RPM_BUILD_ROOT. +# +# Note: This make file is not incorporated into xmldocs.make because, in +# general, there will be other documents install besides XML documents +# and the makefiles for these formats should also include this file. +# +# About this file: +# This file was derived from scrollkeeper_example2, a package +# illustrating how to install documentation and OMF files for use with +# ScrollKeeper 0.3.x and 0.4.x. For more information, see: +# http://scrollkeeper.sourceforge.net/ +# Version: 0.1.3 (last updated: March 20, 2002) +# + +omf_dest_dir=$(datadir)/omf/@PACKAGE@ +scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper + +# At some point, it may be wise to change to something like this: +# scrollkeeper_localstate_dir = @SCROLLKEEPER_STATEDIR@ + +omf: omf_timestamp + +omf_timestamp: $(omffile) + -for file in $(omffile); do \ + absfile=$(srcdir)/$$file; \ + test -r $$file && absfile=$$file; \ + scrollkeeper-preinstall $(docdir)/$(docname).xml $$absfile $$file.out; \ + done; \ + touch omf_timestamp + +install-data-hook-omf: + $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) + for file in $(omffile); do \ + absfile=$(srcdir)/$$file.out; \ + test -r $$file.out && absfile=$$file.out; \ + $(INSTALL_DATA) $$absfile $(DESTDIR)$(omf_dest_dir)/$$file; \ + done + -scrollkeeper-update -p $(DESTDIR)$(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) + +uninstall-local-omf: + -for file in $(omffile); do \ + basefile=`basename $$file`; \ + rm -f $(DESTDIR)$(omf_dest_dir)/$$basefile; \ + done + -rmdir $(DESTDIR)$(omf_dest_dir) + -scrollkeeper-update -p $(DESTDIR)$(scrollkeeper_localstate_dir) + +clean-local-omf: + -for file in $(omffile); do \ + rm -f $$file.out; \ + done diff --git a/src/gmdb2/help/C/Makefile.am b/src/gmdb2/help/C/Makefile.am index d3b1d5b..f5f21b9 100644 --- a/src/gmdb2/help/C/Makefile.am +++ b/src/gmdb2/help/C/Makefile.am @@ -1,9 +1,8 @@ -figs = \ - figures/gmdb2_window.png \ - figures/gmdb2_sql_window.png +include $(top_srcdir)/xmldocs.make +dist-hook: app-dist-hook + +figdir = figures docname = gmdb lang = C omffile = gmdb-C.omf entities = legal.xml -include xmldocs.make -dist-hook: app-dist-hook diff --git a/src/gmdb2/help/C/xmldocs.make b/src/gmdb2/help/C/xmldocs.make deleted file mode 100644 index d857151..0000000 --- a/src/gmdb2/help/C/xmldocs.make +++ /dev/null @@ -1,86 +0,0 @@ -# To use this template: -# 1) Define: figs, docname, lang, omffile, entities although figs, -# omffile, and entities may be empty in your Makefile.am which -# will "include" this one -# 2) Figures must go under figures/ and be in PNG format -# 3) You should only have one document per directory -# -# Note that this makefile forces the directory name under -# $prefix/share/gnome/help/ to be the same as the XML filename -# of the document. This is required by GNOME. eg: -# $prefix/share/gnome/help/fish_applet/C/fish_applet.xml -# ^^^^^^^^^^^ ^^^^^^^^^^^ -# Definitions: -# figs A list of screenshots which will be included in EXTRA_DIST -# Note that these should reside in figures/ and should be .png -# files, or you will have to make modifications below. -# docname This is the name of the XML file: .xml -# lang This is the document locale -# omffile This is the name of the OMF file. Convention is to name -# it -.omf. -# entities This is a list of XML entities which must be installed -# with the main XML file and included in EXTRA_DIST. -# eg: -# figs = \ -# figures/fig1.png \ -# figures/fig2.png -# docname = scrollkeeper-manual -# lang = C -# omffile=scrollkeeper-manual-C.omf -# entities = fdl.xml -# include $(top_srcdir)/help/xmldocs.make -# dist-hook: app-dist-hook -# - -docdir = $(datadir)/gnome/help/$(docname)/$(lang) - -xml_files = $(entities) $(docname).xml - -omf_dir=$(top_srcdir)/omf-install - -EXTRA_DIST = xmldocs.make $(xml_files) $(omffile) $(figs) - -CLEANFILES = omf_timestamp - -all: omf - -omf: omf_timestamp - -omf_timestamp: $(omffile) - -for file in $(omffile); do \ - scrollkeeper-preinstall $(docdir)/`awk 'BEGIN {RS = ">" } /identifier/ {print $$0}' $${file} | awk 'BEGIN {FS="\""} /url/ {print $$2}'` $${file} $(omf_dir)/$${file}; \ - done - touch omf_timestamp - -$(docname).xml: $(entities) - ourdir=`pwd`; \ - cd $(srcdir); \ - cp $(entities) $$ourdir - -app-dist-hook: - -$(mkinstalldirs) $(distdir)/figures - -if [ -e topic.dat ]; then \ - cp $(srcdir)/topic.dat $(distdir); \ - fi - -install-data-am: omf - -$(mkinstalldirs) $(DESTDIR)$(docdir)/figures - -cp $(srcdir)/$(xml_files) $(DESTDIR)$(docdir) - -for file in $(srcdir)/figures/*.png; do \ - basefile=`echo $$file | sed -e 's,^.*/,,'`; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/figures/$$basefile; \ - done - -if [ -e $(srcdir)/topic.dat ]; then \ - $(INSTALL_DATA) $(srcdir)/topic.dat $(DESTDIR)$(docdir); \ - fi - -uninstall-local: - -for file in $(srcdir)/figures/*.png; do \ - basefile=`echo $$file | sed -e 's,^.*/,,'`; \ - rm -f $(docdir)/figures/$$basefile; \ - done - -for file in $(xml_files); do \ - rm -f $(DESTDIR)$(docdir)/$$file; \ - done - -rmdir $(DESTDIR)$(docdir)/figures - -rmdir $(DESTDIR)$(docdir) diff --git a/xmldocs.make b/xmldocs.make new file mode 100644 index 0000000..b93e3f3 --- /dev/null +++ b/xmldocs.make @@ -0,0 +1,101 @@ +# +# No modifications of this Makefile should be necessary. +# +# To use this template: +# 1) Define: figdir, docname, lang, omffile, and entities in +# your Makefile.am file for each document directory, +# although figdir, omffile, and entities may be empty +# 2) Make sure the Makefile in (1) also includes +# "include $(top_srcdir)/xmldocs.make" and +# "dist-hook: app-dist-hook". +# 3) Optionally define 'entities' to hold xml entities which +# you would also like installed +# 4) Figures must go under $(figdir)/ and be in PNG format +# 5) You should only have one document per directory +# 6) Note that the figure directory, $(figdir)/, should not have its +# own Makefile since this Makefile installs those figures. +# +# example Makefile.am: +# figdir = figures +# docname = scrollkeeper-manual +# lang = C +# omffile=scrollkeeper-manual-C.omf +# entities = fdl.xml +# include $(top_srcdir)/xmldocs.make +# dist-hook: app-dist-hook +# +# About this file: +# This file was taken from scrollkeeper_example2, a package illustrating +# how to install documentation and OMF files for use with ScrollKeeper +# 0.3.x and 0.4.x. For more information, see: +# http://scrollkeeper.sourceforge.net/ +# Version: 0.1.2 (last updated: March 20, 2002) +# + + +# ********** Begin of section some packagers may need to modify ********** +# This variable (docdir) specifies where the documents should be installed. +# This default value should work for most packages. +docdir = $(datadir)/gnome/help/$(docname)/$(lang) + +# ********** You should not have to edit below this line ********** +xml_files = $(entities) $(docname).xml + +EXTRA_DIST = $(xml_files) $(omffile) +CLEANFILES = omf_timestamp + +include $(top_srcdir)/omf.make + +all: omf + +$(docname).xml: $(entities) + -ourdir=`pwd`; \ + cd $(srcdir); \ + cp $(entities) $$ourdir + +app-dist-hook: + if test "$(figdir)"; then \ + $(mkinstalldirs) $(distdir)/$(figdir); \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ + done \ + fi + +install-data-local: omf + $(mkinstalldirs) $(DESTDIR)$(docdir) + for file in $(xml_files); do \ + cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ + done + if test "$(figdir)"; then \ + $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ + done \ + fi + +install-data-hook: install-data-hook-omf + +uninstall-local: uninstall-local-doc uninstall-local-omf + +uninstall-local-doc: + -if test "$(figdir)"; then \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + rm -f $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ + done; \ + rmdir $(DESTDIR)$(docdir)/$(figdir); \ + fi + -for file in $(xml_files); do \ + rm -f $(DESTDIR)$(docdir)/$$file; \ + done + -rmdir $(DESTDIR)$(docdir) + +clean-local: clean-local-doc clean-local-omf + +# for non-srcdir builds, remove the copied entities. +clean-local-doc: + if test $(srcdir) != .; then \ + rm -f $(entities); \ + fi