GHC=ghc GHCFLAGS= .PHONY: all bnfc bnfctest layouttest doc docclean clean bnfcclean distclean all: $(GHC) $(GHCFLAGS) --make -o run_core run_core.hs $(GHC) $(GHCFLAGS) --make -o compile_to_core compile_to_core.hs bnfc: bnfcclean bnfc -gadt -d -p Transfer Transfer/Core/Core.cf perl -i -pe 's/^import Transfer.Core.ErrM/import Transfer.ErrM/' Transfer/Core/*.hs Transfer/Core/*.x Transfer/Core/*.y -rm -f Transfer/Core/ErrM.hs alex -g Transfer/Core/Lex.x happy -gca Transfer/Core/Par.y bnfc -gadt -d -p Transfer Transfer/Syntax/Syntax.cf perl -i -pe 's/^import Transfer.Syntax.ErrM/import Transfer.ErrM/' Transfer/Syntax/*.hs Transfer/Syntax/*.x Transfer/Syntax/*.y -rm -f Transfer/Syntax/ErrM.hs alex -g Transfer/Syntax/Lex.x happy -gca Transfer/Syntax/Par.y bnfctest: ghc $(GHCFLAGS) --make Transfer/Core/Test.hs -o Transfer/Core/test ghc $(GHCFLAGS) --make Transfer/Syntax/Test.hs -o Transfer/Syntax/test layouttest: ghc $(GHCFLAGS) --make Transfer/Syntax/ResolveLayout.hs -o Transfer/Syntax/test_layout doc: (cd Transfer/Core/; latex Doc.tex; dvips Doc.dvi -o Doc.ps) (cd Transfer/Syntax/; latex Doc.tex; dvips Doc.dvi -o Doc.ps) docclean: -rm -f Transfer/Core/*.log Transfer/Core/*.aux Transfer/Core/*.dvi Transfer/Core/Doc.ps -rm -f Transfer/Syntax/*.log Transfer/Syntax/*.aux Transfer/Syntax/*.dvi Transfer/Syntax/Doc.ps clean: -rm -f *.hi *.o */*.hi */*.o */*/*.hi */*/*.o -rm -f run_core -rm -f compile_to_core bnfcclean: -rm -f Transfer/Core/Doc.* Transfer/Core/Lex.* Transfer/Core/Par.* Transfer/Core/Layout.* Transfer/Core/Skel.* Transfer/Core/Print.* Transfer/Core/Test.* Transfer/Core/Abs.* Transfer/Core/test Transfer/Core/ErrM.* Transfer/Core/SharedString.* -rm -f Transfer/Syntax/Doc.* Transfer/Syntax/Lex.* Transfer/Syntax/Par.* Transfer/Syntax/Layout.* Transfer/Syntax/Skel.* Transfer/Syntax/Print.* Transfer/Syntax/Test.* Transfer/Syntax/Abs.* Transfer/Syntax/test Transfer/Syntax/ErrM.* Transfer/Syntax/SharedString.* distclean: clean bnfcclean