VERSION=2.2
GHC = ghc
GHC_OPTS = #-Wall
GHC_OPTS += -iformats -iformats/haskell2 -iformats/xml -iformats/profile -iformats/java -iformats/java1.5 -iformats/cpp -iformats/c  -iformats/oz
#GHC_OPTS += -package util

GHCI = ghci

HUGS = hugs

BNFC = bnfc
BNFC_OPTS = -alex2

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

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

distr:
	rm -fr BNFC_$(VERSION)
	mkdir BNFC_$(VERSION)
	cvs export -d BNFC_$(VERSION) -rHEAD BNFC
	rm -rf BNFC_$(VERSION)/doc/* ; cp doc/LBNF-report.tex BNFC_$(VERSION)/doc/
	tar cvfz BNFC_$(VERSION).tgz BNFC_$(VERSION)

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

