# Makefile -- install feynmf.
# Copyright (C) 1994 Thorsten.Ohl@Physik.TH-Darmstadt.de
#
# Feynmf 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, or (at your option)
# any later version.
#
# Feynmf 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 program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# /home/sources/ohl/tex/feynmf/Makefile,v 1.6 1994/05/28 12:10:03 ohl Exp
#
########################################################################

VERSION = 0
RELEASE = 4
STATUS  = alpha

########################################################################

# Directories
prefix = $(HOME)
texdir = $(prefix)/tex/inputs
mfdir = $(prefix)/mf/inputs
docdir = $(texdir)/doc

# Commands
INSTALL_DATA = install -c -m 644
# INSTALL_DATA = cp

# LaTeX2e may be called latex on your system
LATEX = latex2e
# LATEX = latex
MF = mf
MP = mp
MAKEINDEX = makeindex

# Your local printer mode
MFMODE = laserjet

########################################################################
# No user serviceable parts below:
########################################################################

all: feynmf.sty feynmf.mf feynmf.drv feynmp.sty feynmp.mp feynmp.drv

dvi: feynmf.dvi

install: all
	$(INSTALL_DATA) feynmf.mf $(mfdir)
	$(INSTALL_DATA) feynmf.sty $(texdir)

install.doc: all
	$(INSTALL_DATA) feynmf.dtx feynmf.drv $(docdir)

uninstall:
	rm -f $(mfdir)/feynmf.mf
	rm -f $(texdir)/feynmf.sty

uninstall.doc:
	rm -f $(docdir)/feynmf.dtx
	rm -f $(docdir)/feynmf.drv

feynmf.sty: feynmf.dtx feynmf.ins
	$(LATEX) feynmf.ins

feynmf.mf feynmf.drv feynmp.sty feynmp.mp feynmp.drv: feynmf.sty

feynmf.dvi: feynmf.dtx feynmf.drv feynmf.sty feynmf.mf
	-$(LATEX) feynmf.drv
	$(MF) '\mode:=$(MFMODE); input fmfsampl'
	-$(LATEX) feynmf.drv
	$(MAKEINDEX) -s gind.ist -o feynmf.ind feynmf.idx
	$(MAKEINDEX) -s gglo.ist -o feynmf.gls feynmf.glo
	$(LATEX) feynmf.drv
	while grep 'Rerun to get cross-references right\.' feynmf.log; \
	do \
	  $(LATEX) feynmf.drv; \
	done

feynmp.dvi: feynmf.dtx feynmp.drv feynmp.sty feynmp.mp
	-$(LATEX) feynmp.drv
	$(MP) fmfsampl
	-$(LATEX) feynmp.drv
	$(MAKEINDEX) -s gind.ist -o feynmp.ind feynmp.idx
	$(MAKEINDEX) -s gglo.ist -o feynmp.gls feynmp.glo
	$(LATEX) feynmp.drv
	while grep 'Rerun to get cross-references right\.' feynmp.log; \
	do \
	  $(LATEX) feynmp.drv; \
	done

clean:
	rm -f fmfsampl.* \
	      *.tfm *.*gf *.*pk \
	      *.log *.t[1-9] *.t[1-9][0-9] *.t[12][0-9][0-9] \
	      *.ps *.dvi *.aux *.toc *.ilg *.glo *.gls *.idx *.ind \
	      '#*#' *~ .*~

realclean: clean
	rm -f feynmf.mf feynmf.sty feynmf.drv feynmp.*

distclean: realclean

########################################################################
# Maintenance:

DISTFILES = /usr/local/etc/COPYING README Makefile feynmf.dtx feynmf.ins

distdir = feynmf-$(VERSION).$(RELEASE)$(STATUS)
CVSTAG = FEYNMF_$(VERSION)_$(RELEASE)$(STATUS)
M = 

commit:
	@if test -n "$(M)"; then \
	  echo "cvs commit -m '$(M)'"; cvs commit -m '$(M)'; \
	  echo "cvs tag $(CVSTAG)"; cvs tag $(CVSTAG); \
	  echo "cvs tag -b $(CVSTAG)_"; cvs tag -b $(CVSTAG)_; \
	else \
	  echo "usage: make commit M='<message>'" 1>&2; \
	fi

dist: $(distdir).tar.gz
snap: feynmf-current.tar.gz

$(distdir).tar.gz:
	rm -fr $(distdir) $(distdir).tmp
	cvs export -r $(CVSTAG) -d $(distdir).tmp feynmf
	mkdir $(distdir)
	(cd ./$(distdir).tmp; cp $(DISTFILES) ../$(distdir))
	tar cf - $(distdir) | gzip > $@
	rm -fr $(distdir) $(distdir).tmp

feynmf-current.tar.gz: $(DISTFILES)
	rm -fr feynmf-current
	mkdir feynmf-current
	cp $(DISTFILES) feynmf-current
	tar cf - feynmf-current | gzip > $@
	rm -fr feynmf-current

########################################################################
# Local Variables:
# mode:text
# End:
