Docment how CLABELS can affect calculations.
[pspp] / doc / automake.mk
index bbe97930e263a140e0e4651a5e9fec91426d9249..daf47cf975d5e3f55cd5ce545d2b26989ea1fc61 100644 (file)
@@ -46,11 +46,13 @@ doc_pspp_TEXINFOS = doc/version.texi \
        doc/regression.texi \
        doc/utilities.texi \
        doc/variables.texi \
+       doc/matrices.texi \
        doc/fdl.texi
 
 doc_pspp_dev_TEXINFOS = doc/version-dev.texi \
        doc/dev/intro.texi \
        doc/dev/concepts.texi \
+       doc/dev/gui.texi \
        doc/dev/syntax.texi \
        doc/dev/data.texi \
        doc/dev/i18n.texi \
@@ -60,18 +62,17 @@ doc_pspp_dev_TEXINFOS = doc/version-dev.texi \
        doc/dev/portable-file-format.texi \
        doc/dev/spv-file-format.texi \
        doc/dev/tlo-file-format.texi \
-       doc/dev/encrypted-file-wrappers.texi \
-       doc/dev/q2c.texi
+       doc/dev/encrypted-file-wrappers.texi
 
 dist_man_MANS += doc/pspp.1 \
                  doc/psppire.1
 
-EXTRA_DIST += doc/get-commands.pl \
+EXTRA_DIST += doc/get-commands.py \
               doc/help-pages-list \
               doc/prepdoc.sh
 
-$(srcdir)/doc/ni.texi: $(top_srcdir)/src/language/command.def doc/get-commands.pl
-       $(AM_V_GEN)$(PERL) $(top_srcdir)/doc/get-commands.pl $(top_srcdir)/src/language/command.def > $@
+$(srcdir)/doc/ni.texi: $(top_srcdir)/src/language/command.def doc/get-commands.py
+       $(AM_V_GEN)$(PYTHON3) $(top_srcdir)/doc/get-commands.py $(top_srcdir)/src/language/command.def > $@
 
 $(srcdir)/doc/tut.texi:
        $(AM_V_GEN)echo "@set example-dir $(examplesdir)" > $@
@@ -92,7 +93,7 @@ dist_docbook_DATA = doc/pspp.xml
 CLEANFILES += pspp-dev.dvi $(docbook_DATA) doc/pspp.info* doc/pspp.xml
 
 
-doc: $(INFO_DEPS) $(DVIS) $(PDFS) $(PSS) $(HTMLS) $(dist_docbook_DATA)
+doc: $(INFO_DEPS) $(DVIS) $(PDFS) $(PNGS) $(HTMLS) $(dist_docbook_DATA)
 PHONY += doc
 
 doc/help-pages-list: $(UI_FILES)
@@ -116,14 +117,41 @@ FIGURE_SYNTAX = \
  doc/pspp-figures/chisquare.sps \
  doc/pspp-figures/compute.sps \
  doc/pspp-figures/count.sps \
+ doc/pspp-figures/ctables1.sps \
+ doc/pspp-figures/ctables2.sps \
+ doc/pspp-figures/ctables3.sps \
+ doc/pspp-figures/ctables4.sps \
+ doc/pspp-figures/ctables5.sps \
+ doc/pspp-figures/ctables6.sps \
+ doc/pspp-figures/ctables7.sps \
+ doc/pspp-figures/ctables8.sps \
+ doc/pspp-figures/ctables9.sps \
+ doc/pspp-figures/ctables10.sps \
+ doc/pspp-figures/ctables11.sps \
+ doc/pspp-figures/ctables12.sps \
+ doc/pspp-figures/ctables13.sps \
+ doc/pspp-figures/ctables14.sps \
+ doc/pspp-figures/ctables15.sps \
+ doc/pspp-figures/ctables16.sps \
+ doc/pspp-figures/ctables17.sps \
+ doc/pspp-figures/ctables18.sps \
+ doc/pspp-figures/ctables19.sps \
+ doc/pspp-figures/ctables20.sps \
+ doc/pspp-figures/ctables21.sps \
+ doc/pspp-figures/ctables22.sps \
+ doc/pspp-figures/ctables23.sps \
+ doc/pspp-figures/ctables24.sps \
+ doc/pspp-figures/crosstabs.sps \
  doc/pspp-figures/descriptives.sps \
  doc/pspp-figures/flip.sps \
  doc/pspp-figures/frequencies.sps \
+ doc/pspp-figures/matrix-print.sps \
  doc/pspp-figures/means.sps \
  doc/pspp-figures/one-sample-t.sps \
  doc/pspp-figures/independent-samples-t.sps \
  doc/pspp-figures/reliability.sps \
  doc/pspp-figures/select-if.sps \
+ doc/pspp-figures/show-system.sps \
  doc/pspp-figures/sort-cases.sps \
  doc/pspp-figures/split.sps \
  doc/pspp-figures/temporary.sps \
@@ -150,23 +178,36 @@ FIGURE_TXTS = $(FIGURE_SPVS:.spv=.txt)
 FIGURE_TEXIS = $(FIGURE_TXTS:.txt=.texi)
 FIGURE_HTMLS = $(FIGURE_SPVS:.spv=.html)
 FIGURE_PDFS = $(FIGURE_SPVS:.spv=.pdf)
+FIGURE_PNGS = $(FIGURE_SPVS:.spv=.png)
 
 figure-spvs: $(FIGURE_SPVS)
 figure-txts: $(FIGURE_TXTS)
 figure-texis: $(FIGURE_TEXIS)
 figure-htmls: $(FIGURE_HTMLS)
 figure-pdfs: $(FIGURE_PDFS)
-PHONY += figure-spv figure-txts figure-texis figure-htmls figure-pdfs
-
-$(top_builddir)/doc/pspp.info:  $(FIGURE_TEXIS)
+figure-pngs: $(FIGURE_PNGS)
+PHONY += \
+       figure-spv \
+       figure-txts \
+       figure-texis \
+       figure-htmls \
+       figure-pdfs \
+       figure-pngs
+
+$(top_builddir)/doc/pspp.info:  $(FIGURE_PNGS)
 $(top_builddir)/doc/pspp.ps:    $(FIGURE_TEXIS)
 $(top_builddir)/doc/pspp.dvi:   $(FIGURE_TEXIS)
 $(top_builddir)/doc/pspp.html:  $(FIGURE_HTMLS)
 $(top_builddir)/doc/pspp.pdf:   $(FIGURE_TEXIS)
 $(top_builddir)/doc/pspp.xml:   $(FIGURE_TEXIS)
 
-CLEANFILES += $(FIGURE_TXTS) $(FIGURE_SPVS) $(FIGURE_TEXIS) $(FIGURE_HTMLS)
-SUFFIXES += .sps .spv .txt .html .texi .pdf
+CLEANFILES += \
+       $(FIGURE_TXTS) \
+       $(FIGURE_SPVS) \
+       $(FIGURE_TEXIS) \
+       $(FIGURE_HTMLS) \
+       $(FIGURE_PNGS)
+SUFFIXES += .sps .spv .txt .html .texi .pdf .png
 
 # Use pspp to process a syntax file into an output file.
 if cross_compiling
@@ -175,16 +216,16 @@ pspp_output = native/utilities/pspp-output
 
 native/Makefile:
        $(MKDIR_P) native
-       (cd native && $(top_srcdir)/configure --without-gui)
-
-native/gl/libgl.la: native/Makefile
-       (cd native && flock --verbose $(top_builddir)/native-lock $(MAKE) gl/libgl.la)
+       (cd native && $(abs_top_srcdir)/configure --host=$(build) --without-gui)
 
-$(pspp): native/gl/libgl.la
-       (cd native && flock --verbose $(top_builddir)/native-lock $(MAKE) src/ui/terminal/pspp)
+# The gnulib header files are required for the object files of the native pspp
+# They are defined in BUILT_SOURCES but that is only defined as a first dependency
+# for the make all target. src/ui/terminal/pspp as a target will try to compile the
+# objects first but that fails without the header files. Therefore I build the native
+# executables via the default make target
+$(pspp) $(pspp_output) &: native/Makefile
+       (cd native && flock --verbose $(top_builddir)/native-lock $(MAKE) )
 
-$(pspp_output): native/gl/libgl.la
-       (cd native && flock --verbose $(top_builddir)/native-lock $(MAKE) utilities/pspp-output)
 else
 pspp = src/ui/terminal/pspp$(EXEEXT)
 pspp_output = utilities/pspp-output$(EXEEXT)
@@ -192,12 +233,12 @@ endif
 
 $(FIGURE_SPVS): $(pspp)
 .sps.spv:
-       $(AM_V_GEN)(cd $(top_srcdir)/examples \
-         && $(abs_top_builddir)/$(pspp) ../doc/pspp-figures/$(<F) -o - -O format=spv) > $@.tmp
+       $(AM_V_GEN)(cd "$(top_srcdir)/examples" \
+         && "$(abs_top_builddir)/$(pspp)" ../doc/pspp-figures/$(<F) -o - -O format=spv) > $@.tmp
        $(AM_V_at)mv $@.tmp $@
 
 # In some cases, the tutorial only wants some parts of the output.
-convert = $(AM_V_GEN)$(pspp_output) convert $< $@
+convert = $(AM_V_GEN)LSAN_OPTIONS="suppressions=$(abs_top_srcdir)/tests/lsan.supp:print_suppressions=0:$$LSAN_OPTIONS" $(pspp_output) convert $< $@
 doc/pspp-figures/tutorial2a.spv: doc/pspp-figures/tutorial2.spv $(pspp_output)
        $(convert) --command='Descriptives'
 doc/pspp-figures/tutorial2b.spv: doc/pspp-figures/tutorial2.spv $(pspp_output)
@@ -211,15 +252,31 @@ doc/pspp-figures/tutorial7a.spv: doc/pspp-figures/tutorial7.spv $(pspp_output)
 doc/pspp-figures/tutorial7b.spv: doc/pspp-figures/tutorial7.spv $(pspp_output)
        $(convert) --commands=regression --nth-command=2 --subtypes=coefficients
 
+
+$(FIGURE_PNGS): $(pspp_output)
+$(FIGURE_TXTS): $(pspp_output)
+$(FIGURE_HTMLS): $(pspp_output)
+$(FIGURE_PDFS): $(pspp_output)
+
 # Convert an output file into a text file or HTML file.
 $(FIGURE_TXTS) $(FIGURE_HTMLS): $(pspp_output)
 .spv.txt:
        $(convert)
 .spv.pdf:
-       $(convert) -O left-margin=0pt -O right-margin=0pt -O top-margin=0pt -O bottom-margin=0pt -O paper-size=6x20in -O font-size=12000 --table-look=$(HOME)/pspp/spss15/Looks/report.tlo
+       $(convert) -O trim=true -O left-margin=0in -O right-margin=0in -O top-margin=0in -O bottom-margin=0in -O paper-size=7.5x99in --table-look=$(srcdir)/doc/tutorial.stt
+.spv.png:
+       $(convert) -O trim=true -O left-margin=0in -O right-margin=0in -O top-margin=0in -O bottom-margin=0in -O paper-size=7.5x99in --table-look=$(srcdir)/doc/tutorial.stt
+EXTRA_DIST += doc/tutorial.stt
 .spv.html:
        $(convert) -O format=html -O bare=true
 
+# Make sure that tutorial.stt outputs all layers, because a few of the
+# examples in the manual rely on that and it would be easy to replace
+# it with a style that didn't.
+ALL_LOCAL += tutorial-stt-must-print-all-layers
+tutorial-stt-must-print-all-layers:
+       $(AM_V_GEN)grep 'printAllLayers="true"' $(srcdir)/doc/tutorial.stt >/dev/null 2>&1 && touch $@
+
 # Convert a text file into a Texinfo file.
 .txt.texi:
        $(AM_V_GEN)$(SED) -e 's/@/@@/g' $< > $@
@@ -246,23 +303,23 @@ install-html-local: html-local $(HTML_SCREENSHOTS)
 
 desktopdir = $(datadir)/applications
 
-doc/org.fsf.pspp.metainfo.xml: doc/org.fsf.pspp.metainfo.xml.in $(POFILES)
+doc/org.gnu.pspp.metainfo.xml: doc/org.gnu.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)
+doc/org.gnu.pspp.desktop: doc/org.gnu.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
+CLEANFILES+=doc/org.gnu.pspp.desktop \
+            doc/org.gnu.pspp.metainfo.xml
 
-desktop_DATA = doc/org.fsf.pspp.desktop
+desktop_DATA = doc/org.gnu.pspp.desktop
 
 appdatadir = $(datadir)/metainfo
-dist_appdata_DATA = doc/org.fsf.pspp.metainfo.xml
+dist_appdata_DATA = doc/org.gnu.pspp.metainfo.xml
 
-EXTRA_DIST += doc/org.fsf.pspp.metainfo.xml.in \
-       doc/org.fsf.pspp.desktop.in
+EXTRA_DIST += doc/org.gnu.pspp.metainfo.xml.in \
+       doc/org.gnu.pspp.desktop.in
 
 \f
 
@@ -272,6 +329,7 @@ $(top_srcdir)/doc/screenshots/chisquare.grab \
 $(top_srcdir)/doc/screenshots/count.grab \
 $(top_srcdir)/doc/screenshots/count-define.grab \
 $(top_srcdir)/doc/screenshots/compute.grab \
+$(top_srcdir)/doc/screenshots/crosstabs.grab \
 $(top_srcdir)/doc/screenshots/descriptives.grab \
 $(top_srcdir)/doc/screenshots/one-sample-t.grab \
 $(top_srcdir)/doc/screenshots/independent-samples-t.grab \
@@ -299,16 +357,24 @@ doc-make: doc/doc-make.in Makefile
 
 
 # Install all the PNG files so that info readers can recognise them
-install-info-local:
-       $(MKDIR_P) $(DESTDIR)$(prefix)/share/info/screenshots
+install-info-local: $(FIGURE_PNGS)
+       $(MKDIR_P) $(DESTDIR)$(infodir)/screenshots
        for p in $(INFO_SCREENSHOTS); do \
-               $(INSTALL_DATA) $$p $(DESTDIR)$(prefix)/share/info/screenshots ;\
+               $(INSTALL_DATA) $$p $(DESTDIR)$(infodir)/screenshots ;\
+       done
+       $(INSTALL) -d $(DESTDIR)$(infodir)/pspp-figures
+       for p in $(FIGURE_PNGS); do \
+               $(INSTALL_DATA) $$p $(DESTDIR)$(infodir)/pspp-figures ;\
        done
 
 uninstall-local:
        for p in $(INFO_SCREENSHOTS); do \
                f=`basename $$p ` ; \
-               $(RM) $(DESTDIR)$(prefix)/share/info/screenshots/$$f ; \
+               rm -f $(DESTDIR)$(infodir)/screenshots/$$f ; \
+       done
+       for p in $(FIGURE_PNGS); do \
+               f=`basename $$p ` ; \
+               rm -f $(DESTDIR)$(infodir)/pspp-figures/$$f ; \
        done
 
 EXTRA_DIST+= $(SCREENSHOTS) doc/doc-make.in doc/screengrab