-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
38 lines (30 loc) · 1.09 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
MLTON = mlton -verbose 1 -default-ann "redundantMatch error" -default-ann "sequenceNonUnit error" -output
SML = sml
all:
@echo "== Elton (a compiler from L10 to Standard ML) =="
@echo "Installation instructions:"
@echo ""
@echo "From source: run 'make mlton' or 'make smlnj' or 'make check'"
@echo "In Smackage:"
@echo " (1) Run 'smackage make elton mlton' (or '... smlnj')"
@echo " (2) Run 'smackage make elton install'"
false
bin:
mkdir bin
sml/l10.cmlex.sml: sml/l10.cmlex
cmlex sml/l10.cmlex
sml/l10.cmyacc.sml: sml/l10.cmyacc
cmyacc sml/l10.cmyacc
mlton: sml/*.sml sml/compile-sml/*.sml sml/l10.cmlex.sml sml/l10.cmyacc.sml bin
$(MLTON) bin/elton sml/elton.mlb
smlnj: sml/*.sml sml/compile-sml/*.sml bin
$(SML) < sml/go-smlnj.sml
bin/.mkexec `which sml` `pwd`/bin elton
.PSEUDO: check
check: sml/*.sml sml/compile-sml/*.sml
echo "Regression.checkDirs [ \"regression\", \"examples\" ]; Regression.reportAndReset ();" | sml -m sml/sources.cm
.PSEUDO: install
install:
rm -f $(DESTDIR)/bin/elton.new
cp bin/elton $(DESTDIR)/bin/elton.new
mv $(DESTDIR)/bin/elton.new $(DESTDIR)/bin/elton