# Makefile for Scheme Library
# Copyright (C) 1991 Aubrey Jaffer.

ffiles = stdio.scm format.scm formatfl.scm genwrite.scm obj2str.scm pp.scm \
	ppfile.scm strcase.scm debug.scm lineio.scm strport.scm
lfiles = sort.scm comlist.scm tree.scm logical.scm random.scm defmacro.scm
revfiles = sc4opt.scm sc4sc3.scm sc2.scm sc3.scm mularg.scm mulapply.scm \
	trnscrpt.scm withfile.scm dynwind.scm promise.scm values.scm
afiles = ratize.scm randinex.scm modular.scm prime.scm charplot.scm getopt.scm
bfiles = yasos.scm collect.scm fluidlet.scm struct.scm structure.scm
scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \
	repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm
efiles = record.scm dynamic.scm queue.scm process.scm \
	priorque.scm hash.scm hashtab.scm alist.scm \
	rbtree.scm rbtest.scm array.scm arraymap.scm
gfiles = tek40.scm tek41.scm
docfiles = ANNOUNCE README ChangeLog slib.texi
mfiles = Makefile require.scm Template.scm chez.init elk.init mitscheme.init \
	scheme2c.init scheme48.init gambit.init t3.init mitcomp.pat syncase.sh
tfiles = test.scm plottest.scm formatst.scm macrotst.scm scmactst.scm \
	dwindtst.scm structst.scm mwtest.scm
sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
	$(gfiles) $(scafiles)
allfiles = $(docfiles) $(mfiles) $(sfiles) $(tfiles) $(bfiles)

psdfiles=COPYING.psd README.psd cmuscheme.el comint.el instrum.scm pexpr.scm \
	primitives.scm psd-slib.scm psd.el read.scm runtime.scm version.scm
psdocfiles=article.bbl article.tex manual.bbl manual.tex quick-intro.tex

SHELL = /bin/sh

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

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

temp/slib:	$(allfiles)
	-rm -rf temp
	mkdir temp
	mkdir temp/slib
	ln  $(allfiles) temp/slib

pubdiffs:	temp/slib
	mv temp/slib temp/nslib
	cd temp;unzip ../../pub/slib.zip
	-rm -f slib.pat
	-diff -c temp/slib temp/nslib > slib.pat
	-rm -rf temp
	ls -l slib.pat

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

psdtemp/slib:
	-rm -rf psdtemp
	mkdir psdtemp
	mkdir psdtemp/slib
	mkdir psdtemp/slib/psd
	cd psd; ln $(psdfiles) ../psdtemp/slib/psd
	mkdir psdtemp/slib/psd/doc
	cd psd/doc; ln $(psdocfiles) ../../psdtemp/slib/psd/doc

psdist:	slib-psd.tar.gz
slib-psd.tar.gz:	slib-psd.tar
	-rm -f slib-psd.tar.*z
	gzip slib-psd.tar
	chmod 664 slib-psd.tar.*z
slib-psd.tar:	psdtemp/slib
	cd psdtemp; tar chf ../slib-psd.tar
	chmod 664 slib-psd.tar

info:	slib.info
slib.info:	slib.texi
	makeinfo slib.texi
slib.info.tar.gz:	slib.info
	-rm -f slib.info.tar.gz
	tar cf slib.info.tar slib.info*
	gzip slib.info.tar
	chmod 664 slib.info.tar.gz
distinfo:	slib.info.tar.gz

tagfiles = README slib.texi $(mfiles) $(sfiles) $(bfiles)
#tagfiles = $(bfiles) $(scfiles) macrotst.scm
tags:	$(tagfiles)
	etags $(tagfiles)
test:	$(sfiles)
	scheme Template.scm $(sfiles)
clean:
	-rm -f *~ *.orig *.rej core a.out *.o \#*
	-rm -rf *temp
distclean:	realclean
realclean:
	-rm -f *~ *.orig *.rej TAGS core a.out *.o slib.info* \#*
	-rm -rf *temp
realempty:	temp/slib
	-rm -f $(allfiles)
