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

ffiles = stdio.scm format.scm formatfl.scm genwrite.scm obj2str.scm pp.scm \
	ppfile.scm str-case.scm debug.scm line-io.scm strport.scm
lfiles = sort.scm comlist.scm tree.scm logical.scm random.scm defmacro.scm
revfiles = sc4opt.scm sc4-sc3.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
bfiles = yasos.scm collect.scm fluidlet.scm struct.scm structure.scm
scfiles = r4rsyn.scm sc-macro.scm synclo.scm synrul.scm synchk.scm \
	repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
scafiles = sca-init.scm sca-glob.scm sca-macr.scm sca-outp.scm sca-expp.scm
efiles = record.scm dynamic.scm queue.scm process.scm \
	priorque.scm hash.scm hashtab.scm alist.scm \
	rb-tree.scm rbt-test.scm array.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)
SHELL = /bin/sh

dist:	tar.gz
tar.gz:	slib.tar.gz
slib.tar.gz:	slib.tar
	-rm -f slib.tar.gz
	gzip slib.tar
	chmod 664 slib.tar.gz
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

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)
