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

ffiles = stdio.scm format.scm genwrite.scm obj2str.scm pp.scm pp2str.scm \
	ppfile.scm str-case.scm debug.scm line-io.scm
lfiles = eval.scm sort.scm comlist.scm logical.scm random.scm
rfiles = sc4opt.scm sc4-sc3.scm sc2.scm sc3.scm mularg.scm mulapply.scm \
	trnscrpt.scm withfile.scm dynwind.scm dynamic.scm
afiles = ratize.scm randinex.scm modular.scm prime.scm charplot.scm
bfiles = yasos.scm collect.scm fluidlet.scm
cfiles = r4rsyn.scm sc-macro.scm synclo.scm synrul.scm synchk.scm
efiles = record.scm promise.scm values.scm queue.scm process.scm \
	priorque.scm hash.scm hashtab.scm alist.scm
gfiles = tek40.scm tek41.scm
dfiles = ANNOUNCE README ChangeLog require.doc record.doc sc-macro.doc \
	format.doc queue.doc yasos.doc
mfiles = Makefile require.scm Template.scm elk.init mitscheme.init \
	scheme2c.init scheme48.init gambit.init t3.init
tfiles = test.scm plottest.scm formatst.scm macrotst.scm scmactst.scm \
	dwindtst.scm
sfiles = $(ffiles) $(lfiles) $(rfiles) $(afiles) $(cfiles) $(efiles) $(gfiles)
allfiles = $(dfiles) $(mfiles) $(sfiles) $(tfiles) $(bfiles)
SHELL = /bin/sh

dist:	tar.Z
tar.Z:	slib.tar.Z
slib.tar.Z:	slib.tar
	-rm -f slib.tar.Z
	compress slib.tar
shar.Z:	slib.shar.Z
slib.shar.Z:	slib.shar
	-rm -f slib.shar.Z
	compress slib.shar

tar:	slib.tar
slib.tar:	temp/slib
	cd temp; tar chf ../slib.tar slib
	-rm -rf temp
shar:	slib.shar
slib.shar:	temp/slib
	cd temp; shar slib >../slib.shar
dclshar:	slib.com
com:	slib.com
slib.com:	temp/slib
	cd temp; dclshar slib >../slib.com
zip:	slib.zip
slib.zip:	temp/slib
	cd temp; zip -ru ../slib.zip slib
	-rm -rf temp

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

tagfiles = README require.doc $(mfiles) $(sfiles) $(bfiles)
#tagfiles = $(bfiles) $(cfiles) macrotst.scm
tags:	$(tagfiles)
	etags $(tagfiles)
test:	$(sfiles)
	scheme Template.scm $(sfiles)
clean:
	-rm -f *~ *.orig *.rej eval_* core a.out *.o \#*
distclean:	realclean
realclean:
	-rm -f *~ *.orig *.rej eval_* TAGS core a.out *.o \#*
