SL=../../../../src/sl --expr=Main.main \ --include-dir=../../packages/current/ghc-prim \ --include-dir=../../packages/current/base S2JS=../../../../src/sapl2js -f ghc GHCSAPL=../../ghcsapl/dist/build/ghcsapl/ghcsapl -c -fforce-recomp -ibuild -outputdir=build TRAMPOLINE=--trampoline CC=java -jar ../../../../tools/closure-compiler.jar SOURCES=Adjoxo.hs Braun.hs Cichelli.hs Clausify.hs CountDown.hs Fib.hs KnuthBendix.hs Mate.hs MSS.hs OrdList.hs PermSort.hs Queens.hs Queens2.hs SumPuz.hs Taut.hs While.hs MODULES=$(SOURCES:.hs=.sapl) TARGETS=$(MODULES:.sapl=.js) $(MODULES:.sapl=-O2.js) all: create Flite.sapl $(MODULES) $(TARGETS) clean: rm -rf js rm -rf build create: mkdir -p js mkdir -p build Flite.sapl: $(GHCSAPL) Flite $(GHCSAPL) -O2 Flite -o Flite-O2\;Flite.sapl %.sapl: $(GHCSAPL) $* -o $*\;Main.sapl $(GHCSAPL) -O2 $* -o $*-O2\;Main.sapl %-O2.js: $(SL) --include-module=build/Flite-O2\;Flite.sapl --include-module=build/$*-O2\;Main.sapl js/$*-O2.sapl $(S2JS) -o build/$*-O2.js js/$*-O2.sapl $(S2JS) $(TRAMPOLINE) -o build/$*-O2.trampoline.js js/$*-O2.sapl $(CC) --js_output_file js/$*-O2.js build/$*-O2.js $(CC) --js_output_file js/$*-O2.trampoline.js build/$*-O2.trampoline.js %.js: $(SL) --include-module=build/Flite.sapl --include-module=build/$*\;Main.sapl js/$*.sapl $(S2JS) -o build/$*.js js/$*.sapl $(S2JS) $(TRAMPOLINE) -o build/$*.trampoline.js js/$*.sapl $(CC) --js_output_file js/$*.js build/$*.js $(CC) --js_output_file js/$*.trampoline.js build/$*.trampoline.js