GHC = ghc
GHC_OPTS = -Wall
GHC_OPTS += -iformats -iformats/haskell -iformats/java -iformats/cpp -iformats/c  -iformats/oz
#GHC_OPTS += -package util

GHCI = ghci

HUGS = hugs

BNFC = bnfc
BNFC_OPTS = -alex2

all:
	$(GHC) $(GHC_OPTS) -iformats -iformats/haskell -iformats/java -iformats/cpp -iformats/c --make CFTop -o bnfc
ghci:
	$(GHCI) $(GHC_OPTS) -iformats -iformats/haskell -iformats/java -iformats/cpp -iformats/c CFTop
hugs:
	$(HUGS) -P.:for-hugs:formats:formats/haskell:formats/java:formats/cpp:formats/c:: CFTop

frontend:
	$(BNFC) $(BNFC_OPTS) -m BNF.cf ; $(MAKE) -f makefile ; rm makefile

clean: 
	rm -f *.hi *.o *.y *.aux *.log *~ formats/haskell/*.hi formats/haskell/*.o formats/haskell/*~ formats/*.hi formats/*.o formats/*~ formats/java/*.hi formats/java/*.o formats/java/*~ formats/cpp/*.hi formats/cpp/*.o formats/cpp/*~ formats/c/*.hi formats/c/*.o formats/c/*~
