# Makefile for JACAL: Symbolic Mathematics System.
# Copyright (C) 1990, 1991, 1992 Aubrey Jaffer.
# See the file "COPYING" for terms applying to this program

SHELL = /bin/sh
cfiles = scl.scm math.scm modeinit.scm debug.scm view.scm
sfiles = toploads.scm types.scm func.scm poly.scm elim.scm \
	vect.scm ext.scm norm.scm hist.scm sexp.scm sect.scm \
	grammar.scm parse.scm unparse.scm builtin.scm info.scm \
	tensor.scm
gfiles = English.scm
mfiles = ANNOUNCE README COPYING HELP Makefile ChangeLog \
	jacal.texi demo test.math rw.math
allfiles = $(mfiles) $(sfiles) $(cfiles) $(gfiles)
#tfiles are TeX files in subdirectory manual.
tfiles = manual.tex macros.tex cmds.tex relnotes.tex
#defiles Document internals of Jacal.
dfiles = algdenom grammar history lambda ratint.tex
# Common Lisp not currently supported.
lfiles = scl.lisp math.lisp compilem.lisp

tags:	$(sfiles) $(cfiles) $(gfiles) jacal.texi
	etags $(cfiles) $(sfiles) $(gfiles) jacal.texi

#how do I say manual/$(tfiles) ?
manual.dvi:	manual
	cd manual; tex manual

info:	jacal.info
jacal.info:	jacal.texi
	makeinfo jacal.texi
jacal.info.tar.gz:	jacal.info
	-rm -f jacal.info.tar.gz
	tar cohf jacal.info.tar jacal.info*
	gzip jacal.info.tar
	chmod 664 jacal.info.tar.gz
distinfo:	jacal.info.tar.gz

dist:	jacal.tar.gz
	mv -f jacal.tar.*z ../dist/
tar.gz:	jacal.tar.gz
jacal.tar.gz:	jacal.tar
	-rm -f jacal.tar.*z
	gzip jacal.tar
	chmod 664 jacal.tar.*z
tar.Z:	jacal.tar.Z
jacal.tar.Z:	jacal.tar
	-rm -f jacal.tar.Z
	compress jacal.tar
	chmod 664 jacal.tar.Z
shar.Z:	jacal.shar.Z
jacal.shar.Z:	jacal.shar
	-rm -f jacal.shar.Z
	compress jacal.shar
	chmod 664 jacal.shar.Z

tar:	jacal.tar
jacal.tar:	temp/jacal
	cd temp; tar cohf ../jacal.tar jacal
	chmod 664 jacal.tar
shar:	jacal.shar
jacal.shar:	temp/jacal
	cd temp; shar jacal >../jacal.shar
	chmod 664 jacal.shar
dclshar:	jacal.com
com:	jacal.com
jacal.com:	temp/jacal
	cd temp; dclshar jacal >../jacal.com
	chmod 664 jacal.com
zip:	jacal.zip
jacal.zip:	temp/jacal
	cd temp; zip -ru ../jacal.zip jacal
	chmod 664 jacal.zip
pubzip:	temp/jacal
	cd temp; zip -ru ../../pub/jacal.zip jacal
	chmod 664 ../pub/jacal.zip

temp/jacal:	$(allfiles) #manual
	-rm -rf temp
	mkdir temp
	mkdir temp/jacal
	ln  $(allfiles) temp/jacal
#	mkdir temp/jacal/manual
#	cd manual; ln $(tfiles) ../temp/jacal/manual
	mkdir temp/jacal/DOC
	cd DOC; ln $(dfiles) ../temp/jacal/DOC

diffs:	pubdiffs
pubdiffs:	temp/jacal
	mv temp/jacal temp/njacal
	cd temp;unzip ../../pub/jacal.zip
	-rm -f jacal.pat
	-diff -rc temp/jacal temp/njacal > jacal.pat
	-rm -rf temp
	ls -l jacal.pat

distdiffs:	temp/jacal
	mv temp/jacal temp/njacal
	cd temp;zcat ../../dist/jacal*.tar.gz | tar xvf -
	-rm -f jacal.pat
	-diff -rc temp/jacal temp/njacal > jacal.pat
	-rm -rf temp
	ls -l jacal.pat

clean:
	-rm -f *~ *.orig *.rej eval_* core a.out *.o \#*
	-rm -rf temp
distclean:	realclean
realclean:
	-rm -f *~ *.orig *.rej eval_* TAGS core a.out *.o \#*
	-rm -rf temp
realempty:	temp/jacal
	-rm -f $(allfiles)
#	cd manual; rm -f $(tfiles)
	cd DOC; rm -f $(dfiles)
