X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fautomake.mk;h=0c5493f685e7e1ac11bce75decb7ed15df2a1772;hb=9a626036211e61388a4d255051e1774d01bbe072;hp=4e1b3ff349595cac520255b711f55b8010a0f5f0;hpb=9c99f9d21cb56f29e576d9eb91b2cc9ec8fed0f0;p=pspp diff --git a/doc/automake.mk b/doc/automake.mk index 4e1b3ff349..0c5493f685 100644 --- a/doc/automake.mk +++ b/doc/automake.mk @@ -1,3 +1,19 @@ +## PSPP - a program for statistical analysis. +## Copyright (C) 2019, 2020 Free Software Foundation, Inc. +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + ## Process this file with automake to produce Makefile.in -*- makefile -*- info_TEXINFOS = doc/pspp.texi doc/pspp-dev.texi @@ -19,6 +35,7 @@ doc_pspp_TEXINFOS = doc/version.texi \ doc/language.texi \ doc/license.texi \ doc/pspp-convert.texi \ + doc/pspp-output.texi \ doc/pspp-dump-sav.texi \ doc/ni.texi \ doc/not-implemented.texi \ @@ -29,7 +46,7 @@ doc_pspp_TEXINFOS = doc/version.texi \ doc/regression.texi \ doc/utilities.texi \ doc/variables.texi \ - doc/fdl.texi + doc/fdl.texi doc_pspp_dev_TEXINFOS = doc/version-dev.texi \ doc/dev/intro.texi \ @@ -41,13 +58,16 @@ doc_pspp_dev_TEXINFOS = doc/version-dev.texi \ doc/dev/system-file-format.texi \ doc/dev/pc+-file-format.texi \ doc/dev/portable-file-format.texi \ + doc/dev/spv-file-format.texi \ doc/dev/encrypted-file-wrappers.texi \ doc/dev/q2c.texi dist_man_MANS += doc/pspp.1 \ doc/psppire.1 -EXTRA_DIST += doc/get-commands.pl doc/help-pages-list +EXTRA_DIST += doc/get-commands.pl \ + doc/help-pages-list \ + doc/prepdoc.sh $(srcdir)/doc/ni.texi: $(top_srcdir)/src/language/command.def doc/get-commands.pl @$(MKDIR_P) doc @@ -58,41 +78,125 @@ $(srcdir)/doc/tut.texi: $(AM_V_GEN)echo "@set example-dir $(examplesdir)" > $@ -# The SED and AWK filters in this rule, are to work-around some nasty bugs in -# makeinfo version 4.13, which produces broken docbook xml. These workarounds -# are rather horrible and must be removed asap. -$(srcdir)/doc/pspp.xml: doc/pspp.texi $(doc_pspp_TEXINFOS) doc/help-pages-list +doc/pspp.xml: doc/pspp.texi $(doc_pspp_TEXINFOS) doc/help-pages-list +if BROKEN_DOCBOOK_XML + touch $@ +else @$(MKDIR_P) doc $(AM_V_GEN)$(MAKEINFO) $(AM_MAKEINFOFLAGS) --docbook -I $(top_srcdir) \ - $(top_srcdir)/doc/pspp.texi -o - \ - | $(SED) -e 's/Time-&-Date/Time-\&-Date/g' \ - -e 's/“/\“/g' \ - -e 's/”/\”/g' \ - -e 's/‘/\‘/g' \ - -e 's/’/\’/g' \ - -e 's/—/\—/g' \ - -e 's/–/\′/g' \ - -e 's/é/\é/g' \ - -e 's/©/\©/g' \ - -e 's/−/\−/g' \ - -e 's/…/\…/g' \ - -e 's/•/\ߦ/g' \ - -e 's/././g' \ - -e 's%\(
]*\)>%\1/>%g' \ - | $(AWK) '/.*.*<\/para>/{x=sub("",""); print; s=1;next}/<\/table>/{print; if (s==1) print ""; s=0; next}1' \ - > $@,tmp - $(AM_V_at)$(XMLLINT) --output /dev/null $@,tmp - $(AM_V_at)cat doc/help-pages-list | while read node ; do \ - $(XMLLINT) --xpath "$$node" $@,tmp > /dev/null; \ - if test $$? -ne 0 ; then echo "$$node does not appear in $@" ; exit 1; fi ; \ - done - mv $@,tmp $@ + $< -o $@ +endif docbookdir = $(docdir) dist_docbook_DATA = doc/pspp.xml -CLEANFILES += pspp-dev.dvi $(docbook_DATA) +CLEANFILES += pspp-dev.dvi $(docbook_DATA) doc/pspp.info* doc/pspp.xml + doc: $(INFO_DEPS) $(DVIS) $(PDFS) $(PSS) $(HTMLS) $(dist_docbook_DATA) -.PHONY: doc +PHONY += doc + +doc/help-pages-list: $(UI_FILES) + $(AM_V_GEN)cat $^ | grep '"help[-_]page"' | \ + $(SED) -e 's% *\([^<]*\)%//*[@id='"'"'\1'"'"']%' \ + -e 's%#%'"'"']/*[@id='"'"'%g' > $@,tmp + test -s $@,tmp + mv $@,tmp $@ + +EXTRA_DIST += \ + doc/help-pages-list \ + doc/pspp-manual.css + + +AM_MAKEINFOFLAGS=-I $(top_srcdir)/doc/examples -I $(top_builddir)/doc/examples +am__TEXINFO_TEX_DIR=:$(top_srcdir)/doc/examples:$(top_builddir)/doc/examples + +################# Example programs ############################## + +EXAMPLE_SYNTAX = \ + doc/examples/autorecode.sps \ + doc/examples/chisquare.sps \ + doc/examples/compute.sps \ + doc/examples/count.sps \ + doc/examples/descriptives.sps \ + doc/examples/flip.sps \ + doc/examples/frequencies.sps \ + doc/examples/means.sps \ + doc/examples/one-sample-t.sps \ + doc/examples/independent-samples-t.sps \ + doc/examples/reliability.sps \ + doc/examples/split.sps \ + doc/examples/weight.sps + + +EXTRA_DIST += $(EXAMPLE_SYNTAX) + +EXAMPLE_OUTPUTS = $(EXAMPLE_SYNTAX:.sps=.out) +EXAMPLE_HTML = $(EXAMPLE_SYNTAX:.sps=.html) + +$(top_builddir)/doc/pspp.info: $(EXAMPLE_OUTPUTS) +$(top_builddir)/doc/pspp.ps: $(EXAMPLE_OUTPUTS) +$(top_builddir)/doc/pspp.dvi: $(EXAMPLE_OUTPUTS) +$(top_builddir)/doc/pspp.html: $(EXAMPLE_HTML) +$(top_builddir)/doc/pspp.pdf: $(EXAMPLE_OUTPUTS) +$(top_builddir)/doc/pspp.xml: $(EXAMPLE_OUTPUTS) + +# The examples cannot be built until the binary has been built +$(EXAMPLE_OUTPUTS): $(top_builddir)/src/ui/terminal/pspp +$(EXAMPLE_HTML): $(top_builddir)/src/ui/terminal/pspp + +CLEANFILES += $(EXAMPLE_OUTPUTS) + +SUFFIXES: .sps + +# use pspp to process a syntax file and reap the output into a text file +.sps.out: + $(MKDIR_P) $(@D) + where=$$PWD ; \ + (cd $(top_srcdir)/examples; ${abs_builddir}/src/ui/terminal/pspp $(abs_srcdir)/doc/examples/$( and +# everything after and including +.sps.html: + $(MKDIR_P) $(@D) + where=$$PWD ; \ + (cd $(top_srcdir)/examples; ${abs_builddir}/src/ui/terminal/pspp $(abs_srcdir)/doc/examples/$( $@ + +# Insert the link tag for the cascading style sheet. +# But make sure these operations are idempotent. +html-local: + for h in doc/pspp.html/*.html; do \ + if grep -Fq '/i \\\ +' $$h; \ + done + +install-html-local: html-local + $(MKDIR_P) $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html + $(INSTALL_DATA) ${top_srcdir}/doc/pspp-manual.css $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html + + + + +desktopdir = $(datadir)/applications + +doc/org.fsf.pspp.metainfo.xml: doc/org.fsf.pspp.metainfo.xml.in $(POFILES) + $(AM_V_GEN)$(MSGFMT) --xml --template $< -o $@ -d $(top_srcdir)/po || \ + $(MSGFMT) -L appdata --xml --template $< -o $@ -d $(top_srcdir)/po + +doc/org.fsf.pspp.desktop: doc/org.fsf.pspp.desktop.in $(POFILES) + $(AM_V_GEN)$(MSGFMT) --desktop --template $< -o $@ -d $(top_srcdir)/po + +CLEANFILES+=doc/org.fsf.pspp.desktop \ + doc/org.fsf.pspp.metainfo.xml + +desktop_DATA = doc/org.fsf.pspp.desktop + +appdatadir = $(datadir)/metainfo +dist_appdata_DATA = doc/org.fsf.pspp.metainfo.xml + +EXTRA_DIST += doc/org.fsf.pspp.metainfo.xml.in \ + doc/org.fsf.pspp.desktop.in