adamc@0
|
1 all: smlnj mlton
|
adamc@0
|
2
|
adamc@0
|
3 .PHONY: all smlnj mlton clean
|
adamc@0
|
4
|
adamc@0
|
5 smlnj: src/lacweb.cm
|
adamc@0
|
6 mlton: bin/lacweb
|
adamc@0
|
7
|
adamc@0
|
8 clean:
|
adamc@0
|
9 rm -f src/*.mlton.grm.* src/*.mlton.lex.* \
|
adamc@0
|
10 src/lacweb.cm src/lacweb.mlb
|
adamc@0
|
11 rm -rf .cm src/.cm
|
adamc@0
|
12
|
adamc@0
|
13 src/lacweb.cm: src/prefix.cm src/sources
|
adamc@0
|
14 cat src/prefix.cm src/sources \
|
adamc@0
|
15 >src/lacweb.cm
|
adamc@0
|
16
|
adamc@0
|
17 src/lacweb.mlb: src/prefix.mlb src/sources src/suffix.mlb
|
adamc@0
|
18 cat src/prefix.mlb src/sources src/suffix.mlb \
|
adamc@0
|
19 | sed 's/^\(.*\).grm$$/\1.mlton.grm.sig\n\1.mlton.grm.sml/' \
|
adamc@0
|
20 | sed 's/^\(.*\).lex$$/\1.mlton.lex.sml/' \
|
adamc@0
|
21 >src/lacweb.mlb
|
adamc@0
|
22
|
adamc@0
|
23 %.mlton.lex: %.lex
|
adamc@0
|
24 cp $< $@
|
adamc@0
|
25 %.mlton.grm: %.grm
|
adamc@0
|
26 cp $< $@
|
adamc@0
|
27
|
adamc@0
|
28 %.mlton.lex.sml: %.mlton.lex
|
adamc@0
|
29 mllex $<
|
adamc@0
|
30
|
adamc@0
|
31 %.mlton.grm.sig %.mlton.grm.sml: %.mlton.grm
|
adamc@0
|
32 mlyacc $<
|
adamc@0
|
33
|
adamc@0
|
34 MLTON := mlton
|
adamc@0
|
35
|
adamc@0
|
36 ifdef DEBUG
|
adamc@0
|
37 MLTON += -const 'Exn.keepHistory true'
|
adamc@0
|
38 endif
|
adamc@0
|
39
|
adamc@1
|
40 bin/lacweb: src/lacweb.mlb src/*.sig src/*.sml \
|
adamc@1
|
41 src/lacweb.mlton.lex.sml \
|
adamc@1
|
42 src/lacweb.mlton.grm.sig src/lacweb.mlton.grm.sml
|
adamc@0
|
43 $(MLTON) -output $@ src/lacweb.mlb
|