# # Author : Don Stewart # Created : Thu Jul 25 10:45:50 EST 2002 # Last Mod: Thu Aug 8 10:29:26 EST 2002 # GHC = ghc FLAGS = --make # -O2 STGBIN = stg2java HSBIN = hs2java MAIN = driver/Main.hs # where to start LIBS = ctkl MODULES = driver lexer parser INCLUDE = ${LIBS}:driver:lexer:parser all: stg2java stg2java: ctkl driver lexer parser ${GHC} ${FLAGS} -i${INCLUDE} -o ${STGBIN} ${MAIN} @cp driver/${HSBIN} . ctkl: driver: lexer: # run happy over Parser.y source parser:: @cd parser ; ${MAKE} # # build the documentation # doc:: cd doc ; ${MAKE} clean: find ${MODULES} -name '*.o' -exec rm -f {} \; find ${MODULES} -name '*.hi' -exec rm -f {} \; rm -f ${STGBIN} ${HSBIN} # really clean, except ctkl veryclean: clean find ${MODULES} -name '*~' -exec rm -f {} \; # completely, even ctkl reallyclean: veryclean @( for i in ${LIBS} ; do \ cd $$i ; rm -rf *.{o,hi} *~ ;\ done ) @(cd doc ; ${MAKE} clean) @(cd parser ; ${MAKE} clean) rm -rf *~ # # run some tests # check:: stg2java @./check