Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | ## Copyright (C) 2010,2013,2016-2017 Matthew Fluet. |
2 | # Copyright (C) 1999-2006, 2008 Henry Cejtin, Matthew Fluet, Suresh | |
3 | # Jagannathan, and Stephen Weeks. | |
4 | # Copyright (C) 1997-2000 NEC Research Institute. | |
5 | # | |
6 | # MLton is released under a BSD-style license. | |
7 | # See the file MLton-LICENSE for details. | |
8 | ## | |
9 | ||
10 | SRC = $(shell cd .. && pwd) | |
11 | BUILD = $(SRC)/build | |
12 | BIN = $(BUILD)/bin | |
13 | MLTON = mlton | |
14 | PATH = $(BIN):$(shell echo $$PATH) | |
15 | ||
16 | all: | |
17 | ||
18 | .PHONY: clean | |
19 | clean: | |
20 | ../bin/clean | |
21 | ||
22 | ||
23 | RESOLVE_SCOPES = program topdec strdec dec | |
24 | OBJPTR_MAPS = objptr-rep32.map objptr-rep64.map | |
25 | NORMAL_METADATA_MAPS = normal-metadata-size32.map normal-metadata-size64.map normal-metadata-size128.map | |
26 | ARRAY_METADATA_MAPS = array-metadata-size96.map array-metadata-size128.map array-metadata-size196.map array-metadata-size256.map | |
27 | SEQINDEX_MAPS = seqindex-int32.map seqindex-int64.map | |
28 | DEFAULT_CHAR = char8 | |
29 | DEFAULT_INT = int32 int64 intinf | |
30 | DEFAULT_REAL = real32 real64 | |
31 | DEFAULT_WORD = word32 word64 | |
32 | ||
33 | .PHONY: def-use | |
34 | def-use: | |
35 | "$(MLTON)" -disable-ann deadCode -stop tc -show-types true \ | |
36 | -prefer-abs-paths true -show-def-use basis-library.def-use \ | |
37 | libs/all.mlb | |
38 | ||
39 | .PHONY: type-check-def | |
40 | type-check-def: | |
41 | "$(MLTON)" -disable-ann deadCode -stop tc -show-types true \ | |
42 | libs/all.mlb | |
43 | ||
44 | .PHONY: type-check-all | |
45 | type-check-all: | |
46 | for resolvescope in $(RESOLVE_SCOPES); do \ | |
47 | for objptr in $(OBJPTR_MAPS); do \ | |
48 | for normalmetadata in $(NORMAL_METADATA_MAPS); do \ | |
49 | for arraymetadata in $(ARRAY_METADATA_MAPS); do \ | |
50 | for seqindex in $(SEQINDEX_MAPS); do \ | |
51 | for defchar in $(DEFAULT_CHAR); do \ | |
52 | for defint in $(DEFAULT_INT); do \ | |
53 | for defreal in $(DEFAULT_REAL); do \ | |
54 | for defword in $(DEFAULT_WORD); do \ | |
55 | echo "Type checking: $$resolvescope $$objptr $$normalmetadata $$arraymetadata $$seqindex $$defchar $$defint $$defreal $$defword"; \ | |
56 | echo "$(MLTON)" -disable-ann deadCode -disable-ann resolveScope -default-ann "\"resolveScope $$resolvescope\"" -stop tc -show-types true \ | |
57 | -mlb-path-map "maps/$$objptr" \ | |
58 | -mlb-path-map "maps/$$normalmetadata" \ | |
59 | -mlb-path-map "maps/$$arraymetadata" \ | |
60 | -mlb-path-map "maps/$$seqindex" \ | |
61 | -default-type "$$defchar" \ | |
62 | -default-type "$$defint" \ | |
63 | -default-type "$$defreal" \ | |
64 | -default-type "$$defword" \ | |
65 | libs/all.mlb; \ | |
66 | "$(MLTON)" -disable-ann deadCode -disable-ann resolveScope -default-ann "resolveScope $$resolvescope" -stop tc -show-types true \ | |
67 | -mlb-path-map "maps/$$objptr" \ | |
68 | -mlb-path-map "maps/$$normalmetadata" \ | |
69 | -mlb-path-map "maps/$$arraymetadata" \ | |
70 | -mlb-path-map "maps/$$seqindex" \ | |
71 | -default-type "$$defchar" \ | |
72 | -default-type "$$defint" \ | |
73 | -default-type "$$defreal" \ | |
74 | -default-type "$$defword" \ | |
75 | libs/all.mlb; \ | |
76 | done; done; done; done; done; done; done; done; done; |