-all:
- happy -gca -idebug Parsyntax.y
- alex -g Lexsyntax.x
+all: Typechecker Interpreter Compiler
+
+doc: Docsyntax.dvi
+
+Docsyntax.dvi: Docsyntax.tex
latex Docsyntax.tex; dvips Docsyntax.dvi -o Docsyntax.ps
+
+Testsyntax: Testsyntax.hs Parsyntax.hs Lexsyntax.hs Abssyntax.hs
ghc --make Testsyntax.hs -o Testsyntax
+
+Typechecker: Typechecker.hs Typecheck.hs Parsyntax.hs Lexsyntax.hs Abssyntax.hs
ghc -fglasgow-exts --make Typechecker.hs -o Typechecker
+
+Interpreter: Interpreter.hs Interpret.hs Typecheck.hs Parsyntax.hs Lexsyntax.hs Abssyntax.hs
+ ghc -fglasgow-exts --make Interpreter.hs -o Interpreter
+
+Compiler: Compiler.hs Compile.hs Typecheck.hs Parsyntax.hs Lexsyntax.hs Abssyntax.hs
+ ghc -fglasgow-exts --make Compiler.hs -o Compiler
+
+Parsyntax.hs: Parsyntax.y
+ happy -gca -idebug Parsyntax.y
+
+Lexsyntax.hs: Lexsyntax.x
+ alex -g Lexsyntax.x
+
clean:
-rm -f *.log *.aux *.hi *.o *.dvi
-rm -f Docsyntax.ps