Use a @configure_input@ comment at the start of generated Makefiles
[bpt/emacs.git] / doc / lispref / Makefile.in
index 1962469..8e6d034 100644 (file)
@@ -1,6 +1,6 @@
-# Makefile for the GNU Emacs Lisp Reference Manual.
+### @configure_input@
 
-# Copyright (C) 1990-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1990-1996, 1998-2013 Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
 
 SHELL = /bin/sh
 
+# NB If you add any more configure variables,
+# update the sed rules in the dist target below.
+
 # Standard configure variables.
 srcdir = @srcdir@
 
 version=@version@
 
-infodir = $(srcdir)/../../info
+buildinfodir = $(srcdir)/../../info
 # Directory with the (customized) texinfo.tex file.
 texinfodir = $(srcdir)/../misc
 # Directory with emacsver.texi.
 emacsdir =  $(srcdir)/../emacs
 
+MKDIR_P = @MKDIR_P@
+
 INFO_EXT=@INFO_EXT@
 # Options used only when making info output.
 INFO_OPTS=@INFO_OPTS@
@@ -99,18 +104,18 @@ srcs = \
   $(srcdir)/gpl.texi \
   $(srcdir)/doclicense.texi
 
-mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir}
+mkinfodir = @${MKDIR_P} ${buildinfodir}
 
 .PHONY: info dvi pdf ps
 
-info: $(infodir)/elisp$(INFO_EXT)
+info: $(buildinfodir)/elisp$(INFO_EXT)
 dvi: elisp.dvi
 html: elisp.html
 pdf: elisp.pdf
 ps: elisp.ps
 
 ## Note: "<" is not portable in ordinary make rules.
-$(infodir)/elisp$(INFO_EXT): $(srcs)
+$(buildinfodir)/elisp$(INFO_EXT): $(srcs)
        $(mkinfodir)
        $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $(srcdir)/elisp.texi
 
@@ -132,17 +137,18 @@ elisp.pdf: $(srcs)
 mostlyclean:
        rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
          *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
-       rm -f elisp[12]*
+       rm -f elisp[12]* vol[12].tmp
 
 clean: mostlyclean
-       rm -f elisp.dvi elisp.pdf elisp.ps vol[12].pdf
+       rm -f elisp.dvi elisp.pdf elisp.ps
+       rm -f vol[12].dvi vol[12].pdf vol[12].ps
        rm -rf elisp.html
        rm -f emacs-lispref-${version}.tar*
 
 distclean: clean
 
 infoclean:
-       -cd $(infodir) && rm -f elisp$(INFO_EXT) elisp$(INFO_EXT)-[1-9] elisp$(INFO_EXT)-[1-9][0-9]
+       -cd $(buildinfodir) && rm -f elisp$(INFO_EXT) elisp$(INFO_EXT)-[1-9] elisp$(INFO_EXT)-[1-9][0-9]
 
 maintainer-clean: distclean infoclean
 
@@ -157,9 +163,15 @@ dist:
          ${srcdir}/README emacs-lispref-${version}/
        sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \
          -e 's/^\(emacsdir *=\).*/\1 ./' \
-         -e 's/^\(infodir *=\).*/\1 ./' -e 's/^\(clean:.*\)/\1 infoclean/' \
+         -e 's/^\(buildinfodir *=\).*/\1 ./' \
+         -e 's/^\(clean:.*\)/\1 infoclean/' \
          -e "s/@ver[s]ion@/${version}/" \
+         -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \
+         -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \
          ${srcdir}/Makefile.in > emacs-lispref-${version}/Makefile
+       @if grep '@[a-zA-Z_]*@' emacs-lispref-${version}/Makefile; then \
+         echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \
+       fi
        tar -cf emacs-lispref-${version}.tar emacs-lispref-${version}
        rm -rf emacs-lispref-${version}