summaryrefslogtreecommitdiff
path: root/examples/gfcc/compiler/makefile
blob: c23fcc48dfa534c1b0201e3774bce02d1e23cc6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
GF=gf
SRC=../

all: parser gfcm runtime

compiler:
	echo "pm | wf Imper.gfcm ;; pg -lang=ImperC -printer=plbnf | wf ImperC.tmp" | $(GF) $(SRC)ImperC.gf $(SRC)ImperJVM.gf
	echo "entrypoints Program, Stm, Exp ;" >entry.tmp
	cat entry.tmp ImperC.tmp >ImperC.cf
	bnfc -m -prof ImperC.cf
	make -f Makefile
	rm *.tmp
	jasmin runtime.j

parser:
	ghc --make TestImperC.hs -o TestImperC

gfcm:
	echo "pm | wf Imper.gfcm" | $(GF) $(SRC)ImperC.gf $(SRC)ImperJVM.gf

runtime:
	jasmin runtime.j