# $Id: Makefile,v 3.74 2013/10/06 01:12:08 krisrose Exp $
#
# Un*x Makefile for Xy-pic macros, fonts, documentation, and distribution.
# Copyright (c) 1991-2011  Kristoffer H. Rose  <krisrose@tug.org>
#
# This file is part of the Xy-pic macro package.
# Copyright (c) 1991-2011  Kristoffer H. Rose  <krisrose@tug.org>
# See the README and INSTALL files for further information.
#
# The Xy-pic package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# The Xy-pic package is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with this package; if not, see http://www.gnu.org/licenses/.

# Update these together with xy.doc's xyversion!
VERSION = 3.8.9
SHORTVERSION = 389

# CONTENTS:
#
#   Configuration section:
#	Directories.
#	Fonts.
#	Programs.
#
#   Generic targets.
#   Macros.
#   Fonts.
#   PostScript and PDF font support.
#   Documentation.
#   Home page.
#   Distribution.
#   (Xy-pic, the movie.)
#   Tags.
#
#   Log.


#### CONFIGURATION SECTION ##################################################

# Please configure as instructed below for each of the DIRECTORIES, FONTS,
# and PROGRAMS parts by editing the definitions to fit your system.

#### DIRECTORIES.
#
# The following variables define the directories where the various parts of
# Xy-pic should be installed.
#
# You should *EITHER* set TDSROOT to the root of a TDS-compliant directory
# tree, usually named .../texmf (if you have a TDS [TeX Directory Structure]
# compliant system then that is in fact all you need to do):
#
USR = /usr/local
TDSROOT = $(USR)/share/texmf
#
# *OR* you should set each of the following variables right for you system
# (do this if your setup does not match TDS exactly):
#
TEXINPUTDIR = $(TDSROOT)/tex/generic/xypic
TEXFONTDIR = $(TDSROOT)/fonts/tfm/public/xypic
TEXDOCDIR = $(TDSROOT)/doc/generic/xypic
MFINPUTDIR = $(TDSROOT)/fonts/source/public/xypic
TYPE1DIR = $(TDSROOT)/fonts/type1/public/xypic
PFMDIR = $(TDSROOT)/fonts/pfm/public/xypic
AFMDIR = $(TDSROOT)/fonts/afm/public/xypic
PSHEADERDIR = $(TDSROOT)/ps/xypic
#
# FONTDIR is the directory where bitmap fonts are stored and is special
# (If you do not plan to install bitmap fonts because they are automatically
# generated and remember to set the MAGS variable below to `.' then you may
# ignore this step.)
#
# Since the location of individual fonts sometimes depend on properties of
# the font, you can insert
#
#	$${dpi}		for the font resolution in `Dots Per Inch' (NOT the
#   			device resolution---that should be inserted directly)
#
#	$${mode}	for the METAFONT `mode' used to generate the font
#
# ---what these get set to depends on the next section.
#
# For example, if you set FONTDIR=/usr/lib/tex/pk$${dpi} and decide in the
# next section to generate PK fonts at 300 dpi using a generic mode
# (localfont) then you get files named /usr/lib/tex/pk300/xy*.300pk.
#
# If your installation still uses the (inefficient) principle of having all
# PK files in the same directory as the TFM files then you should just set
# FONTDIR=$(TEXFONTDIR).
#
FONTDIR = $(TDSROOT)/fonts/pk/$${mode}/public/xypic/dpi$${dpi}

#### FONTS.
#
# The METAFONT program needs to know the `mode' of your printer in order to
# be able to generate correct fonts for it.  On most installations the mode
# `localfont' is made synonymous with the mode required for the default
# printer; in that case you can just pick the `MODES = localfont' line.  If
# this is not the case -- or you need fonts for several output devices---then
# you will have to consult the local METAFONT guide/guru to inquire what
# modes are used at your site.  A good place to look for the modes used is in
# the MakeTeXPK script found on some sites.
#
# Set MODES to the list of printers you wish to use:
#
MODES = localfont
#MODES = cx ljfour
#
# You should also decide which TeX \magsteps you wish the font to be
# generated at.
#
# The default is . (dot) which prevents installation of any bitmaps because
# most modern installations generate them automatically.
#
MAGS = .
#MAGS = 0
#MAGS = 0 0.5 1 2

#### PROGRAMS.
#
# You don't have to edit the following lines unless you have a non-standard
# un*x system or un*x TeX installation...
#
SHELL = /bin/sh
#
TEX = TEXFONTS=.:$(TEXFONTDIR):$$TEXFONTS tex
LATEX = TEXFONTS=.:$(TEXFONTDIR):$$TEXFONTS latex
PDFLATEX = TEXFONTS=.:$(TEXFONTDIR):$$TEXFONTS pdflatex
BIBTEX = BIBINPUTS=. bibtex
MAKEINDEX = makeindex
#
# The standard post-DVI processing commands...
#
DVIPS = dvips -D1200 -t $(PAPER) -f
DVIPDFMX = dvipdfmx -p $(PAPER) -V 5 -g 2pt
PS2PDF = ps2pdf -sPAPERSIZE=$(PAPER) -dCompatibilityLevel=1.5 -dPDFSETTINGS=/prepress
#
# Set MF to a command that will run plain METAFONT on your system.
#
MF = MFINPUTS=.:$(MFINPUTDIR):$$MFINPUTS mf
#
# Set MPOST to a command that will run METAPOST on your system.
#
MPOST = MFINPUTS=.:$(MFINPUTDIR):$$MFINPUTS mpost
#
# Used to generate PostScript font metric files (NOT outlines).
#
MFTRACE = mftrace --formats=afm,pfm
#
# Set GFTOPK to the command "false" and PK to "gf" if you use GF rather than PK
# bitmap font files.  There is no support for PXL-files [are they still used?].
# (Note: the default setting of MAGS above doesn't use bitmaps at all.)
#
GFTOPK = gftopk
PK=pk
#
#GFTOPK = false
#PK=gf
#
RM = rm -fr
CP = cp -f
MV = mv -f
#
# Set the INSTALLs to cp -f if your system does not have the install command.
#
INSTALL = install -c -m 444
INSTALLW = install -c -m 644
INSTALLX = install -c -m 555
#INSTALL = cp -f
#INSTALLW = cp -f
#INSTALLX = cp -f
#
# Set MKDIR to a mkdir command that creates intermediate directories.
#
MKDIR = mkdir -p -m 755
#
# Checksums...
#
MD5SUM = md5sum
SIGN = (cd;gpg --clearsign)
#
# DOC2TEX <file>: output efficient .tex file from inefficient .doc <file> with
# inlined documentation [my favourite hack :-].  Removes all DOCMODE lines,
# leaving only things before the first and in DOCMODE(...DOCMODE) brackets;
# also removes all blank lines and comment lines.
#
# If it breaks your sed you can just set DOC2TEX to cat although that will
# make the installed macro files three times larger and the reading of them
# somewhat slower...so in that case you are probably better of getting the
# `normal' distribution where this has already been done for you!
# If you are on a Windows system or otherwise adventurous then you can also
# try the included "doc2tex.com" script contributed by R.Gaertner.
#
DOC2TEX = sed \
	-e '/^.DOCMODE(/b Yes' \
	-e '/^.DOCMODE/b No' \
	-e 'x' \
	-e '/%%DONTCOPY%%/b Ignore' \
	-e 'x' \
	-e 's/[ 	][ 	]*/ /g' \
	-e 's/{%.*$$/{%/' -e 's/}%.*$$/}%/' -e 's/ %.*$$//'  \
	-e '/^ *%$$/d' -e '/^ *$$/d' -e '/^ *%[^%]/d' \
	-e 's/^%% \$$Id/%% $@ from $$Id/' \
	-e 's/REPLACEWITHVERSION/$(VERSION)/' \
	-e 's/REPLACEWITHSHORTVERSION/$(SHORTVERSION)/' \
	-e 'b End' \
	-e ': No' -e 's/.*/%%DONTCOPY%%/' -e 'x' -e 'd' \
	-e ': Yes' -e 's/.*//' -e 'x' -e 'd' \
	-e ': Ignore' -e 'x' -e 'd' \
	-e ': End'
#
# MF2TFM script: make .tfm file and all requested bitmap files from .mf
# file by executing METAFONT with $${mode} and $${dpi} as described above.
#
# NOTE: for use as implicit make rule; do not modify unless you are sure you
# need to!
#
MF2TFM = set -x; for mode in $(MODES); do \
	if [ "$(MAGS)" = "." ]; then \
	  $(MF) "\\mode=$$mode; input $<";\
	  $(RM) $*.*gf;\
	else \
	  for mag in $(MAGS); do \
	    $(MF) "\\mode=$$mode; mag=magstep($$mag); input $<"; done;\
	  for f in $*.*gf; do if test -f "$$f"; then \
	    if $(GFTOPK) ./$$f; then $(RM) $$f; fi; else :; fi; done;\
	fi; done
#
# Compression.
#
# TAR <files>		output tar archive with <files>
# GZIP			compression filter
# GUNZIP		uncompression filter
# GZ			filename extension appropriate for compressed files
#
# TODO: change compression to proper GNU gzip once everyone supports it...
#
TAR = tar cf -
GZIP = gzip -fv9
GUNZIP = gunzip
GZ = .gz
ZIP = zip
UNZIP = unzip -qaoLDD
#
# GNU AWK (gawk) or (in a pinch) NAWK.
#
GAWK = gawk
#
# Finally the paper size to use!
#
PAPER = letter

#### END OF CONFIGURATION SECTION ###########################################


# GENERIC TARGETS.
#
all:		macros fonts manual
.PHONY:		all install clean realclean sterile
#
install:	all install.macros install.trailer \
		install.fonts install.ps
#
clean::
	$(RM) *.aux *.toc *.lof *.blg *.log *.idx *.ilg *.fmt *.dvi *.ps \
	  *.ppm *.nops *.tmp *.ans *.xyc *.xyd \
	  ./#* *~ core *.BAK *JNL xytest.*gf *.out out
#
realclean::	clean
	$(RM) `cat .cvsignore`
	touch xydoc.front xydoc.back


# MACROS.
#
TRAILERSOURCES =	TRAILER COPYING CATALOG.doc FONTCOPYING FONTCOPYING.patch \
			MAKE README Makefile INSTALL

KERNELSOURCES = 	xy.doc xyidioms.doc xyrecat.doc

OPTIONSOURCES = 	\
	xyframe.doc xycmtip.doc xytips.doc xycurve.doc \
	xyline.doc xyrotate.doc xycolor.doc xycrayon.doc xytile.doc \
	xyimport.doc xytpic.doc xytp-f.doc \
	xyps.doc xyps-ps.doc xyps-pro.doc xyps-col.doc xyps-c.doc xyps-f.doc \
	xyps-l.doc xyps-r.doc xyps-s.doc xyps-t.doc \
	xypsdict.doc xypspatt.doc xydocps.doc \
	xydummy.doc xyall.doc xymatrix.doc xyarrow.doc xygraph.doc \
	xy2cell.doc xypoly.doc xyarc.doc xyknot.doc xyweb.doc xyling.doc \
	xydvips.doc xytextures.doc xy16textures.doc xyoztex.doc xy17oztex.doc \
	xycmactex.doc xydvitops.doc xyemtex.doc xydvidrv.doc xyxdvi.doc \
	xymovie.doc xyv2.doc xypic.doc xypicture.doc \
	xynecula.doc xybarr.doc xysmart.doc \
	xypdf.dtx xypdf.ins

LATEXSTYLES = 		xy.sty xypic.sty movie.cls
OPTIONDATA = 		xymacpat.xyp

MACROSOURCES =		$(TRAILERSOURCES) $(KERNELSOURCES) $(LATEXSTYLES) \
			$(OPTIONSOURCES) $(OPTIONDATA)

NOTES =			TRAILER COPYING FONTCOPYING CATALOG README \
			INSTALL VERSIONS Xy-pic.html Xy-logo.png

KERNEL =		xy.tex xyidioms.tex xyrecat.tex

OPTION = 		\
	xyframe.tex xycmtip.tex xytips.tex xycurve.tex \
	xyline.tex xyrotate.tex xycolor.tex xycrayon.tex xytile.tex \
	xyimport.tex xytpic.tex xytp-f.tex \
	xyps.tex xyps-ps.tex xyps-pro.tex xyps-col.tex xyps-c.tex xyps-f.tex \
	xyps-l.tex xyps-r.tex xyps-s.tex xyps-t.tex \
	xypsdict.tex xypspatt.tex $(OPTIONDATA) \
	xydummy.tex xyall.tex xymatrix.tex xyarrow.tex xygraph.tex \
	xy2cell.tex xypoly.tex xyarc.tex xyknot.tex xyweb.tex \
	xydvips.tex xytextures.tex xy16textures.tex xyoztex.tex xy17oztex.tex \
	xycmactex.tex xydvitops.tex xyemtex.tex xydvidrv.tex xyxdvi.tex \
	xymovie.tex xyv2.tex xypic.tex xypicture.tex \
	xynecula.tex xybarr.tex xysmart.tex \
	xypdf.tex xypdf-co.tex xypdf-cu.tex xypdf-fr.tex xypdf-li.tex xypdf-ro.tex

MACROS =		$(KERNEL) $(OPTION) \
			$(LATEXSTYLES)

PSPRO = 		xy$(SHORTVERSION)dict.pro
PSMAP = 		xypic.map

SUPPORT =		install-tds \
			dvitogif89a pnmrawtopcropwhite.c

# Macros have .tex suffix and are generated from the .doc files.
#
.SUFFIXES:	.tex .doc
.doc.tex:;	$(DOC2TEX) $< > $@
#
.PHONY:		macros install.macros
#
macros: 	$(MACROS)
install.macros:	$(MACROS)
	-test -d $(TEXINPUTDIR) || $(MKDIR) $(TEXINPUTDIR)
	for f in $(MACROS); do $(INSTALL) $$f $(TEXINPUTDIR)/$$f; done
#
# Kernel dependencies:
#
xy.tex:				xy.doc
xyidioms.tex:			xyidioms.doc
xyrecat.tex:			xyrecat.doc
#
# Extension option dependencies:
#
xyframe.tex:			xyframe.doc
xytips.tex:			xytips.doc
xycmtip.tex:			xycmtip.doc
xycurve.tex:			xycurve.doc
xyline.tex:			xyline.doc
xyrotate.tex:			xyrotate.doc
xycolor.tex:			xycolor.doc
xycrayon.tex:			xycrayon.doc
xyimport.tex:			xyimport.doc
xytile.tex:			xytile.doc
#
xytpic.tex:			xytpic.doc
xytp-f.tex:			xytp-f.doc
#
xyemtex.tex:			xyemtex.doc
#
xyps.tex:			xyps.doc
xyps-ps.tex:			xyps-ps.doc
xyps-pro.tex:			xyps-pro.doc
xyps-col.tex:			xyps-col.doc
xyps-c.tex:			xyps-c.doc
xyps-f.tex:			xyps-f.doc
xyps-l.tex:			xyps-l.doc
xyps-r.tex:			xyps-r.doc
xyps-s.tex:			xyps-s.doc
xyps-t.tex:			xyps-t.doc
xypsdict.tex:			xypsdict.doc
xypspatt.tex:			xypspatt.doc
#
# Feature option dependencies:
#
xydummy.tex:			xydummy.doc
xyall.tex:			xyall.doc
#
xymatrix.tex:			xymatrix.doc
xyarrow.tex:			xyarrow.doc
xygraph.tex:			xygraph.doc
xy2cell.tex:			xy2cell.doc
xypoly.tex:			xypoly.doc
xyarc.tex:			xyarc.doc
xyknot.tex:			xyknot.doc
xyweb.tex:			xyweb.doc
#
# Driver option dependencies:
#
xycmactex.tex:			xycmactex.doc
xydvips.tex:			xydvips.doc
xydvitops.tex:			xydvitops.doc
xydvidrv.tex:			xydvidrv.doc
xydocps.tex:			xydocps.doc
xytextures.tex:			xytextures.doc
xy16textures.tex:		xy16textures.doc
xyoztex.tex:			xyoztex.doc
xymovie.tex:			xymovie.doc
xy17oztex.tex:			xy17oztex.doc
xyxdvi.tex:			xyxdvi.doc
#
# PDF option is special.
#
xypdf.tex xypdf-co.tex xypdf-cu.tex xypdf-fr.tex xypdf-li.tex xypdf-ro.tex: xypdf.dtx xypdf.ins
	$(LATEX) xypdf.ins
#
# Backwards compatibility dependencies:
#
xyv2.tex:			xyv2.doc
xypic.tex:			xypic.doc
#
# Required documentation files
#
install.trailer:	$(NOTES)
	-test -d $(TEXDOCDIR) || $(MKDIR) $(TEXDOCDIR)
	for f in $(NOTES); do $(INSTALL) $$f $(TEXDOCDIR)/$$f; done
#
# CATALOG for CTAN...are these still used?
CATALOG:	CATALOG.doc xy.tex
	$(LATEX) CATALOG.doc
	$(MV) CATALOG.out CATALOG
#
# The VERSIONS is just a list of the CVS versions.
VERSIONS:	$(SOURCES)
	sed -n 's/^.*\([$$]Id[:][^$$]*[$$]\).*$$/\1/p' $(SOURCES) | sort -u >VERSIONS


# FONTS.
#
.PHONY:		mfinputs texfonts $(PK)fonts fonts psfonts \
		install.fonts
#
fonts: texfonts $(PK)fonts psfonts
#
METAFONTS = \
	xydash10.mf xybsql10.mf xyd2.mf \
	xyatip10.mf xybtip10.mf xytech.mf xyatip.mf xybtip.mf xyd.mf \
	xycirc10.mf \
	xycmat10.mf xycmbt10.mf xycmat11.mf xycmbt11.mf xycmat12.mf xycmbt12.mf xycm.mf \
	xyeuat10.mf xyeubt10.mf xyeuat11.mf xyeubt11.mf xyeuat12.mf xyeubt12.mf xyeuler.mf \
	xyluat10.mf xylubt10.mf xyluat11.mf xylubt11.mf xyluat12.mf xylubt12.mf xylu.mf xyatri.mf xybtri.mf \
	xyline10.mf xyqc10.mf xymisc10.mf
#
TEXFONTS = \
	xydash10.tfm xybsql10.tfm xyatip10.tfm xybtip10.tfm xycirc10.tfm \
	xycmat10.tfm xycmbt10.tfm xycmat11.tfm xycmbt11.tfm xycmat12.tfm xycmbt12.tfm \
	xyeuat10.tfm xyeubt10.tfm xyeuat11.tfm xyeubt11.tfm xyeuat12.tfm xyeubt12.tfm \
	xyluat10.tfm xylubt10.tfm xyluat11.tfm xylubt11.tfm xyluat12.tfm xylubt12.tfm \
	xyline10.tfm xyqc10.tfm xymisc10.tfm
#
FONTSOURCES = $(METAFONTS) xytest.mf
#
# Note: we only depend on the tfm-files, so you must remove them to
# regenerate the fonts at all desired magnifications.
#
.SUFFIXES:	.mf .tfm .pfb .afm .pfm .pfa
.mf.tfm:;	$(MF2TFM)
#
mfinputs:	$(METAFONTS)
#
texfonts $(PK)fonts: $(METAFONTS) $(TEXFONTS)
install.fonts:	fonts
	if test -n "$(MFINPUTDIR)"; then \
	  test -d $(MFINPUTDIR) || $(MKDIR) $(MFINPUTDIR); \
	  for f in $(METAFONTS);do $(INSTALL) $$f $(MFINPUTDIR)/$$f;done; fi
	-test -d $(TEXFONTDIR) || $(MKDIR) $(TEXFONTDIR)
	for f in $(TEXFONTS); do $(INSTALL) $$f $(TEXFONTDIR)/$$f; done
	:
	[ "$(MAGS)" = "." ] || \
	 for mode in $(MODES); do for mag in $(MAGS); do \
	  $(RM) xytest.*gf xytest.*tfm;\
	  $(MF) "\\mode=$$mode; mag=magstep($$mag); input xytest";\
	  dpi="`expr xytest.*gf : 'xytest\.\([0-9]*\)gf'`";\
	  for f in $(TEXFONTS); do \
	    f="`expr $$f : '\([a-z0-9]*\)\.tfm'`.$${dpi}$(PK)" ;\
	    if [ ! -f $$f ]; then echo "ERROR: FONT $$f NOT GENERATED";\
	    else test -d "$(FONTDIR)" || $(MKDIR) $(FONTDIR);\
	      $(INSTALL) $$f $(FONTDIR)/$$f; fi; done; done; done
#
# TeX font dependencies.
#
xydash10.tfm:	xydash10.mf xyd2.mf xytest.mf
xybsql10.tfm:	xybsql10.mf xyd.mf xytest.mf
xycirc10.tfm:	xycirc10.mf xytest.mf
xyatip10.tfm:	xyatip10.mf xytech.mf xyatip.mf xyd.mf xytest.mf
xybtip10.tfm:	xybtip10.mf xytech.mf xybtip.mf xyd.mf xytest.mf
xycmat10.tfm:	xycmat10.mf xyatip.mf xyd.mf xytest.mf
xycmbt10.tfm:	xycmbt10.mf xybtip.mf xyd.mf xytest.mf
xycmat11.tfm:	xycmat11.mf xyatip.mf xyd.mf xytest.mf
xycmbt11.tfm:	xycmbt11.mf xybtip.mf xyd.mf xytest.mf
xycmat12.tfm:	xycmat12.mf xyatip.mf xyd.mf xytest.mf
xycmbt12.tfm:	xycmbt12.mf xybtip.mf xyd.mf xytest.mf
xyeuat10.tfm:	xyeuat10.mf xyatip.mf xyd.mf xytest.mf
xyeubt10.tfm:	xyeubt10.mf xybtip.mf xyd.mf xytest.mf
xyeuat11.tfm:	xyeuat11.mf xyatip.mf xyd.mf xytest.mf
xyeubt11.tfm:	xyeubt11.mf xybtip.mf xyd.mf xytest.mf
xyeuat12.tfm:	xyeuat12.mf xyatip.mf xyd.mf xytest.mf
xyeubt12.tfm:	xyeubt12.mf xybtip.mf xyd.mf xytest.mf
xyluat10.tfm:	xyluat10.mf xyatip.mf xyd.mf xytest.mf
xylubt10.tfm:	xylubt10.mf xybtip.mf xyd.mf xytest.mf
xyluat11.tfm:	xyluat11.mf xyatip.mf xyd.mf xytest.mf
xylubt11.tfm:	xylubt11.mf xybtip.mf xyd.mf xytest.mf
xyluat12.tfm:	xyluat12.mf xyatip.mf xyd.mf xytest.mf
xylubt12.tfm:	xylubt12.mf xybtip.mf xyd.mf xytest.mf
#
# Obsolete ones...
xyline10.tfm:   xyline10.mf xytest.mf
xyqc10.tfm:     xyqc10.mf xytest.mf
xymisc10.tfm:   xymisc10.mf xytest.mf


# POSTSCRIPT AND PDF FONT SUPPORT
#
# Generated PostScript Type1 fonts.
#
TYPE1FONTS = \
	xyatip10.pfb xybsql10.pfb xybtip10.pfb xycirc10.pfb xydash10.pfb \
	xyluat10.pfb xylubt10.pfb xyluat11.pfb xylubt11.pfb xyluat12.pfb xylubt12.pfb \
	xycmat10.pfb xycmbt10.pfb xycmat11.pfb xycmbt11.pfb xycmat12.pfb xycmbt12.pfb \
	xyeuat10.pfb xyeubt10.pfb xyeuat11.pfb xyeubt11.pfb xyeuat12.pfb xyeubt12.pfb
AFMFONTS   = \
	xyatip10.afm xybsql10.afm xybtip10.afm xycirc10.afm xydash10.afm \
	xyluat10.afm xylubt10.afm xyluat11.afm xylubt11.afm xyluat12.afm xylubt12.afm \
	xycmat10.afm xycmbt10.afm xycmat11.afm xycmbt11.afm xycmat12.afm xycmbt12.afm \
	xyeuat10.afm xyeubt10.afm xyeuat11.afm xyeubt11.afm xyeuat12.afm xyeubt12.afm
PFMFONTS   = \
	xyatip10.pfm xybsql10.pfm xybtip10.pfm xycirc10.pfm xydash10.pfm \
	xyluat10.pfm xylubt10.pfm xyluat11.pfm xylubt11.pfm xyluat12.pfm xylubt12.pfm \
	xycmat10.pfm xycmbt10.pfm xycmat11.pfm xycmbt11.pfm xycmat12.pfm xycmbt12.pfm \
	xyeuat10.pfm xyeubt10.pfm xyeuat11.pfm xyeubt11.pfm xyeuat12.pfm xyeubt12.pfm
PSFONTS = $(TYPE1FONTS) $(AFMFONTS) $(PFMFONTS)
#
PDFENC = xyd.enc xyd2.enc xycirc.enc
#
# These use the mf2pt1.zip package (included unmodified in the sources as required by the rules).
#
# Daniel: --bpppix=.04 decreases the default precision (bpppix=.02) by 1 bit (which # is not significant) and prevents an error message in xybsql10.mf
%.pfb: %.mf mf2pt1.mem
	./mf2pt1/mf2pt1.pl --encoding=xyd.enc --fontversion=001.$(SHORTVERSION) --rounding=.0001 --bpppix=.04 $<
# Special cases for the two non-xyd-encoded fonts.
xydash10.pfb: xydash10.mf mf2pt1.mem xyd2.enc
	./mf2pt1/mf2pt1.pl --encoding=xyd2.enc --fontversion=001.$(SHORTVERSION) --rounding=.0001 xydash10.mf
xycirc10.pfb: xycirc10.mf mf2pt1.mem xycirc.enc
	./mf2pt1/mf2pt1.pl --encoding=xycirc.enc --fontversion=001.$(SHORTVERSION) --rounding=.0001 xycirc10.mf
# The helper script.
mf2pt1.mem: mf2pt1.zip
	$(UNZIP) mf2pt1.zip mf2pt1/mf2pt1.mp mf2pt1/mf2pt1.pl
	$(MPOST) -progname=mpost -ini mf2pt1/mf2pt1.mp \\dump
#
# Generating pfm/afm Type1 font metric files from the base name of a METAFONT file.
#
%.afm %.pfm: %.tfm
	$(MFTRACE) --encoding=xyd.enc $*
# Special cases for non-xyd-encoded fonts.
xydash10.afm xydash10.pfm: xydash10.tfm
	$(MFTRACE) --encoding=xyd2.enc xydash10
xycirc10.afm xycirc10.pfm: xycirc10.tfm
	$(MFTRACE) --encoding=xycirc.enc xycirc10
#
####TYPE1FONTS = $(YANDYTYPE1FONTS) $(TYPE1FONTS)
####PFMFONTS = $(YANDYPFMFONTS) $(PFMFONTS)
####AFMFONTS = $(YANDYAFMFONTS) $(AFMFONTS)
#####
####psfonts: $(YANDYFONTS) $(PSFONTS)
psfonts: $(PSFONTS)
#
# PostScript headers.
#
.SUFFIXES:	.pro
xy$(SHORTVERSION)dict.pro: xydocps.tex xypsdict.tex xypspatt.tex xyps-pro.tex
	-$(RM) xy$(SHORTVERSION)dict.pro
	$(TEX) xydocps.tex
#
.PHONY: install.ps
install.ps:		$(PSPRO) $(PSMAP) psfonts
	test -d $(PSHEADERDIR) || $(MKDIR) $(PSHEADERDIR)
	test -d $(TYPE1DIR) || $(MKDIR) $(TYPE1DIR)
	test -d $(PFMDIR) || $(MKDIR) $(PFMDIR)
	test -d $(AFMDIR) || $(MKDIR) $(AFMDIR)
	for f in $(TYPE1FONTS); do $(INSTALL) $$f $(TYPE1DIR)/$$f; done
	for f in $(PFMFONTS); do $(INSTALL) $$f $(PFMDIR)/$$f; done
	for f in $(AFMFONTS); do $(INSTALL) $$f $(AFMDIR)/$$f; done
	for f in $(PSPRO); do $(INSTALL) $$f $(PSHEADERDIR)/$$f; done
	for f in $(PSMAP); do $(INSTALL) $$f $(PSHEADERDIR)/$$f; done


# DOCUMENTATION.
#
.PHONY:		documentation guide refer manual
#
.SUFFIXES:	.man .pdf .ps$(GZ) .dvi$(GZ)
#
documentation:	manual TeXnical
#
# Manuals use the geometry package which we store in the archive in original form as required by the LaTeX license.
#
geometry.sty: geometry.zip
	-rm -fr geometry
	unzip geometry.zip
	cd geometry && $(LATEX) geometry.ins
	mv geometry/geometry.sty .
clean::
	rm -fr geometry
realclean::
	rm -f geometry.sty
#
MANUALDATA =	ross.eps kris.eps import1.eps geometry.sty
MANUALSOURCES =		\
	xyguide.man xydoc.sty latin1.sty xydoc.bib \
	xyrefer.man $(KERNELSOURCES) $(LATEXSTYLES) $(OPTIONSOURCES) \
	$(OPTIONDATA) $(MANUALDATA) barrdoc.latex
#
GUIDE = xyguide.pdf
REFER = xyrefer.pdf barrdoc.pdf
#
guide:		$(GUIDE)
refer:		$(REFER)
manual:		$(GUIDE) $(REFER)
#
# Each is different...
#
# Guide is generated with dvipdfmx specials.
xyguide.pdf:	xyguide.man macros psfonts xydoc.sty latin1.sty xydoc.bib dvipdfmx.def
	$(CP) xyguide.man xyguide.tex
	$(RM) xyguide.aux xyguide.bbl xyguide.ind xyguide.toc
	echo "\\PassOptionsToPackage{dvipdfmx}{color}\\PassOptionsToPackage{dvipdfmx}{graphics}\\PassOptionsToPackage{dvipdfmx}{hyperref}" > xydoc.front
	echo "\\xyoption{pdf}\\pdftrue" > xydoc.back
	$(LATEX) xyguide
	$(BIBTEX) xyguide
	$(LATEX) xyguide
	$(LATEX) xyguide
	$(MAKEINDEX) xyguide
	$(LATEX) xyguide
	$(LATEX) xyguide
	$(DVIPDFMX) xyguide.dvi
#
## Alternate guide generation with straight pdfTeX.
#	$(CP) xyguide.man xyguide.tex
#	$(RM) xyguide.aux xyguide.bbl xyguide.ind xyguide.toc
#	echo '' > xydoc.front
#	echo '\\xyoption{pdf}' > xydoc.back
#	$(PDFLATEX) xyguide
#	$(BIBTEX) xyguide
#	$(PDFLATEX) xyguide
#	$(PDFLATEX) xyguide
#	$(MAKEINDEX) xyguide
#	$(PDFLATEX) xyguide
#	$(PDFLATEX) xyguide
#
# Reference manual is generated with dvips and ps2pdf specials.
xyrefer.pdf:	xyrefer.man macros psfonts xydoc.sty latin1.sty xydoc.bib dvipdfmx.def \
		$(KERNELSOURCES) $(OPTIONSOURCES) $(MANUALDATA)
	$(CP) xyrefer.man xyrefer.tex
	$(RM) xyrefer.aux xyrefer.bbl xyrefer.ind xyrefer.toc
	echo "\\PassOptionsToPackage{dvips}{color}\\PassOptionsToPackage{dvips}{graphics}\\PassOptionsToPackage{ps2pdf}{hyperref}" > xydoc.front
	echo "\\xyoption{dvips}\\xyoption{ps}" > xydoc.back
	$(LATEX) xyrefer
	$(BIBTEX) xyrefer
	$(LATEX) xyrefer
	$(LATEX) xyrefer
	$(MAKEINDEX) xyrefer
	$(LATEX) xyrefer
	$(LATEX) xyrefer
	$(DVIPS) < xyrefer.dvi > xyrefer.ps
	$(PS2PDF) xyrefer.ps xyrefer.pdf
#
dvipdfmx.def:; wget http://www.ctan.org/tex-archive/macros/latex/contrib/dvipdfmx-def/dvipdfmx.def
#
# Barr's diagxy documentation.
barrdoc.pdf:	barrdoc.latex
	touch barrdoc.ind
	$(PDFLATEX) barrdoc.latex
	$(PDFLATEX) barrdoc.latex
	$(MAKEINDEX) barrdoc
	$(PDFLATEX) barrdoc.latex
	$(PDFLATEX) barrdoc.latex

#
# TeXNICAL DOCUMENTATION.
#
.PHONY:		TeXnical
#
TeXNICALSOURCES = xysource.man COPYING.patch FONTCOPYING.patch
#
TeXNICALAUX = \
	TRAILER CATALOG README INSTALL MAKE \
	COPYING.tex FONTCOPYING.tex
#
TeXNICAL = xysource.pdf xypdf.pdf
TeXnical: $(TeXNICAL)
#
# Literate programming sources are generated with dvipdfmx specials.
xysource.pdf: xysource.man macros.tmp macros fonts $(SOURCES) $(TeXNICALAUX)
	$(CP) xysource.man xysource.tex
	$(RM) xysource.aux xysource.bbl xysource.ind xysource.toc
	echo "\\PassOptionsToPackage{dvipdfm}{color}\\PassOptionsToPackage{dvipdfmx}{graphics}\\PassOptionsToPackage{dvipdfm}{hyperref}" > xydoc.front
	echo "\\xyoption{pdf}" > xydoc.back
	$(LATEX) xysource
	$(BIBTEX) xysource
	$(LATEX) xysource
	$(MAKEINDEX) xysource
	$(LATEX) xysource
	$(LATEX) xysource
	$(DVIPDFMX) xysource.dvi
#
COPYING.tex: COPYING COPYING.patch
	patch COPYING -o COPYING.tex < COPYING.patch
#
FONTCOPYING.tex: FONTCOPYING FONTCOPYING.patch
	patch FONTCOPYING -o FONTCOPYING.tex < FONTCOPYING.patch
#
# Macro index...
#
macros.tmp: $(KERNELSOURCES) $(LATEXSTYLES) $(OPTIONSOURCES) $(METAFONTS)
	-$(RM) macros.tmp
	for f in $(KERNELSOURCES) $(LATEXSTYLES) $(OPTIONSOURCES) $(METAFONTS);\
	do $(GAWK) '\
	  func err(s) { printf("%s,%d: %s\n",FILENAME,FNR,s) >>"/dev/stderr"};\
	  func prt(s,i) { \
	   printf("\\filelinedef{%s}{%d}\\index def{%s}\n",FILENAME,FNR,s) };\
	  func prtdef(i) { t = substr($$0,i);\
	   if (match(t,/[\\|][a-zA-Z@]*|\\.|[^\\|]|{([^{}]|\\{|\\})*}/) != 1) \
	    err("Weird TeX token");\
	   else prt(substr($$0,i,RLENGTH),i) };\
	  func prtcsdef(i) { t = substr($$0,i);\
	   if (match(t,/{([^{}]|\\{|\\})*}|{([^{}]|\\{|\\})*{([^{}]|\\{|\\})*}([^{}]|\\{|\\})*}/) != 1) \
	    err("Weird TeX cs name token");\
	   else prt(substr($$0,i+1,RLENGTH-2),i) };\
	  /^\\let[^A-Za-z@]/		||\
	  /^\\def[^A-Za-z@]/		{ prtdef(5); next };\
	  /^\\gdef[^A-Za-z@]/		||\
	  /^\\edef[^A-Za-z@]/		||\
	  /^\\xdef[^A-Za-z@]/		{ prtdef(6); next };\
	  /^\\newif[^A-Za-z@]/		{ prtdef(7); next };\
	  /^\\xydef@[^A-Za-z@]/		||\
	  /^\\xylet@[^A-Za-z@]/		{ prtdef(8); next };\
	  /^\\xyfont@[^A-Za-z@]/	{ prtdef(9); next };\
	  /^\\global\\let[^A-Za-z@]/	{ prtdef(12); next };\
	  /^\\xywarnifdefined[^A-Za-z@]/ { prtdef(17); next };\
	  /^\\ifx\\undefined[^A-Za-z@]/ { prtdef(15); next };\
	  /^\\xynew@{[^{}]*}/		{ prtdef(index($$0,"}")+1); next };\
	  /^\\xydefcsname@{/		{ prtcsdef(14); next };\
	  /^\\xyletcsnamecsname@{/	{ prtcsdef(20); next }' $$f;\
	done | sed -e 's,\\{,\\\\otherebgroup,' -e 's,\\},\\\\otheregroup,' \
	> macros.tmp
#'
###printf("\\macroentry{%s}{%s}{%d}\n",s,FILENAME,FNR) };\
#
# Finally the separate pdf option documentation.
#
# xypdf started as a LaTeX package so is generated from 'docstrip' sources.
xypdf.pdf:	xypdf.dtx
	$(LATEX) xypdf.dtx
	$(LATEX) xypdf.dtx
	$(DVIPDFMX) xypdf
	@$(RM) xypdf.dvi
#
# Everything.
#
DOCUMENTS = $(GUIDE) $(REFER) $(TeXNICAL)


# HOME PAGE.
#
WWWSOURCES =	Xy-pic.html Xy-logo.doc Xy-logo.xy
#
Xy-logo.tex:	Xy-logo.doc
Xy-logo.dvi:	Xy-logo.tex Xy-logo.xy macros; $(LATEX) Xy-logo
Xy-logo.ps:	Xy-logo.dvi; $(DVIPS) Xy-logo.dvi -oXy-logo.ps
#
PNMCROP = ./pnmrawtopcropwhite | pnmcrop
PGMTOPNG = pgmtoppm rgbi:1/1/1 | pnmtopng -interlace -transparent rgbi:1/1/1
#
Xy-logo.png:	Xy-logo.ps pnmrawtopcropwhite
	echo '' | \
	 gs -sDEVICE=pbmraw -r300 \
	  -sOutputFile='|$(PNMCROP) >Xy-logo.pbm' \
	  -q - Xy-logo.ps
	cat Xy-logo.pbm | $(PGMTOPNG) >Xy-logo.png
#
pnmrawtopcropwhite: pnmrawtopcropwhite.c
#
.PHONY: 	install.www
#
install.www:	Xy-pic.html Xy-logo.png
	scp Xy-pic.html Xy-logo.png krisrose@tug.org:public_html
	scp Xy-pic.html krisrose,xy-pic@web.sourceforge.net:htdocs/index.html
	scp Xy-logo.png krisrose,xy-pic@web.sourceforge.net:htdocs


# DISTRIBUTION TREE.
#
# Creates what goes on CTAN etc.
#
DIST = xy-$(VERSION)
DISTSRC = xy$(SHORTVERSION)src
DISTFONTDIR = $(DIST)/$(PK)fonts/$${mode}$${dpi}
#
# Files.
#
SOURCES = $(MACROSOURCES) $(FONTSOURCES) $(PSSOURCES) $(MANUALSOURCES) $(TeXNICALSOURCES) $(SUPPORT) $(WWWSOURCES)
#
# Targets:
#
.PHONY: dist
#
dist:		$(NOTES) $(DOCUMENTS) $(SOURCES) $(MACROS) \
		$(TEXFONTS) $(TYPE1FONTS) $(PFMFONTS) $(AFMFONTS) \
		$(PSPRO) $(PSMAP) $(PDFENC) $(SUPPORT)
	$(RM) $(DIST)
	$(TAR) -C .. `for f in $(SOURCES); do echo src/$$f; done` | $(GZIP) >$(DISTSRC).tar$(GZ)
	$(MD5SUM) $(DISTSRC).tar$(GZ) | $(SIGN) >$(DISTSRC).tar$(GZ).sign
	$(MKDIR) $(DIST) && for f in $(NOTES); do $(INSTALL) $$f $(DIST)/$$f; done
	$(MKDIR) $(DIST)/doc && for f in $(DOCUMENTS) $(DISTSRC).tar$(GZ); do $(INSTALL) $$f $(DIST)/doc/$$f; done
	$(MKDIR) $(DIST)/texinputs && for f in $(MACROS)     ; do $(INSTALL) $$f $(DIST)/texinputs/$$f; done
	$(MKDIR) $(DIST)/texfonts  && for f in $(TEXFONTS)   ; do $(INSTALL) $$f $(DIST)/texfonts/$$f;  done
	$(MKDIR) $(DIST)/mfinputs  && for f in $(METAFONTS)  ; do $(INSTALL) $$f $(DIST)/mfinputs/$$f;  done
	$(MKDIR) $(DIST)/type1     && for f in $(TYPE1FONTS) ; do $(INSTALL) $$f $(DIST)/type1/$$f;     done
	$(MKDIR) $(DIST)/pfm	   && for f in $(PFMFONTS)   ; do $(INSTALL) $$f $(DIST)/pfm/$$f;       done
	$(MKDIR) $(DIST)/afm	   && for f in $(AFMFONTS)   ; do $(INSTALL) $$f $(DIST)/afm/$$f;       done
	$(MKDIR) $(DIST)/ps	   && for f in $(PSPRO)      ; do $(INSTALL) $$f $(DIST)/ps/$$f;        done
	$(MKDIR) $(DIST)/map	   && for f in $(PSMAP)      ; do $(INSTALL) $$f $(DIST)/map/$$f;       done
	$(MKDIR) $(DIST)/enc       && for f in $(PDFENC)     ; do $(INSTALL) $$f $(DIST)/enc/$$f;       done
	$(MKDIR) $(DIST)/support   && for f in $(SUPPORT)    ; do $(INSTALL) $$f $(DIST)/support/$$f;   done
	:
	find $(DIST) -type f -exec $(MD5SUM) '{}' ';' | $(SIGN) >MANIFEST
	$(CP) MANIFEST $(DIST)
	:
	zip -qr xy$(SHORTVERSION).zip $(DIST)
	$(MD5SUM) xy$(SHORTVERSION).zip | $(SIGN) >xy$(SHORTVERSION).zip.sign
	tar -c $(DIST) | $(GZIP) >xy$(SHORTVERSION).tar$(GZ)
	$(MD5SUM) xy$(SHORTVERSION).tar$(GZ) | $(SIGN) >xy$(SHORTVERSION).tar$(GZ).sign


# Xy-pic the MOVIE :)
#
.SUFFIXES: .texmovie .gif
#
.texmovie.gif:
	$(LATEX) '\documentclass[dvips]{movie}' \
		'\usepackage[all]{xy}' \
		'\begin{document}' \
		'\input{$*.texmovie}' \
		'\end{document}'
	@-[ -f texput.dvi ] && $(MV) texput.dvi $*.dvi && $(MV) texput.size $*.size
	@-[ -f movie.cls.dvi ] && $(MV) movie.cls.dvi $*.dvi && $(MV) movie.cls.size $*.size
	@-[ -f movie.dvi ] && $(MV) movie.dvi $*.dvi && $(MV) movie.size $*.size
	./dvitogif89a $*.dvi
#
.texmovie.dvi:
	$(LATEX) '\documentclass{article}' \
		'\usepackage[movie,all]{xy}' \
		'\begin{document}' \
		'\title{Storyboard for ``$*.''}' \
		'\maketitle' \
		'\input{$*.texmovie}' \
		'\end{document}'
#
dragon.gif:	dragon.texmovie movie.cls dvitogif89a
dragon.dvi:	dragon.texmovie movie.cls
#
sesam.gif:	sesam.texmovie movie.cls dvitogif89a
sesam.dvi:	sesam.texmovie movie.cls
#
gasket.dvi:	gasket.texmovie movie.cls dvitogif89a
gasket.gif:	gasket.texmovie movie.cls


# TAGS for Emacs.
#
TAGS:	$(SOURCES)
	-$(RM) TAGS
	for f in `for ff in $(SOURCES); do echo $$ff; done |sort -u`;\
	do\
	 $(GAWK) '\
	  func err(s) { printf("%s,%d: %s\n",FILENAME,FNR,s) >>"/dev/stderr"};\
	  func prt(s,n) { printf("%s\177%d,%d\n",s,FNR,c+n) };\
	  func prtdef(i) { t = substr($$0,i);\
	   if (match(t,/[\\|][a-zA-Z@]*|\\.|[^\\|]|{([^{}]|\\{|\\})*}/) != 1) \
	    err("Weird TeX token");\
	   else prt(substr($$0,1,i+RLENGTH),i) };\
	  func prtcsdef(i) { t = substr($$0,i);\
	   if (match(t,/{([^{}]|\\{|\\})*}|{([^{}]|\\{|\\})*{([^{}]|\\{|\\})*}([^{}]|\\{|\\})*}/) != 1) \
	    err("Weird TeX cs name token");\
	   else prt(substr($$0,1,i+RLENGTH),i) };\
	  func fin() { c += length($$0) + 1; next };\
	  BEGIN { c = 0 };\
	  /^\\let[^A-Za-z@]/		||\
	  /^\\def[^A-Za-z@]/		{ prtdef(5); fin() };\
	  /^\\gdef[^A-Za-z@]/		||\
	  /^\\edef[^A-Za-z@]/		||\
	  /^\\xdef[^A-Za-z@]/		{ prtdef(6); fin() };\
	  /^\\newif[^A-Za-z@]/		{ prtdef(7); fin() };\
	  /^\\xydef@[^A-Za-z@]/		||\
	  /^\\xylet@[^A-Za-z@]/		{ prtdef(8); fin() };\
	  /^\\xyfont@[^A-Za-z@]/	{ prtdef(9); fin() };\
	  /^\\global\\let[^A-Za-z@]/	{ prtdef(12); fin() };\
	  /^\\xywarnifdefined[^A-Za-z@]/ { prtdef(17); fin() };\
	  /^\\ifx\\undefined[^A-Za-z@]/ { prtdef(15); fin() };\
	  /^\\xynew@{[^{}]*}/		{ prtdef(index($$0,"}")+1); fin() };\
	  /^\\xydefcsname@{/		{ prtcsdef(14); fin() };\
	  /^\\xyletcsnamecsname@{/	{ prtcsdef(20); fin() };\
	  /??\=\[/	{ s = $$0; i = 0;\
	   while (first = index(s, "??=[")) {\
	    s = substr(s,first+4); i += first+4;\
	    if (j = index(s, "]")) prt(substr($$0,1,i+j-1),i);\
	    else printf("Unmatched []s") }; fin() };\
	  /^@[A-Za-z]*{/ { prt($$0,index($$0,"{")+1); fin() };\
	  { fin() }' $$f >TAGS.tmp ;\
	 wc -c TAGS.tmp|$(GAWK) '{printf "\f\n%s,%s\n","'"$$f"'",$$1}'>>TAGS;\
	 cat TAGS.tmp >>TAGS ;\
	done
	$(RM) TAGS.tmp


# LOG.
#
# $Log: Makefile,v $
# Revision 3.74  2013/10/06 01:12:08  krisrose
# Backpatch for 3.8.9...
#
# Revision 3.73  2013/10/06 00:12:29  krisrose
# Backpatch for barr...
#
# Revision 3.72  2013/10/02 02:04:27  krisrose
# Release 3.8.9 including Barr's diagxy feature.
#
# Revision 3.71  2013/08/26 04:07:03  krisrose
# Version bump - next version will be 3.8.9.
#
# Revision 3.70  2012/05/24 00:30:38  krisrose
# Release 3.8.8 with xyframes fix by Norbert Preining.
#
# Revision 3.69  2011/08/28 22:19:06  krisrose
# Font fix (stroke to outline) by Daniel.
#
# Revision 3.68  2011/03/31 06:04:02  krisrose
# Introduced !B vector that extracts original baseline offset.
#
# Revision 3.67  2011/03/14 20:14:00  krisrose
# Preparing for release 3.8.6.
#
# Revision 3.66  2011/02/11 04:16:21  krisrose
# Preparing release 3.8.5 with Daniel's latest xypdf.
#
# Revision 3.65  2010/07/27 23:10:08  krisrose
# Include geometry as used...
#
# Revision 3.64  2010/07/27 09:49:34  krisrose
# Started xyling (and address updates).
#
# Revision 3.63  2010/07/26 11:21:02  krisrose
# 3.8.3 version oopses
#
# Revision 3.62  2010/07/07 16:44:04  krisrose
# Limit rounding by mf2pt1.
#
# Revision 3.61  2010/07/06 22:43:56  krisrose
# Release 3.8.3.
#
# Revision 3.60  2010/06/23 19:40:17  krisrose
# Releasing 3.8.2
#
# Revision 3.59  2010/06/19 01:59:06  krisrose
# The never ending cleanup continues...
#
# Revision 3.58  2010/06/17 22:39:25  krisrose
# First 3.8.2 with fixed PFB font map name and version...
#
# Revision 3.57  2010/06/10 18:45:49  krisrose
# Reference to GPL by URL.
#
# Revision 3.56  2010/06/10 15:08:54  krisrose
# Slight reorganization of release.
#
# Revision 3.55  2010/06/08 07:28:43  krisrose
# Identify .map file.
#
# Revision 3.54  2010/06/07 04:16:52  krisrose
# Fix forgotten enc files.
#
# Revision 3.53  2010/06/03 03:33:45  krisrose
# Avoid creating empty pdf release directory.
#
# Revision 3.52  2010/06/02 20:34:48  krisrose
# Enforce encoding on .a/pfm files.
#
# Revision 3.51  2010/05/21 18:17:59  krisrose
# Use explicit paper size - but manuals still not centered properly.
#
# Revision 3.50  2010/05/21 15:25:48  krisrose
# Release should not contain Windows executables so removed doc2tex.com.
#
# Revision 3.49  2010/05/17 23:29:21  krisrose
# Experiment: generate all the Type1 fonts with METAPOST.
#
# Revision 3.48  2010/05/13 23:26:05  krisrose
# TeXnical documentation not included in standard package.
#
# Revision 3.47  2010/05/09 22:11:05  krisrose
# Loose /usr/bin prefixes.
#
# Revision 3.46  2010/05/06 18:26:36  krisrose
# Reference cleanup.
#
# Revision 3.45  2010/05/06 17:46:29  krisrose
# Ross Moore's e-mail address updated.
# Many obsolete files degraded to Historic.
#
# Revision 3.44  2010/05/06 04:12:56  krisrose
# Documentation fixes.
#
# Revision 3.43  2010/05/06 02:00:59  krisrose
# Hyperlinked index.
# Force dvipdfmx as pdftrue.
# Small adjustments to tips and automaton example.
# Proper bookmark special cases for PS and Xy commands.
#
# Revision 3.42  2010/05/05 04:13:55  krisrose
# Include signed md5sums of archives.
#
# Revision 3.41  2010/05/04 22:48:29  krisrose
# Attempt to just generate PDF files.
#
# Revision 3.40  2010/05/04 08:23:00  krisrose
# Updating documentation to use dvipdfmx.
#
# Revision 3.39  2010/05/04 01:19:33  krisrose
# Make source distribution. No PK fons included.
#
# Revision 3.38  2010/05/03 18:06:23  krisrose
# Keep MANIFEST in src.
#
# Revision 3.37  2010/04/29 06:03:15  krisrose
# Add zip and tar.gz archive to dist.
#
# Revision 3.36  2010/04/29 02:12:59  krisrose
# Clean out obsolete LaTeX2HTML.
#
# Revision 3.35  2010/04/29 01:27:46  krisrose
# Distribution omits source (since it is not freely available on SourceForge).
#
# Revision 3.34  2010/04/29 01:25:38  krisrose
# Makefile included in sources.  Consolidated a single INSTALL file.
#
# Revision 3.33  2010/04/28 23:48:08  krisrose
# make realclean fix.
#
# Revision 3.32  2010/04/28 20:12:36  krisrose
# Include home page in release.
#
# Revision 3.31  2010/04/28 19:48:03  krisrose
# make realclean and .cvsignore missed a few files.
#
# Revision 3.30  2010/04/28 07:14:30  krisrose
# New Xy-pic home page installed.
#
# Revision 3.29  2010/04/26 22:01:48  krisrose
# Documentation fixes (hyperref and other things).
#
# Revision 3.28  2010/04/26 05:56:56  krisrose
# Link fixes in progress...
#
# Revision 3.27  2010/04/26 03:47:22  krisrose
# All documentation typesets with pdf option.
#
# Revision 3.26  2010/04/26 01:45:23  krisrose
# First proper integration of xypdf into Xy-pic "make dist".
#
# Revision 3.25  2010/04/25 21:48:05  krisrose
# First proper integration of xypdf into Xy-pic "make dist".
#
# Revision 3.24  2010/04/22 16:03:50  krisrose
# Cleanup of obsolete files.
#
# Revision 3.23  2010/04/22 14:52:09  krisrose
# Documentation up to date. Install PDF encoding files and XYLU metric files.
#
# Revision 3.22  2010/04/22 09:11:26  krisrose
# Include MANIFEST with md5sums.
#
# Revision 3.21  2010/04/22 08:57:58  krisrose
# make dist works again!
#
# Revision 3.20  2010/04/22 08:10:35  krisrose
# Documentation can be generated in DVI, PS, and PDF (without xypdf)...
#
# Revision 3.19  2010/04/21 23:26:07  krisrose
# License patch fixup for TeXnical documentation.
#
# Revision 3.18  2010/04/21 18:41:41  krisrose
# Adjustments preparing for xypdf.dtx and friends!
#
# Revision 3.17  2010/04/21 18:41:02  krisrose
# Adjustments preparing for xypdf.dtx and friends!
#
# Revision 3.16  2010/04/20 20:36:43  krisrose
# Documentation updates.
#
# Revision 3.15  2010/04/20 17:21:06  krisrose
# Experiments with xypdf.sty and mf2pt1.
#
# Revision 3.14  2010/04/17 14:45:48  krisrose
# Generate and extract Type1 fonts.
#
# Revision 3.13  2010/04/17 04:19:41  krisrose
# Integrated xylu tips by Jeremy Gibbons.
#
# Revision 3.12  2010/04/16 06:58:06  krisrose
# Version fixed by hand.
#
# Revision 3.11  2010/04/16 06:06:51  krisrose
# Preparing for a new release...
#
# Revision 3.10  2010/04/13 09:18:54  krisrose
# Generating dummy xypdftex.tex...
#
# Revision 3.9  2010/04/13 09:17:00  krisrose
# No more RCS. LaTeX2HTML use of html.sty broken.
#
# Revision 3.8  2010/04/13 08:10:26  krisrose
# Up to date with Kris' development directory.
#
# Revision 3.7  1999/02/16 15:12:50  krisrose
# Interim release (Y&Y fonts now free).
#
# Revision 3.6  1998/03/06 01:28:05  krisrose
# Releasing (with Y&Y fonts).
#
# Revision 3.5  1997/05/28 13:05:01  krisrose
# Fixed missing breaks bug.
#
# Revision 3.4  1997/05/18 03:04:44  krisrose
# Essential bugfixes.
# And movies now included!
#
# Revision 3.3  1996/12/19 17:05:13  krisrose
# Maintenance release!
#
# Revision 3.2  1995/09/19  18:22:27  kris
# Bug fix release.
#
# Revision 3.1  1995/09/05  20:31:32  kris
# Releasing!
#
# Revision 3.0  1995/07/07  20:14:21  kris
# Major release w/new User's Guide!
#
# Revision 2.14  1995/07/06  02:56:02  kris
# Buglets...
#
# Revision 2.13  1995/07/04  15:10:01  kris
# Ready to release v3?
#
# Revision 2.12  1994/10/25  11:46:25  kris
# Interim release just before v3 [works with AMS-LaTeX 1.2]...
#
# Revision 2.11  1994/07/05  10:37:32  kris
# Third 3beta release [bug fixes].
# Experimental graph feature included (for ECCT-94 presentation).
#
# Revision 2.10  1994/06/15  13:35:19  kris
# Second 3beta release [bug fixes].
#
# Revision 2.9  1994/06/09  14:53:07  kris
# Release 3beta.
#
# Revision 2.8  1994/04/08  04:30:00  kris
# Second (bug fix) 3alpha release.
#
# Revision 2.7  1994/03/08  02:06:01  kris
# Release 3alpha.
#
# Revision 2.6.9.1  1994/03/07  04:22:46  kris
# Last internal 3alpha and pre-2.7 release.
#
# MAJOR REORGANISATION for version 2.7...
#
# Revision 2.6  1992/06/24  01:23:34  kris
# Ready to release v.2.6.
#
# Revision 2.5  1992/02/24  03:30:54  kris
# Default magsteps now just 0, 0.5, 1, and 2.
#
# Revision 2.3  1992/01/13  02:12:28  kris
# Fixed installation instructions and other details.
#
# Revision 2.1  1992/01/02  14:54:07  kris
# Release version.
#
# Revision 1.6  1991/12/17  04:51:16  kris
# Version distributed with `final draft' on Usenet.

# Tell Emacs that this is a Makefile and how it is formatted:
# Local Variables:
# mode:makefile
# fill-prefix:"# "
# fill-column:77
# End:
