doc: Do not used fixed file names in the manuals.
[gnupg.git] / doc / Makefile.am
index 2f048d7..ee8bca2 100644 (file)
 
 ## Process this file with automake to produce Makefile.in
 
+AM_CPPFLAGS =
+
+include $(top_srcdir)/am/cmacros.am
+
 examples = examples/README examples/scd-event examples/trustlist.txt \
           examples/gpgconf.conf examples/pwpattern.list
 
@@ -32,12 +36,12 @@ EXTRA_DIST = samplekeys.asc mksamplekeys \
             gnupg-logo.eps gnupg-logo.pdf gnupg-logo.png gnupg-logo-tr.png\
              gnupg-card-architecture.eps gnupg-card-architecture.png \
              gnupg-card-architecture.pdf \
-             FAQ gnupg7.texi \
+             FAQ gnupg7.texi mkdefsinc.c defsincdate \
              opt-homedir.texi see-also-note.texi specify-user-id.texi \
-            gpgv.texi yat2m.c ChangeLog-2011
+            gpgv.texi yat2m.c ChangeLog-2011 whats-new-in-2.1.txt
 
 BUILT_SOURCES = gnupg-card-architecture.eps gnupg-card-architecture.png \
-                gnupg-card-architecture.pdf
+                gnupg-card-architecture.pdf defsincdate
 
 info_TEXINFOS = gnupg.texi
 
@@ -57,9 +61,9 @@ gnupg_TEXINFOS = \
 
 DVIPS = TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" dvips
 
-AM_MAKEINFOFLAGS = -I $(srcdir) --css-ref=/share/site.css -D gpgtwoone
+AM_MAKEINFOFLAGS = -I $(srcdir) --css-ref=/share/site.css
 
-YAT2M_OPTIONS = -I $(srcdir) -D gpgtwoone \
+YAT2M_OPTIONS = -I $(srcdir) \
         --release "GnuPG @PACKAGE_VERSION@" --source "GNU Privacy Guard 2.1"
 
 myman_sources = gnupg7.texi gpg.texi gpgsm.texi gpg-agent.texi \
@@ -75,7 +79,7 @@ man_MANS = $(myman_pages) gnupg.7
 watchgnupg_SOURCE = gnupg.texi
 
 
-CLEANFILES = yat2m faq.txt faq.html
+CLEANFILES = yat2m mkdefsinc defs.inc
 
 DISTCLEANFILES = gnupg.tmp gnupg.ops yat2m-stamp.tmp yat2m-stamp \
                 $(myman_pages) gnupg.7
@@ -83,6 +87,10 @@ DISTCLEANFILES = gnupg.tmp gnupg.ops yat2m-stamp.tmp yat2m-stamp \
 yat2m: yat2m.c
        $(CC_FOR_BUILD) -o $@ $(srcdir)/yat2m.c
 
+mkdefsinc: mkdefsinc.c Makefile ../config.h
+       $(CC_FOR_BUILD) -I. -I.. -I$(srcdir) $(AM_CPPFLAGS) \
+                        -o $@ $(srcdir)/mkdefsinc.c
+
 
 .fig.png:
        fig2dev -L png `test -f '$<' || echo '$(srcdir)/'`$< $@
@@ -97,7 +105,7 @@ yat2m: yat2m.c
        fig2dev -L pdf `test -f '$<' || echo '$(srcdir)/'`$< $@
 
 
-yat2m-stamp: $(myman_sources)
+yat2m-stamp: $(myman_sources) defs.inc
        @rm -f yat2m-stamp.tmp
        @touch yat2m-stamp.tmp
        for file in $(myman_sources) ; do \
@@ -107,7 +115,7 @@ yat2m-stamp: $(myman_sources)
 
 yat2m-stamp: yat2m
 
-$(myman_pages) gnupg.7 : yat2m-stamp
+$(myman_pages) gnupg.7 : yat2m-stamp defs.inc
        @if test -f $@; then :; else \
             trap 'rm -rf yat2m-stamp yat2m-lock' 1 2 13 15; \
                if mkdir yat2m-lock 2>/dev/null; then \
@@ -120,11 +128,20 @@ $(myman_pages) gnupg.7 : yat2m-stamp
                fi; \
              fi
 
-# Make sure that gnupg.texi is touched if any other source file has
-# been modified.  This is required so that the version.texi magic
-# updates the release date.
-gnupg.texi : $(gnupg_TEXINFOS)
-       touch $(srcdir)/gnupg.texi
+dist-hook: defsincdate
+
+defsincdate: $(gnupg_TEXINFOS)
+       : >defsincdate ; \
+       if test -d $(top_srcdir)/.git; then \
+         (cd $(srcdir) && git log -1 --format='%ct' \
+               -- $(gnupg_TEXINFOS) 2>/dev/null) >>defsincdate; \
+       fi
+
+defs.inc : defsincdate Makefile mkdefsinc
+       incd="`test -f defsincdate || echo '$(srcdir)/'`defsincdate"; \
+       ./mkdefsinc -C $(srcdir) --date "`cat $$incd 2>/dev/null`" \
+           $(gnupg_TEXINFOS) >$@
+
 
 online: gnupg.html gnupg.pdf
        set -e; \
@@ -139,24 +156,3 @@ online: gnupg.html gnupg.pdf
        cd gnupg.html ; \
         rsync -vr --exclude='.git' .  \
          $${user}@$${webhost}:webspace/manuals/gnupg$${dashdevel}/
-
-# Note that you need a recent version of emacs23 with org-mode 7.01h
-faq.txt faq.html: faq.org
-       @set -e; expopt="t nil nil nil \"$$(pwd)\""; \
-        emacs  --batch \
-         --eval "(require 'org)" \
-         --visit "$(srcdir)/faq.org" \
-          --eval "(setq org-export-ascii-entities 'utf8)" \
-          --eval "(org-export-as-ascii org-export-headline-levels $${expopt})"\
-         --visit "$(srcdir)/faq.org" \
-          --eval "(setq org-export-html-style-include-default nil)" \
-          --eval "(setq org-export-html-style-include-scripts nil)" \
-          --eval "(org-export-as-html org-export-headline-levels $${expopt})"
-
-faq-online: faq.txt faq.html
-       set -e; \
-        user=werner ; webhost="ftp.gnupg.org" ; ftphost="ftp.gnupg.org" ; \
-       echo "Uploading current FAQ to {www,ftp}.gnupg.org ..."; \
-       scp faq.html $${user}@$${webhost}:webspace/manuals/GnuPG-FAQ.html ; \
-       scp faq.txt  $${user}@$${ftphost}:gcrypt/gnupg/GnuPG-FAQ.txt ; \
-       echo "...ready"