simdest=$(HOME)/public_html
GHC = ghc
GHC_OPTS = -ignore-package monads-fd
# -fglasgow-exts 
ghc=$(GHC) $(GHC_OPTS)
simout   = risc386
simstems = Util GenSym Frame Intel Wellformed FrameIntel TokenIntel LexIntel ParseIntel StateIntel MainIntel
simsrcs  = $(foreach stem,$(simstems),$(stem).hs)
simpack  = risc386.cabal Makefile LIESMICH.html README.txt LICENSE LexIntel.x ParseIntel.y $(simsrcs) $(simout) test
.PHONY : dist default sim simship test clean veryclean
default : risc386
sim : $(simout)
$(simout) : $(simsrcs)
	$(ghc) --make -o $@ MainIntel.hs
dist : $(simpack)
	cabal sdist
	cp -p dist/risc386*.tar.gz $(simdest)
simship : sim.tar.gz
	cp -p $^ $(simdest)
sim.tar.gz : $(simpack)
	tar czf $@ $^
%.hs:	%.y
	happy -iGRM.LOG $<
%.hs:	%.x
	alex $<
%.o:	%.hs
	$(GHC) $(GHC_OPTS) -c -o $@ $<
# Tests
test : succeed fail
succeed : 
	make -C test/succeed
fail : 
	make -C test/fail
# Clean
testclean :
	-make -C test/succeed clean
	-make -C test/fail clean
clean:
	-rm *.hi *.o risc386
veryclean: testclean
	-rm *.hi *.o MJLex.hs MJParse.hs risc386