Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / basis-library / Makefile
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;