Install the documentation screenshots in the correct place.
[pspp] / doc / automake.mk
index 9800d5849db3bc1397d39ae9388f4c5c90ccf22f..31141e854436b530f5e6586904a23e0c33c856b4 100644 (file)
@@ -111,6 +111,7 @@ am__TEXINFO_TEX_DIR=:$(top_srcdir)/doc:$(top_builddir)/doc
 ################# Example programs ##############################
 
 FIGURE_SYNTAX = \
+ doc/pspp-figures/aggregate.sps \
  doc/pspp-figures/autorecode.sps \
  doc/pspp-figures/chisquare.sps \
  doc/pspp-figures/compute.sps \
@@ -123,6 +124,7 @@ FIGURE_SYNTAX = \
  doc/pspp-figures/independent-samples-t.sps \
  doc/pspp-figures/reliability.sps \
  doc/pspp-figures/select-if.sps \
+ doc/pspp-figures/sort-cases.sps \
  doc/pspp-figures/split.sps \
  doc/pspp-figures/temporary.sps \
  doc/pspp-figures/tutorial1.sps \
@@ -167,15 +169,34 @@ CLEANFILES += $(FIGURE_TXTS) $(FIGURE_SPVS) $(FIGURE_TEXIS) $(FIGURE_HTMLS)
 SUFFIXES += .sps .spv .txt .html .texi .pdf
 
 # Use pspp to process a syntax file into an output file.
-pspp = src/ui/terminal/pspp
-$(FIGURE_SPVS): $(pspp)$(EXEEXT)
+if cross_compiling
+pspp = native/src/ui/terminal/pspp
+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)
+
+$(pspp): native/gl/libgl.la
+       (cd native && flock --verbose $(top_builddir)/native-lock $(MAKE) src/ui/terminal/pspp)
+
+$(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)
+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_at)mv $@.tmp $@
 
 # In some cases, the tutorial only wants some parts of the output.
-pspp_output = utilities/pspp-output
 convert = $(AM_V_GEN)$(pspp_output) convert $< $@
 doc/pspp-figures/tutorial2a.spv: doc/pspp-figures/tutorial2.spv $(pspp_output)
        $(convert) --command='Descriptives'
@@ -204,13 +225,23 @@ $(FIGURE_TXTS) $(FIGURE_HTMLS): $(pspp_output)
        $(AM_V_GEN)$(SED) -e 's/@/@@/g' $< > $@
 
 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) --css-ref=pspp-manual.css
-html-local:
-
-install-html-local: html-local
+# Adjust the path for screenshot images.
+# But make sure these operations are idempotent.
+html-local: doc/pspp.html
+       test -d doc/pspp.html
+       for h in doc/pspp.html/*.html; do \
+               if grep -Fq '<img src="screenshots/' $$h; then continue; fi ; \
+               $(SED) -i -e 's|<img src="\([^"]*\)"|<img src="screenshots/\1"|' $$h; \
+       done
+
+install-html-local: html-local $(HTML_SCREENSHOTS)
        $(MKDIR_P) $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html
+       $(INSTALL) -d $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html/screenshots
+       for p in $(HTML_SCREENSHOTS); do \
+               $(INSTALL_DATA) $$p $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html/screenshots ;\
+       done
        $(INSTALL_DATA) ${top_srcdir}/doc/pspp-manual.css $(DESTDIR)$(prefix)/share/doc/pspp/pspp.html
 
-
 \f
 
 desktopdir = $(datadir)/applications
@@ -232,3 +263,54 @@ dist_appdata_DATA = doc/org.fsf.pspp.metainfo.xml
 
 EXTRA_DIST += doc/org.fsf.pspp.metainfo.xml.in \
        doc/org.fsf.pspp.desktop.in
+
+\f
+
+SCREENSHOTS = \
+$(top_srcdir)/doc/screenshots/autorecode.grab \
+$(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/descriptives.grab \
+$(top_srcdir)/doc/screenshots/one-sample-t.grab \
+$(top_srcdir)/doc/screenshots/independent-samples-t.grab \
+$(top_srcdir)/doc/screenshots/define-groups-t.grab \
+$(top_srcdir)/doc/screenshots/frequencies.grab \
+$(top_srcdir)/doc/screenshots/reliability.grab \
+$(top_srcdir)/doc/screenshots/split-status-bar.grab \
+$(top_srcdir)/doc/screenshots/sort-simple.grab \
+$(top_srcdir)/doc/screenshots/sort.grab
+
+
+PDF_SCREENSHOTS =  $(SCREENSHOTS:.grab=-hc.png)
+EPS_SCREENSHOTS =  $(SCREENSHOTS:.grab=-hc.eps)
+HTML_SCREENSHOTS = $(SCREENSHOTS:.grab=-ad.png)
+INFO_SCREENSHOTS = $(SCREENSHOTS:.grab=-ad.png)
+
+doc-make: doc/doc-make.in Makefile
+       $(SED) -e 's|%top_srcdir%|@top_srcdir@|g' \
+       -e 's|%abs_builddir%|@abs_builddir@|g' \
+       -e 's|%MKDIR_P%|@MKDIR_P@|g' \
+       -e 's|%src_ui_gui_psppiredir%|$(src_ui_gui_psppiredir)|g' \
+       -e 's|%UI_FILES%|$(UI_FILES)|g' \
+       -e 's|%IMAGES%|$(INFO_SCREENSHOTS) $(HTML_SCREENSHOTS) $(EPS_SCREENSHOTS) $(PDF_SCREENSHOTS)|g' \
+       $< > $@
+
+
+# Install all the PNG files so that info readers can recognise them
+install-info-local:
+       $(MKDIR_P) $(DESTDIR)$(prefix)/share/info/screenshots
+       for p in $(INFO_SCREENSHOTS); do \
+               $(INSTALL_DATA) $$p $(DESTDIR)$(prefix)/share/info/screenshots ;\
+       done
+
+uninstall-local:
+       for p in $(INFO_SCREENSHOTS); do \
+               f=`basename $$p ` ; \
+               $(RM) $(DESTDIR)$(prefix)/share/info/$$f ; \
+       done
+
+EXTRA_DIST+= $(SCREENSHOTS) doc/doc-make.in doc/screengrab
+
+EXTRA_DIST+= $(EPS_SCREENSHOTS) $(PDF_SCREENSHOTS) $(INFO_SCREENSHOTS)