# Makefile for the   GNU Emacs Lisp Reference Manual.
#
# 11 August 1990

# Redefine `TEX' if `tex' does not invoke plain TeX. For example:
# TEX=platex

TEX=tex
MAKE=make
SHELL=/bin/sh
INSTALL_INFO = install-info

# Where the TeX macros are kept:
texmacrodir = /usr/local/lib/tex/macros

# Standard configure variables.
prefix = @prefix@
infodir = @infodir@

# The name of the manual:

VERSION=2.5
manual = elisp-manual-20-$(VERSION)

# Uncomment this line for permuted index.
# permuted_index = 1 

# List of all the texinfo files in the manual:

srcs = elisp.texi back.texi \
  abbrevs.texi advice.texi anti.texi backups.texi locals.texi buffers.texi \
  calendar.texi commands.texi compile.texi control.texi customize.texi \
  debugging.texi display.texi edebug.texi errors.texi eval.texi files.texi \
  frames.texi functions.texi help.texi hooks.texi \
  internals.texi intro.texi keymaps.texi lists.texi \
  loading.texi macros.texi maps.texi markers.texi \
  minibuf.texi modes.texi nonascii.texi numbers.texi objects.texi \
  os.texi positions.texi processes.texi searching.texi \
  sequences.texi streams.texi strings.texi symbols.texi \
  syntax.texi text.texi tips.texi variables.texi \
  windows.texi \
  index.unperm index.perm

.PHONY: elisp.dvi clean

# The info file is named `elisp'.

elisp: $(srcs) index.texi
	rm -f elisp-*
	makeinfo elisp.texi

elisp.dvi: $(srcs) index.texi
	# Avoid losing old contents of aux file entirely.
	-mv elisp.aux elisp.oaux
	# First shot to define xrefs:
	$(TEX) elisp.texi
	if [ a${permuted_index} != a ]; \
	then \
	  ./permute-index; \
	  mv permuted.fns elisp.fns; \
	  texindex elisp.tp; \
	else \
	  texindex elisp.??; \
	fi
	$(TEX) elisp.texi

index.texi:
	if [ a${permuted_index} != a ]; \
	then \
	  ln -s index.perm index.texi; \
	else \
	  ln -s index.unperm index.texi; \
	fi

install: elisp
	./mkinstalldirs $(infodir)
	cp elisp elisp-* $(infodir)
	${INSTALL_INFO} --dir-file=${infodir}/dir --info-file=${infodir}/elisp

installall: install
	install -c texinfo.tex $(texmacrodir)

clean:
	rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
              *.vr *.vrs *.pg *.pgs *.ky *.kys
	rm -f make.out core 
	rm -f index.texi

maintainer-clean: clean
	rm -f elisp elisp-*

dist:
	-rm -rf temp
	-mkdir temp
	-mkdir temp/$(manual)
	-ln README configure.in configure Makefile.in permute-index $(srcs) \
 texinfo.tex elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
 temp/$(manual)
	-(cd temp/$(manual); rm -f mkinstalldirs)
	cp mkinstalldirs temp/$(manual)
	(cd temp/$(manual); rm -f *~)
	(cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
	-rm -rf temp
