# Makefile for Zebu


SHELL = /bin/sh

Lucid_Path = $(LISP)
Base-lisp-de = lucid-de
latex = /usr/lib/tex/bin/clatex

cl-compile = $(Lucid_Path)/$(Base-lisp-de) -n \
	-l COMPILE-ZEBU.lisp -quit -f 

bin = `./machine`bin
B = binary/

lisp-obj = $(B)zebu-package.$(bin) $(B)zebu-aux.$(bin) $(B)zebu-mg-domain.$(bin) $(B)zebu-regex.$(bin) $(B)zebu-loader.$(bin) $(B)zebu-driver.$(bin) $(B)zebu-actions.$(bin) $(B)zebu-oset.$(bin) $(B)zebu-g-symbol.$(bin) $(B)zebu-loadgram.$(bin) $(B)zebu-generator.$(bin) $(B)zebu-lr0-sets.$(bin) $(B)zebu-empty-st.$(bin) $(B)zebu-first.$(bin) $(B)zebu-follow.$(bin) $(B)zebu-tables.$(bin) $(B)zebu-slr.$(bin) $(B)zebu-closure.$(bin) $(B)zebu-lalr1.$(bin) $(B)zebu-dump.$(bin) $(B)zebu-compile.$(bin) $(B)zebu-printers.$(bin)
tex-obj = doc/Zebu_intro.dvi

all: ZEBU-init.lisp $(lisp-obj) Zebu-Compiler Zebu-Parser $(tex-obj) TAGS

$(B)zebu-package.$(bin): zebu-package.lisp
	$(cl-compile)

$(B)zebu-aux.$(bin): zebu-aux.lisp
	$(cl-compile)

$(B)zebu-mg-domain.$(bin): zebu-mg-domain.lisp
	$(cl-compile)

$(B)zebu-regex.$(bin): zebu-regex.lisp
	$(cl-compile)

$(B)zebu-loader.$(bin): zebu-loader.lisp
	$(cl-compile)

$(B)zebu-driver.$(bin): zebu-driver.lisp
	$(cl-compile)

$(B)zebu-actions.$(bin): zebu-actions.lisp
	$(cl-compile)

$(B)zebu-oset.$(bin): zebu-oset.lisp
	$(cl-compile)

$(B)zebu-g-symbol.$(bin): zebu-g-symbol.lisp
	$(cl-compile)

$(B)zebu-loadgram.$(bin): zebu-loadgram.lisp
	$(cl-compile)

$(B)zebu-generator.$(bin): zebu-generator.lisp
	$(cl-compile)

$(B)zebu-lr0-sets.$(bin): zebu-lr0-sets.lisp
	$(cl-compile)

$(B)zebu-empty-st.$(bin): zebu-empty-st.lisp
	$(cl-compile)

$(B)zebu-first.$(bin): zebu-first.lisp
	$(cl-compile)

$(B)zebu-follow.$(bin): zebu-follow.lisp
	$(cl-compile)

$(B)zebu-tables.$(bin): zebu-tables.lisp
	$(cl-compile)

$(B)zebu-slr.$(bin): zebu-slr.lisp
	$(cl-compile)

$(B)zebu-closure.$(bin): zebu-closure.lisp
	$(cl-compile)

$(B)zebu-lalr1.$(bin): zebu-lalr1.lisp
	$(cl-compile)

$(B)zebu-dump.$(bin): zebu-dump.lisp
	$(cl-compile)


$(B)zebu-compile.$(bin): zebu-compile.lisp
	$(cl-compile)

$(B)zebu-printers.$(bin): zebu-printers.lisp
	$(cl-compile)

Zebu-Compiler: $(lisp-obj) ZEBU-init.lisp
	set ZEBU=`pwd`
	./Make-Zebu-Compiler

Zebu-Parser: $(lisp-obj) ZEBU-init.lisp
	set ZEBU=`pwd`
	./Make-Zebu-Parser

tex-obj: doc/Zebu_intro.tex
	cd doc; $(latex) Zebu_intro; $(latex) Zebu_intro;\
	dvips Zebu_intro.dvi > Zebu_intro.ps

TAGS:   $(lisp-obj)
	etags -o TAGS *.lisp


