gimp-help-2 r2592 - branches/xml2po-support
- From: ulfehlert svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp-help-2 r2592 - branches/xml2po-support
- Date: Sun, 2 Nov 2008 13:41:21 +0000 (UTC)
Author: ulfehlert
Date: Sun Nov 2 13:41:21 2008
New Revision: 2592
URL: http://svn.gnome.org/viewvc/gimp-help-2?rev=2592&view=rev
Log:
2008-11-02 Ulf-D. Ehlert <ulfehlert svn gnome org>
* autogen.sh: minor changes to make the Makefile more readable
* configure.ac: removed the useless "--disable-build" option:
we definitely need xsltproc, and there are no "prebuilt help files"
* Makefile.GNU: minor changes
* Makefile.am: copied (brute-force) more code from Makefile.GNU
Modified:
branches/xml2po-support/ChangeLog
branches/xml2po-support/Makefile.GNU
branches/xml2po-support/Makefile.am
branches/xml2po-support/autogen.sh
branches/xml2po-support/configure.ac
Modified: branches/xml2po-support/Makefile.GNU
==============================================================================
--- branches/xml2po-support/Makefile.GNU (original)
+++ branches/xml2po-support/Makefile.GNU Sun Nov 2 13:41:21 2008
@@ -3,15 +3,16 @@
########################################################################
# The GIMP manual languages
-ifneq ($(ALL_LINGUAS),)
-LANGUAGES = $(ALL_LINGUAS)
-else
ifneq ($(LINGUAS),)
LANGUAGES = $(LINGUAS)
else
+ifneq ($(ALL_LINGUAS),)
+LANGUAGES = $(ALL_LINGUAS)
+else
LANGUAGES ?= de en es fr it ko nl no pl ru sv
endif
endif
+
XML_LANG = en
PO_LANGS = $(filter-out $(XML_LANG), $(LANGUAGES))
@@ -35,7 +36,8 @@
MSGMERGE = msgmerge
MSGMERGEFLAGS = --quiet --backup=none --update
-# Simple commands
+# Standard shell commands
+echo_n = echo -n
mkdir_p = mkdir -p
ln_s = ln -s
@@ -68,12 +70,12 @@
XML_FILES := $(shell cd $(srcdir) && find $(xmldir) $(xml_file_predicates))
XML_DIRS := $(shell cd $(srcdir) && find $(xmldir) $(dir_predicates))
#DIR_TREE = $(patsubst $(xmldir)/%, %, $(XML_DIRS))
-DIR_TREE = $(XML_DIRS:$(xmldir)/%=%)
+#DIR_TREE = $(XML_DIRS:$(xmldir)/%=%)
#POT_FILES = $(patsubst $(xmldir)/%.xml, $(potdir)/%.pot, $(XML_FILES))
POT_FILES = $(XML_FILES:$(xmldir)/%.xml=$(potdir)/%.pot)
#POT_DIRS = $(patsubst $(xmldir)/%, $(potdir)/%, $(XML_DIRS))
-POT_DIRS = $(XML_DIRS:$(xmldir)/%=$(potdir)/%)
+#POT_DIRS = $(XML_DIRS:$(xmldir)/%=$(potdir)/%)
# XXX: requires that "plainhtml.xsl" has been renamed to "html.xsl"
HTML_STYLESHEETS = stylesheets/html*.xsl
@@ -231,10 +233,9 @@
########################################################################
-#### Make XML files [PO --> XML(non-en)] ####
+#### Make XML files: PO --> XML(non-en) ####
########################################################################
-#$(1)_XML_FILES = $$(patsubst $$(podir)/$(1)/%.po, $$(xmlpodir)/$(1)/%.xml, $$($(1)_PO_FILES))
define MAKE_XML_RULES
$(1)_XML_FILES = $$(XML_FILES:$$(xmldir)/%=$$(xmlpodir)/$(1)/%)
$$($(1)_XML_FILES): $$(xmlpodir)/$(1)/%.xml : $$(podir)/$(1)/%.po
@@ -298,17 +299,15 @@
--xinclude \
--stringparam l10n.gentext.default.language $* \
-o html/$*/ \
- stylesheets/html.xsl \
+ stylesheets/plainhtml.xsl \
$(xmlpodir)/$*/gimp.xml
$(cmd) for file in $(srcdir)/stylesheets/*.css; do \
- test -f $$file || continue; \
- cp -fp $$file html/$*; \
+ if [ -f $$file ]; then cp -fp $$file html/$*; fi; \
done
$(cmd) for file in $(srcdir)/stylesheets/$*/*.css; do \
- test -f $$file || continue; \
- cp -fp $$file html/$*; \
+ if [ -f $$file ]; then cp -fp $$file html/$*; fi; \
done
# The xrefs file is a side effect of the HTML build
@@ -316,7 +315,6 @@
$(cmd) touch $@
#### Context Help ####
-# XXX: IMHO "index" is a bad name
index: $(foreach lang,$(LANGUAGES),index-$(lang)) ;
index-%: html/%/gimp-help.xml ;
@@ -365,12 +363,12 @@
@echo $(POT_FILES)
build-system.png: tools/build-system.dot
- @if type dot >/dev/null; then \
+ $(cmd) if type dot >/dev/null; then \
dot -Tpng -o $@ $<; \
fi
dot: build-system.png
- @if test -e $<; then \
+ $(cmd) if test -e $<; then \
if type display >/dev/null; then \
display $<; \
elif type xv >/dev/null; then \
Modified: branches/xml2po-support/Makefile.am
==============================================================================
--- branches/xml2po-support/Makefile.am (original)
+++ branches/xml2po-support/Makefile.am Sun Nov 2 13:41:21 2008
@@ -2,7 +2,46 @@
SUBDIRS = quickreference
-# Options for the "find images" command:
+# The GIMP manual languages
+# HIDE FROM AUTOMAKE #ifneq ($(LINGUAS),)
+# HIDE FROM AUTOMAKE #LANGUAGES = $(LINGUAS)
+# HIDE FROM AUTOMAKE #else
+# HIDE FROM AUTOMAKE #ifneq ($(ALL_LINGUAS),)
+# HIDE FROM AUTOMAKE #LANGUAGES = $(ALL_LINGUAS)
+# HIDE FROM AUTOMAKE #else
+# HIDE FROM AUTOMAKE #LANGUAGES ?= de en es fr it ko nl no pl ru sv
+# HIDE FROM AUTOMAKE #endif
+# HIDE FROM AUTOMAKE #endif
+
+XML_LANG = en
+PO_LANGS = $(filter-out $(XML_LANG), $(LANGUAGES))
+
+## Essential external programs and their default options
+## (these variables are provided via "configure" -- see configure.ac)
+##
+## XSLTPROC = xsltproc
+## XSLTFLAGS = --nonet
+##
+## XMLLINT = xmllint
+## XMLLINTFLAGS = --nonet -noout
+##
+## XML2PO = tools/xml2po
+##
+## MSGUNIQ = msguniq
+## MSGUNIQFLAGS =
+## MSGCAT = msgcat
+## MSGCATFLAGS = --width=80
+## MSGINIT = msginit
+## MSGINITFLAGS = --no-translator
+## MSGFMT = msgfmt
+## MSGFMTFLAGS = --check --use-fuzzy --statistics
+## MSGMERGE = msgmerge
+## MSGMERGEFLAGS = --quiet --backup=none --update
+
+# Standard shell commands
+echo_n = echo $(ECHO_N)
+
+# options for the "find images" command:
image_find_predicates = \
-name '.svn' -prune \
-o \
@@ -28,10 +67,12 @@
s/$$/ \\)/ ' \
)
+# find HTML files (used when installing html)
html_files_find_predicates = \
-type f -name '*.*' \
-print
+# XML files excluding automatically generated files
src_find_predicates = \
-name '.svn' -prune \
-o \
@@ -39,35 +80,39 @@
-o \
-name '*.xml' -print
+# for generating a list of directories
dir_predicates = \
-name '.svn' -prune \
-o \
-type d -print
+# lists of source (XML) files and source directories
XML_DIRS = $(shell cd $(srcdir) && find $(xmldir) $(dir_predicates))
-
XML_FILES = $(shell cd $(top_srcdir) && find src $(src_find_predicates)) \
$(AUTHORS_DOCBOOK_XML)
+# list of source po template files
+POT_FILES = $(XML_FILES:$(xmldir)/%.xml=$(potdir)/%.pot)
-POT_FILES = $(XML_FILES:$(xmldir)/%.xml=$(potdir)/%.pot)
-
+# stylesheets for HTML
COMMON_CSS_FILES = \
stylesheets/gimp-help-plain.css \
stylesheets/gimp-help-screen.css
+# alternate stylesheets for HTML
OTHER_CSS_FILES = \
- stylesheets/plainhtml.xsl.in \
- stylesheets/htmlalternate.xsl \
- stylesheets/gimp22.css \
- stylesheets/zh_CN/gimp-help-custom.css
+ stylesheets/gimp22.css
+# stylesheets for XSLT
XSL_FILES = \
- stylesheets/authors_docbook.xsl \
- stylesheets/authors_text.xsl \
- stylesheets/makeindex.xsl \
- stylesheets/plainprint.xsl \
+ stylesheets/authors_docbook.xsl \
+ stylesheets/authors_text.xsl \
+ stylesheets/makeindex.xsl \
+ stylesheets/plainprint.xsl \
+ stylesheets/plainhtml.xsl.in \
+ stylesheets/htmlalternate.xsl \
stylesheets/profile.xsl
+# additional files to be distributed (automake)
EXTRA_DIST = \
AUTHORS \
HACKING \
@@ -78,32 +123,134 @@
$(XML_FILES) \
$(XSL_FILES)
+# list of authors and contributors
+AUTHORS_STYLESHEET_XML = stylesheets/authors.xml
+# automatically generated authors section (DocBook)
AUTHORS_DOCBOOK_XML = src/preface/authors.xml
+# TODO?: rename "plainhtml.xsl" to "html.xsl" and use ...
+# ... HTML_STYLESHEETS = stylesheets/html*.xsl
+HTML_STYLESHEETS = stylesheets/plainhtml.xsl stylesheets/htmlalternate.xsl
+
+#
DISTCHECK_CONFIGURE_FLAGS = --without-gimp
+# gimp-help directories
helpdir = $(gimpdatadir)/help
-
xmldir = src
-
xmlpodir = xml
-
potdir = pot
-
podir = po
-#### POT directories
+########################################################################
+#### Control the amount of output messages ####
+########################################################################
+
+# Usage of the "msg" and "cmd" variables:
+# In the command lines of the make rules, use
+# $(msg) bla bla bla instead of @echo bla bla bla
+# $(cmd) command args instead of @command args (or command args)
+# then
+# messages will be suppressed if (and only if) VERBOSE=0,
+# commands will be printed if (and only if) VERBOSE=2.
+#
+# HIDE FROM AUTOMAKE #VERBOSE ?= 1
+# HIDE FROM AUTOMAKE #ifeq ("$(VERBOSE)", "0")
+# HIDE FROM AUTOMAKE #msg = @:
+# HIDE FROM AUTOMAKE #cmd = @
+# HIDE FROM AUTOMAKE #else
+# HIDE FROM AUTOMAKE #ifeq ("$(VERBOSE)", "2")
+# HIDE FROM AUTOMAKE #msg = @echo
+# HIDE FROM AUTOMAKE #cmd =
+# HIDE FROM AUTOMAKE #else
+# HIDE FROM AUTOMAKE #msg = @echo
+# HIDE FROM AUTOMAKE #cmd = @
+# HIDE FROM AUTOMAKE #endif
+# HIDE FROM AUTOMAKE #endif
+
+
+########################################################################
+#### Make AUTHORS file ####
+########################################################################
+
+AUTHORS: $(AUTHORS_STYLESHEET_XML) stylesheets/authors_text.xsl $(AUTHORS_DOCBOOK_XML)
+ @echo "Creating $@"
+ $(cmd) $(XSLTPROC) \
+ $(XSLTFLAGS) \
+ $(srcdir)/stylesheets/authors_text.xsl \
+ $< \
+ > $@
+
+$(AUTHORS_DOCBOOK_XML): $(AUTHORS_STYLESHEET_XML) src/preface/titles.xml stylesheets/authors_*.xsl
+ @echo "Creating $@"
+ $(cmd) $(XSLTPROC) \
+ $(XSLTFLAGS) \
+ $(srcdir)/stylesheets/authors_docbook.xsl \
+ $< \
+ > $@
+
+
+#--------------------------------------------------------------#
+# The main functions used to transform #
+# (a) XML files to POT files #
+# (b) POT files to PO files #
+# (c) XML and PO files to XML files #
+#--------------------------------------------------------------#
+
+# Create a PO-template (POT)
+#
+# Usage:
+# $(call xml2pot,xml-file,pot-file)
+# Parameters:
+# $1 - original (untranslated) XML file
+# $2 - POT template file containing translatable tags
+#
+# Hint: Do not use 'grep' for filtering-out the warning
+# messages, since grep's exit status is 1 if there is no match.
xml2pot = ($(XML2PO) --output='-' "$(1)" \
| $(MSGUNIQ) $(MSGUNIQFLAGS) \
| $(MSGCAT) $(MSGCATFLAGS) - > "$(2)") 2>&1 \
| sed -e '/image file .* not found/d'
+# Merge template (pot) and message catalog (po)
+# or create a new catalog
+#
+# Usage:
+# $(call pot2po,pot-file,language,po-file)
+# Parameters:
+# $1 - input POT file
+# $2 - translation language
+# $3 - output PO file
+# TODO: include compendium (cf. "info msgmerge")
+pot2po = if [ -f $@ ]; then \
+ $(MSGFMT) $(MSGFMTFLAGS) $(3); \
+ $(MSGMERGE) $(MSGMERGEFLAGS) $(3) $(1) && touch $(3); \
+ else \
+ $(MSGINIT) $(MSGINITFLAGS) --input $(1) --locale=$(2) --output $(3); \
+ fi
+
+# Merge PO file into (translated) XML file
+#
+# Usage:
+# $(call po2xml,en-xml-file,po-file,language,translated-xml-file)
+# Parameters:
+# $1 - original (untranslated) XML file
+# $2 - PO file containing translations
+# $3 - translation language
+# $4 - resulting (translated) XML file
+po2xml = $(XML2PO) --po-file=$(2) --language=$(3) --output=$(4) $(1) 2>&1 \
+ | sed -e '/Warning: image file .* not found./d'
+
+
+########################################################################
+#### Make pot files: XML(en) --> POT ####
+########################################################################
$(POT_FILES): $(potdir)/%.pot : $(xmldir)/%.xml
- @f=$@; d=$${f%/*}; test -d $$d || $(mkdir_p) $$d
- @echo "[POT] $@"
- @if test -s $<; then \
+ $(cmd) f=$@; d=$${f%/*}; test -d $$d || $(mkdir_p) $$d
+ $(msg) "[POT] $@"
+ $(cmd) if test -s $<; then \
$(call xml2pot,$<,$@);\
else \
touch $@; \
@@ -115,22 +262,16 @@
potfiles: $(POT_FILES)
-#### POT -> PO
-PO_LANGS = $(filter-out $(XML_LANG), $(ALL_LINGUAS))
-
-pot2po = if [ -f $@ ]; then \
- $(MSGFMT) $(MSGFMTFLAGS) $(3); \
- $(MSGMERGE) $(MSGMERGEFLAGS) $(3) $(1) && touch $(3); \
- else \
- $(MSGINIT) $(MSGINITFLAGS) --input $(1) --locale=$(2) --output $(3); \
- fi
+########################################################################
+#### Make po files: POT --> PO ####
+########################################################################
# HIDE FROM AUTOMAKE #define MAKE_PO_RULES
# HIDE FROM AUTOMAKE #$(1)_PO_FILES = $$(patsubst $$(potdir)/%.pot, $$(podir)/$(1)/%.po, $$(POT_FILES))
# HIDE FROM AUTOMAKE #$$($(1)_PO_FILES): $$(podir)/$(1)/%.po : $$(potdir)/%.pot
-# HIDE FROM AUTOMAKE # @f=$$@; d=$$$${f%/*}; test -d $$$$d || $$(mkdir_p) $$$$d
-# HIDE FROM AUTOMAKE # @echo "[PO] $$@"
-# HIDE FROM AUTOMAKE # @if test -s $$<; then $$(call pot2po,$$<,$(1),$$@); else touch $$@; fi
+# HIDE FROM AUTOMAKE # $$(cmd) f=$$@; d=$$$${f%/*}; test -d $$$$d || $$(mkdir_p) $$$$d
+# HIDE FROM AUTOMAKE # $$(msg) "[PO] $$@"
+# HIDE FROM AUTOMAKE # $$(cmd) if test -s $$<; then $$(call pot2po,$$<,$(1),$$@); else touch $$@; fi
# HIDE FROM AUTOMAKE ## Debugging
# HIDE FROM AUTOMAKE #list-pofiles-$(1) list-po-files-$(1) list-po-$(1):
# HIDE FROM AUTOMAKE # @echo $$($(1)_PO_FILES)
@@ -147,23 +288,23 @@
po-en: ;
-#### PO -> XML
-po2xml = $(XML2PO) --po-file=$(2) --language=$(3) --output=$(4) $(1) 2>&1 \
- | sed -e '/Warning: image file .* not found./d'
+########################################################################
+#### Make XML files: PO --> XML(non-en) ####
+########################################################################
# HIDE FROM AUTOMAKE #define MAKE_XML_RULES
# HIDE FROM AUTOMAKE #$(1)_XML_FILES = $$(XML_FILES:$$(xmldir)/%=$$(xmlpodir)/$(1)/%)
# HIDE FROM AUTOMAKE #$$($(1)_XML_FILES): $$(xmlpodir)/$(1)/%.xml : $$(podir)/$(1)/%.po
-# HIDE FROM AUTOMAKE # @f=$$@; d=$$$${f%/*}; test -d $$$$d || $$(mkdir_p) $$$$d
-# HIDE FROM AUTOMAKE # @echo "[XML] $$@"
-# HIDE FROM AUTOMAKE # @if test -s $$(@:$$(xmlpodir)/$(1)/%=$$(xmldir)/%); then \
+# HIDE FROM AUTOMAKE # $$(cmd) f=$$@; d=$$$${f%/*}; test -d $$$$d || $$(mkdir_p) $$$$d
+# HIDE FROM AUTOMAKE # $$(msg) "[XML] $$@"
+# HIDE FROM AUTOMAKE # $$(cmd) if test -s $$(@:$$(xmlpodir)/$(1)/%=$$(xmldir)/%); then \
# HIDE FROM AUTOMAKE # $$(call po2xml,$$(@:$$(xmlpodir)/$(1)/%=$$(xmldir)/%),$$<,$(1),$$@); \
# HIDE FROM AUTOMAKE # else \
# HIDE FROM AUTOMAKE # touch $$@; \
# HIDE FROM AUTOMAKE # fi
# HIDE FROM AUTOMAKE ## This is indirectly used as HTML prerequisite:
# HIDE FROM AUTOMAKE #$$(xmlpodir)/$(1): $$($(1)_XML_FILES)
-# HIDE FROM AUTOMAKE # touch $$(xmlpodir)/$(1)
+# HIDE FROM AUTOMAKE # $$(cmd) touch $$(xmlpodir)/$(1)
# HIDE FROM AUTOMAKE ## Debugging
# HIDE FROM AUTOMAKE #list-xmlfiles-$(1) list-xml-files-$(1) list-xml-$(1):
# HIDE FROM AUTOMAKE # @echo $$($(1)_XML_FILES)
@@ -174,218 +315,212 @@
$(foreach LANG,$(PO_LANGS),$(eval $(call MAKE_XML_RULES,$(LANG))))
# Special case: en
-en_XML_FILES = $(XML_FILES:$(xmldir)/%=$(xmlpodir)/en/%)
+# HIDE FROM AUTOMAKE #en_XML_FILES = $(XML_FILES:$(xmldir)/%=$(xmlpodir)/en/%)
$(en_XML_FILES): $(xmlpodir)/en
# TODO: make relative link rather than absolute link(?)
$(xmlpodir)/en: $(XML_FILES)
- $(cmd) target_dir=$$(cd $(srcdir)/$(xmldir) && pwd); \
- link_dir=$(builddir)/$(xmlpodir); \
- test -d $${link_dir} || $(fake) $(mkdir_p) $${link_dir}; \
- test -d $${link_dir}/en || $(fake) $(ln_s) $${target_dir} $${link_dir}/en; \
+ $(cmd) src_dir=$$(cd $(srcdir)/$(xmldir) && pwd); \
+ poxml_dir=$(builddir)/$(xmlpodir); \
+ test -d $${poxml_dir} || $(mkdir_p) $${poxml_dir}; \
+ test -d $${poxml_dir}/en || $(ln_s) $${src_dir} $${poxml_dir}/en; \
touch $@
-
-# Targets suitable for command line
-
# Special case: en
xml-en: $(xmlpodir)/en ;
-#### XML profiling
-
-# Note that "src/gimp.xml" must be the first prerequisite
-# (it doesn't matter that it's listed twice)
-xml/%.xml: src/gimp.xml stylesheets/profile.xsl $(XML_FILES)
- @$(mkdir_p) xml
+########################################################################
+#### Make HTML files: XML --> HTML ####
+########################################################################
- @echo "Profiling XML for:" $*
- @$(XSLTPROC) \
- $(XSLTFLAGS) \
- --xinclude \
- --stringparam profile.lang $* \
- $(top_srcdir)/stylesheets/profile.xsl \
- $< \
- > $ tmp
+# Note that Automake already defines an "html" target
+html-local: $(foreach lang,$(ALL_LINGUAS),html-$(lang))
- @sed -e 's/xmlns[:a-z]*="[^"]*" //' \
- -e 's/lang="[A-Za-z_;]*"/lang="$*"/' \
- -e '/^[ \t]*$$/d' \
- < $ tmp \
- > $@
+#html-%: index-% html/%/index.html ;
+html-%: index-% ;
- @rm -f $ tmp
+html/%/index.html: $(xmlpodir)/% $(HTML_STYLESHEETS)
+ $(msg) "*** Making html for $* ... "
+ $(cmd) rm -rf html/$*
+ $(cmd) $(mkdir_p) html/$*
+ $(cmd) test -L html/images || $(ln_s) ../images html/
-if HAVE_XMLLINT
- @$(XMLLINT) --noout $@
-endif
+ $(cmd) $(XSLTPROC) \
+ $(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
+ --xinclude \
+ --stringparam l10n.gentext.default.language $* \
+ -o html/$*/ \
+ stylesheets/plainhtml.xsl \
+ $(xmlpodir)/$*/gimp.xml
-#### PDF output
+ $(cmd) for file in $(srcdir)/stylesheets/*.css; do \
+ if [ -f $$file ]; then cp -fp $$file html/$*; fi; \
+ done
-if HAVE_DBLATEX
+ $(cmd) for file in $(srcdir)/stylesheets/$*/*.css; do \
+ if [ -f $$file ]; then cp -fp $$file html/$*; fi; \
+ done
-pdf/%.pdf: xml/%.xml stylesheets/plainprint.xsl
- $(mkdir_p) pdf
- dblatex -p $(top_srcdir)/stylesheets/plainprint.xsl $< -o $@
+# The xrefs file is a side effect of the HTML build
+html/%/gimp-xrefs.xml: html/%/index.html
+ $(cmd) touch $@
-# Note that Automake already defines a "pdf" target
-pdf-local: $(foreach lang,$(ALL_LINGUAS),pdf/$(lang).pdf)
+#### Context Help ####
+index: $(foreach lang,$(LANGUAGES),index-$(lang)) ;
+index-%: html/%/gimp-help.xml ;
-else
+html/%/gimp-help.xml: html/%/gimp-xrefs.xml stylesheets/makeindex.xsl
+ $(cmd) $(XSLTPROC) \
+ $(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
+ $(srcdir)/stylesheets/makeindex.xsl \
+ $< \
+ > $@
-pdf-local:
- @echo "*** Cannot build PDFs because dblatex(1) was not found ***"
- @false
+.PRECIOUS: \
+ html/%/index.html \
+ html/%/gimp-help.xml \
+ html/%/gimp-xrefs.xml
-endif
-#### ODF output
+## TODO ## #### XML profiling
+## TODO ##
+## TODO ## # Note that "src/gimp.xml" must be the first prerequisite
+## TODO ## # (it doesn't matter that it's listed twice)
+## TODO ## xml/%.xml: src/gimp.xml stylesheets/profile.xsl $(XML_FILES)
+## TODO ## @$(mkdir_p) xml
+## TODO ##
+## TODO ## @echo "Profiling XML for:" $*
+## TODO ## @$(XSLTPROC) \
+## TODO ## $(XSLTFLAGS) \
+## TODO ## --xinclude \
+## TODO ## --stringparam profile.lang $* \
+## TODO ## $(top_srcdir)/stylesheets/profile.xsl \
+## TODO ## $< \
+## TODO ## > $ tmp
+## TODO ##
+## TODO ## @sed -e 's/xmlns[:a-z]*="[^"]*" //' \
+## TODO ## -e 's/lang="[A-Za-z_;]*"/lang="$*"/' \
+## TODO ## -e '/^[ \t]*$$/d' \
+## TODO ## < $ tmp \
+## TODO ## > $@
+## TODO ##
+## TODO ## @rm -f $ tmp
+## TODO ##
+## TODO ## if HAVE_XMLLINT
+## TODO ## @$(XMLLINT) --noout $@
+## TODO ## endif
-if HAVE_DOCBOOK2ODF
+## TODO ## #### PDF output
-odf/%.odt: xml/%.xml
- $(mkdir_p) odf
- $(DOCBOOK2ODF) --debug -v $< --output-dir=`pwd` --output-file=$@
+if HAVE_DBLATEX
-odf: $(foreach lang,$(ALL_LINGUAS),odf/$(lang).odt)
+## TODO ## pdf/%.pdf: xml/%.xml stylesheets/plainprint.xsl
+## TODO ## $(mkdir_p) pdf
+## TODO ## dblatex -p $(top_srcdir)/stylesheets/plainprint.xsl $< -o $@
+## TODO ##
+## TODO ## # Note that Automake already defines a "pdf" target
+## TODO ## pdf-local: $(foreach lang,$(ALL_LINGUAS),pdf/$(lang).pdf)
else
-odf:
- @echo "*** Cannot build ODFs because docbook2odf(1) was not found ***"
- @false
+## TODO ## pdf-local:
+## TODO ## @echo "*** Cannot build PDFs because dblatex(1) was not found ***"
+## TODO ## @false
endif
-#### HTML output
+## TODO ## #### ODF output
-if GIMP_HELP_BUILD
-
-# Main text
-html/%/index.html: xml/%.xml stylesheets/plainhtml.xsl stylesheets/htmlalternate.xsl
- @rm -rf html/$*
- @$(mkdir_p) html/$*
- @test -d html/images || $(LN_S) $(abs_top_srcdir)/images html/
-
- @echo "Creating HTML for: " $*
- @$(XSLTPROC) \
- $(XSLTFLAGS) \
- --xinclude \
- --stringparam l10n.gentext.default.language $* \
- -o html/$*/ \
- stylesheets/plainhtml.xsl \
- $<
-
- @for file in $(top_srcdir)/stylesheets/*.css; do \
- test -f $$file || continue; \
- echo "Adding stylesheet: $$file"; \
- cp -fp $$file html/$*; \
- done
-
- @for file in $(top_srcdir)/stylesheets/$*/*.css; do \
- test -f $$file || continue; \
- echo "Adding language-specific stylesheet: $$file"; \
- cp -fp $$file html/$*; \
- done
-
-# The xrefs file is a side effect of the HTML build
-html/%/gimp-xrefs.xml: html/%/index.html
- @touch $@
-
-# Index
-html/%/gimp-help.xml: html/%/gimp-xrefs.xml stylesheets/makeindex.xsl
- $(XSLTPROC) \
- $(XSLTFLAGS) \
- $(top_srcdir)/stylesheets/makeindex.xsl \
- $< \
- > $@
-
-# Note that Automake already defines an "html" target
-html-local: $(foreach lang,$(ALL_LINGUAS),html/$(lang)/index.html)
-
-index: $(foreach lang,$(ALL_LINGUAS),html/$(lang)/gimp-help.xml)
+if HAVE_DOCBOOK2ODF
-else # GIMP_HELP_BUILD
+## TODO ## odf/%.odt: xml/%.xml
+## TODO ## $(mkdir_p) odf
+## TODO ## $(DOCBOOK2ODF) --debug -v $< --output-dir=`pwd` --output-file=$@
-html-local:
- @echo "*** Cannot build HTML because --disable-build was specified ***"
- @false
+## TODO ## odf: $(foreach lang,$(ALL_LINGUAS),odf/$(lang).odt)
-index:
- @echo "*** Cannot build indexes because --disable-build was specified ***"
- @false
+else
-endif # GIMP_HELP_BUILD
+## TODO ## odf:
+## TODO ## @echo "*** Cannot build ODFs because docbook2odf(1) was not found ***"
+## TODO ## @false
-#### HTML preview
+endif
-preview: html index
- rm -rf preview
- $(mkdir_p) preview
- cd preview && $(LN_S) ../html/* .
- cd preview && $(LN_S) $(abs_top_srcdir)/images .
-
-preview-%: html/%/index.html html/%/gimp-help.xml
- rm -rf preview-$*
- $(mkdir_p) preview-$*
- cd preview-$* && $(LN_S) ../html/$* .
- cd preview-$* && $(LN_S) $(abs_top_srcdir)/images .
-
-#### HTML draft (single page preview)
-
-%.draft: %.xml
- @echo "Making draft page (ignore any XSLT complaints):"
- @for lang in $(ALL_LINGUAS); do \
- test -d $(builddir)/html/$$lang && continue || \
- $(mkdir_p) $(builddir)/html/$$lang; \
- cp -fp $(srcdir)/stylesheets/*.css $(builddir)/html/$$lang; \
- for file in $(srcdir)/stylesheets/$$lang/*.css; do \
- test -f $$file || continue; \
- cp -fp $$file $(builddir)/html/$$lang/; \
- done; \
- done
- @id=`sed -e 's/.*id=.//; tmatch; d; :match; s/["'"'"'].*//; q' $<`; \
- test -n "$$id" || id=noname; \
- for lang in $(ALL_LINGUAS); do \
- echo "Making $(builddir)/html/$$lang/$${id}-draft.html ... "; \
- $(XSLTPROC) \
- $(XSLTFLAGS) \
- $(XSLTEXTRAFLAGS) \
- --xinclude \
- --stringparam profile.lang $$lang \
- --novalid \
- $(srcdir)/stylesheets/profile.xsl \
- $< \
- | \
- sed -e 's/xmlns[:a-z]*="[^"]*" //' \
- -e 's/lang="[A-Za-z_;]*"/lang="'$$lang'"/' \
- -e '/^[ \t]*$$/d' \
- | \
- $(XSLTPROC) \
- $(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
- --xinclude \
- --stringparam l10n.gentext.default.language $* \
- --novalid \
- --output $(builddir)/html/$$lang/$${id}-draft.html \
- $(srcdir)/stylesheets/drafthtml.xsl \
- - \
- ; \
- done && \
- echo "(Remember that links won't work in a draft file.)"
+## TODO OR NOT TODO ## #### HTML preview
-#### Language-specific HTML tarballs for distribution
+## TODO OR NOT TODO ## preview: html index
+## TODO OR NOT TODO ## rm -rf preview
+## TODO OR NOT TODO ## $(mkdir_p) preview
+## TODO OR NOT TODO ## cd preview && $(LN_S) ../html/* .
+## TODO OR NOT TODO ## cd preview && $(LN_S) $(abs_top_srcdir)/images .
+
+## TODO OR NOT TODO ## preview-%: html/%/index.html html/%/gimp-help.xml
+## TODO OR NOT TODO ## rm -rf preview-$*
+## TODO OR NOT TODO ## $(mkdir_p) preview-$*
+## TODO OR NOT TODO ## cd preview-$* && $(LN_S) ../html/$* .
+## TODO OR NOT TODO ## cd preview-$* && $(LN_S) $(abs_top_srcdir)/images .
+
+## TODO ## #### HTML draft (single page preview)
+
+## TODO ## %.draft: %.xml
+## TODO ## @echo "Making draft page (ignore any XSLT complaints):"
+## TODO ## @for lang in $(ALL_LINGUAS); do \
+## TODO ## test -d $(builddir)/html/$$lang && continue || \
+## TODO ## $(mkdir_p) $(builddir)/html/$$lang; \
+## TODO ## cp -fp $(srcdir)/stylesheets/*.css $(builddir)/html/$$lang; \
+## TODO ## for file in $(srcdir)/stylesheets/$$lang/*.css; do \
+## TODO ## test -f $$file || continue; \
+## TODO ## cp -fp $$file $(builddir)/html/$$lang/; \
+## TODO ## done; \
+## TODO ## done
+## TODO ##
+## TODO ## @id=`sed -e 's/.*id=.//; tmatch; d; :match; s/["'"'"'].*//; q' $<`; \
+## TODO ## test -n "$$id" || id=noname; \
+## TODO ## for lang in $(ALL_LINGUAS); do \
+## TODO ## echo "Making $(builddir)/html/$$lang/$${id}-draft.html ... "; \
+## TODO ## $(XSLTPROC) \
+## TODO ## $(XSLTFLAGS) \
+## TODO ## $(XSLTEXTRAFLAGS) \
+## TODO ## --xinclude \
+## TODO ## --stringparam profile.lang $$lang \
+## TODO ## --novalid \
+## TODO ## $(srcdir)/stylesheets/profile.xsl \
+## TODO ## $< \
+## TODO ## | \
+## TODO ## sed -e 's/xmlns[:a-z]*="[^"]*" //' \
+## TODO ## -e 's/lang="[A-Za-z_;]*"/lang="'$$lang'"/' \
+## TODO ## -e '/^[ \t]*$$/d' \
+## TODO ## | \
+## TODO ## $(XSLTPROC) \
+## TODO ## $(XSLTFLAGS) $(XSLTEXTRAFLAGS) \
+## TODO ## --xinclude \
+## TODO ## --stringparam l10n.gentext.default.language $* \
+## TODO ## --novalid \
+## TODO ## --output $(builddir)/html/$$lang/$${id}-draft.html \
+## TODO ## $(srcdir)/stylesheets/drafthtml.xsl \
+## TODO ## - \
+## TODO ## ; \
+## TODO ## done && \
+## TODO ## echo "(Remember that links won't work in a draft file.)"
+
+
+########################################################################
+#### Language-specific HTML tarballs for distribution ####
+########################################################################
-tarball_prefix := gimp-help-2-html
+# HIDE FROM AUTOMAKE #tarball_prefix := gimp-help-2-html
.SECONDARY: $(tarball_prefix)-%.tar
$(tarball_prefix)-%.tar: html/%/index.html html/%/gimp-help.xml
- rm -rf $(tarball_prefix)-$*
- $(mkdir_p) $(tarball_prefix)-$*
- cd $(tarball_prefix)-$* && $(LN_S) ../html/$* .
- cd $(tarball_prefix)-$* && $(LN_S) $(abs_top_srcdir)/images .
- tar chf $@ --exclude .svn $(tarball_prefix)-$*
- rm -rf $(tarball_prefix)-$*
+ $(cmd) rm -rf $(tarball_prefix)-$*
+ $(cmd) $(mkdir_p) $(tarball_prefix)-$*
+ $(cmd) cd $(tarball_prefix)-$* && $(LN_S) ../html/$* .
+ $(cmd) cd $(tarball_prefix)-$* && $(LN_S) ../html/images .
+ $(cmd) tar -chf $@ --exclude .svn $(tarball_prefix)-$*
+ $(cmd) rm -rf $(tarball_prefix)-$*
$(tarball_prefix)-%.tar.gz: $(tarball_prefix)-%.tar
gzip -c9 $< > $@
@@ -405,130 +540,101 @@
$(tarball_prefix)-$(lang).zip \
)
-#### XML validation
+## TODO ## #### XML validation
if HAVE_XMLLINT
-xml/stamp-%-valid: xml/%.xml
- @echo "Validating XML for:" $*
- @$(XMLLINT) --noout --valid $< > /dev/null
- @touch $@
-
-validate: $(foreach lang,$(ALL_LINGUAS),xml/stamp-$(lang)-valid)
+## TODO ## xml/stamp-%-valid: xml/%.xml
+## TODO ## @echo "Validating XML for:" $*
+## TODO ## @$(XMLLINT) --noout --valid $< > /dev/null
+## TODO ## @touch $@
+## TODO ##
+## TODO ## validate: $(foreach lang,$(ALL_LINGUAS),xml/stamp-$(lang)-valid)
else
-validate:
- @echo "*** Cannot validate XML because xmllint(1) was not found ***"
+## TODO ## validate:
+## TODO ## @echo "*** Cannot validate XML because xmllint(1) was not found ***"
endif
-#### Miscellaneous checks
+## TODO ## #### Miscellaneous checks
-.PHONY: checks check-lang-attributes check-svn-property check-image-references
+## TODO ## .PHONY: checks check-lang-attributes check-svn-property check-image-references
-# Note that the default (autoconf) target name is "check".
-checks: check-lang-attributes check-svn-property check-image-references
-
-check-lang-attributes:
- @if cd $(srcdir) && test -e tools/check_lang_attributes.pl && \
- type perl >/dev/null 2>&1; then \
- echo "*** Checking lang attributes ... "; \
- perl tools/check_lang_attributes.pl --verbose --path src || true; \
- else \
- echo >&2 "*** Cannot check lang attributes (no Perl installed?) ***"; \
- fi
-
-check-svn-property:
- @if cd $(srcdir) && test -e tools/check_keywords_property.pl && \
- type perl >/dev/null 2>&1; then \
- echo "*** Checking svn property ... "; \
- perl tools/check_keywords_property.pl -v || true; \
- else \
- echo >&2 "*** Cannot check svn property (no Perl installed?) ***"; \
- fi
+## TODO ## # Note that the default (autoconf) target name is "check".
+## TODO ## checks: check-svn-property check-image-references
-check-image-references:
- @if cd $(srcdir) && test -e tools/validate_references.py && \
- type python >/dev/null 2>&1; then \
- echo "*** Checking image references ... "; \
- python tools/validate_references.py --verbose --broken --orphaned || true; \
- else \
- echo >&2 "*** Cannot check image references (no Python installed?) ***"; \
- fi
+## TODO ## check-svn-property:
+## TODO ## @if cd $(srcdir) && test -e tools/check_keywords_property.pl && \
+## TODO ## type perl >/dev/null 2>&1; then \
+## TODO ## echo "*** Checking svn property ... "; \
+## TODO ## perl tools/check_keywords_property.pl -v || true; \
+## TODO ## else \
+## TODO ## echo >&2 "*** Cannot check svn property (no Perl installed?) ***"; \
+## TODO ## fi
+
+## TODO ## check-image-references:
+## TODO ## @if cd $(srcdir) && test -e tools/validate_references.py && \
+## TODO ## type python >/dev/null 2>&1; then \
+## TODO ## echo "*** Checking image references ... "; \
+## TODO ## python tools/validate_references.py --verbose --broken --orphaned || true; \
+## TODO ## else \
+## TODO ## echo >&2 "*** Cannot check image references (no Python installed?) ***"; \
+## TODO ## fi
+
+## TODO ## #### Installation
+## TODO ##
+## TODO ## install-data-local:
+## TODO ## $(mkdir_p) $(DESTDIR)$(helpdir)
+## TODO ##
+## TODO ## @$(echo_n) "** Installing HTML:"
+## TODO ## @cd html && \
+## TODO ## for lang in $(ALL_LINGUAS); do \
+## TODO ## $(mkdir_p) $(DESTDIR)$(helpdir)/$$lang && $(echo_n) " $$lang"; \
+## TODO ## find $$lang $(html_files_find_predicates) | \
+## TODO ## while read file; do \
+## TODO ## $(INSTALL_DATA) $$file $(DESTDIR)$(helpdir)/$$file || exit 66; \
+## TODO ## done \
+## TODO ## done
+## TODO ## @echo .
+## TODO ##
+## TODO ## @echo "** Installing images: (G=gif, J=jpg, M=mng, P=png, X=xcf)"
+## TODO ##
+## TODO ## @(cd $(top_srcdir) && find images $(image_find_predicates)) | \
+## TODO ## while read file; do \
+## TODO ## case "$$file" in \
+## TODO ## *.png) $(echo_n) P ;; \
+## TODO ## *.jpg) $(echo_n) J ;; \
+## TODO ## *.xcf) $(echo_n) X ;; \
+## TODO ## *.mng) $(echo_n) M ;; \
+## TODO ## *.gif) $(echo_n) G ;; \
+## TODO ## esac; \
+## TODO ## test -d $(DESTDIR)$(helpdir)/$${file%/*} || \
+## TODO ## $(mkdir_p) $(DESTDIR)$(helpdir)/$${file%/*}; \
+## TODO ## $(INSTALL) $(top_srcdir)/$$file $(DESTDIR)$(helpdir)/$$file || exit 66; \
+## TODO ## done
+## TODO ## @echo .
+## TODO ##
+## TODO ## uninstall-local:
+## TODO ## rm -rf $(DESTDIR)$(helpdir)
if HAVE_DOT
+########################################################################
+#### Build system development ####
+########################################################################
build-system.png: tools/build-system.dot
- @$(DOT) -Tpng -o $@ $<; \
+ $(cmd) $(DOT) -Tpng -o $@ $< && \
echo "$@ created."
dot: build-system.png
-
endif
-#### AUTHORS file creation
-
-AUTHORS: stylesheets/authors.xml stylesheets/authors_text.xsl $(AUTHORS_DOCBOOK_XML)
- @echo "Creating $@"
- @$(XSLTPROC) \
- $(XSLTFLAGS) \
- $(srcdir)/stylesheets/authors_text.xsl \
- $< \
- > $@
-
-$(AUTHORS_DOCBOOK_XML): stylesheets/authors.xml src/preface/titles.xml stylesheets/authors_*.xsl
- @echo "Creating $@"
- @$(XSLTPROC) \
- $(XSLTFLAGS) \
- $(srcdir)/stylesheets/authors_docbook.xsl \
- $< \
- > $@
-
-
-#### Installation
-
-install-data-local:
- $(mkdir_p) $(DESTDIR)$(helpdir)
- @echo -n "** Installing HTML:"
- @cd html && \
- for lang in $(ALL_LINGUAS); do \
- $(mkdir_p) $(DESTDIR)$(helpdir)/$$lang && echo -n " $$lang"; \
- find $$lang $(html_files_find_predicates) | \
- while read file; do \
- $(INSTALL_DATA) $$file $(DESTDIR)$(helpdir)/$$file || exit 66; \
- done \
- done
- @echo .
-
- @echo "** Installing images: (G=gif, J=jpg, M=mng, P=png, X=xcf)"
-
- @(cd $(top_srcdir) && find images $(image_find_predicates)) | \
- while read file; do \
- case "$$file" in \
- *.png) echo -n P ;; \
- *.jpg) echo -n J ;; \
- *.xcf) echo -n X ;; \
- *.mng) echo -n M ;; \
- *.gif) echo -n G ;; \
- esac; \
- test -d $(DESTDIR)$(helpdir)/$${file%/*} || \
- $(mkdir_p) $(DESTDIR)$(helpdir)/$${file%/*}; \
- $(INSTALL) $(top_srcdir)/$$file $(DESTDIR)$(helpdir)/$$file || exit 66; \
- done
- @echo .
-
-uninstall-local:
- rm -rf $(DESTDIR)$(helpdir)
+## TODO ## check-local: validate
-#### Et cetera
-
-check-local: validate
-
-if GIMP_HELP_BUILD
-all-local: validate html-local index AUTHORS
-endif
+all-local: html-local index AUTHORS
dist-hook: dist-copy-images
@@ -536,17 +642,15 @@
## EXTRA_DIST we get an "Argument list too long" error. So we handle it here.
dist-copy-images:
- test -d "$(top_srcdir)/images" && test -d "$(distdir)"
+ $(cmd) test -d "$(top_srcdir)/images" && test -d "$(distdir)"
@echo "Copying images into distdir $(distdir) ..."
- @(cd $(top_srcdir) && tar -cf- --exclude=.svn images) \
+ $(cmd)(cd $(top_srcdir) && tar -cf- --exclude=.svn images) \
| (cd $(distdir) && tar -xf-)
- test -d "$(distdir)/images" && test ! -d "$(distdir)/images/.svn"
+ $(cmd) test -d "$(distdir)/images" && test ! -d "$(distdir)/images/.svn"
clean-local:
-if GIMP_HELP_BUILD
rm -rf html
-endif
rm -rf odf
rm -rf pdf
rm -rf preview
@@ -564,9 +668,9 @@
# on them fails, 'kay?
#
.PRECIOUS: \
- xml/%.xml \
- pdf/%.pdf \
- odf/%.odf \
+ xml/%/gimp.xml \
+ pdf/%/gimp.pdf \
+ odf/%/gimp.odf \
html/%/gimp-xrefs.xml \
html/%/gimp-help.xml \
html/%/index.html
Modified: branches/xml2po-support/autogen.sh
==============================================================================
--- branches/xml2po-support/autogen.sh (original)
+++ branches/xml2po-support/autogen.sh Sun Nov 2 13:41:21 2008
@@ -98,7 +98,11 @@
$AUTOMAKE --add-missing || exit 1
if [ -e Makefile.in ]; then
- sed -e 's/^# HIDE FROM AUTOMAKE #//' Makefile.in > Makefile.in.tmp &&
+ sed -e 's/^# HIDE FROM AUTOMAKE #//' \
+ -e '/^all\(-local\)\?:/i\
+\
+\
+' Makefile.in > Makefile.in.tmp &&
mv Makefile.in.tmp Makefile.in
else
echo >&2 "Error: cannot find Makefile.in"
Modified: branches/xml2po-support/configure.ac
==============================================================================
--- branches/xml2po-support/configure.ac (original)
+++ branches/xml2po-support/configure.ac Sun Nov 2 13:41:21 2008
@@ -52,16 +52,6 @@
AC_SUBST(QUICKREFERENCE_ALL_LINGUAS)
-# The build of the HTML files is optional.
-
-AC_ARG_ENABLE(build,
- AS_HELP_STRING([--disable-build],
- [don't build the HTML files (needs xsltproc)]),
- , enable_build=yes)
-
-AM_CONDITIONAL(GIMP_HELP_BUILD, test "x$enable_build" = "xyes")
-
-
# Check for GNU make.
AC_MSG_CHECKING([whether ${MAKE-make} is GNU make])
@@ -84,10 +74,9 @@
# Search for the XSLT processor
AC_PATH_PROG(XSLTPROC, xsltproc)
-if test -z "$XSLTPROC" && test "x$enable_build" = "xyes"; then
+if test -z "$XSLTPROC"; then
AC_MSG_ERROR([
** Couldn't find xsltproc(1). You will need it to build the help files.
-** If you want to install the prebuilt help files only, use --disable-build.
** See the file 'INSTALL' for more help.])
fi
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]