LATEX=latex
MAKEINDEX=makeindex
DVIPS=dvips
SCM2LATEX=./scm2latex
SCMMIX=./scmmix
SED=sed
SCHEME=scheme
TAR=tar
GZIP=gzip
MV=mv

%.ps: %.dvi
	-$(DVIPS) $*

%.scm.d : %.scm
	echo "$@ : \\" > $@
	$(SED) "s/^.*(load \"\(.*\)\").*/\1 \1.d\\\/;s/^.*[^\\\]$$/\\\/;s/^$$/\\\/;" $< >> $@

%.scm.tex : %.scm $(SCM2LATEX)
	$(SED) "s/	/        /g;" $< | $(SCM2LATEX) > $@

%.xscm.tex : %.x.scm %.x.scm.d $(SCMMIX) $(SCM2LATEX)
	$(SCHEME) < $< | $(SCMMIX) $< | $(SED) "s/	/        /g;" | $(SCM2LATEX) > $@

SCMXSOURCES = add.x.scm adam-eva.x.scm arith.x.scm

SCMSOURCES = logic.scm plogic.scm input.scm \
	$(SCMXSOURCES)

LOGSOURCES = scm2latex.cc scmmix.cc scheme.sty makefile \
	logic.tex $(SCMSOURCES)

logic.dvi: $(SCM2LATEX) scheme.sty makefile \
	logic.tex logic.scm.tex plogic.scm.tex input.scm.tex \
	$(SCMXSOURCES:.x.scm=.xscm.tex)
	-$(LATEX) "\batchmode \input{logic.tex}"
	-$(LATEX) "\batchmode \input{logic.tex}"

logic.tgz: $(LOGSOURCES)
	$(TAR) cf logic.tar $(LOGSOURCES)
	$(GZIP) logic.tar
	$(MV) logic.tar.gz logic.tgz

include $(SCMSOURCES:.scm=.scm.d)
