1CLINE_OPTIONS = --no_overlay
2
3MLYACCLIB = $(protect $(HOLDIR)/tools/mlyacc/mlyacclib/)
4MLYACCLIB_UIS = $(patsubst %,MLY_%.ui,base-sig join lrtable parser2 stream)
5
6EXTRA_CLEANS = HOLsexp.grm-sig.sml HOLsexp.grm.sml HOLsexp.lex.sml
7
8
9UOFILES = $(patsubst %.sml,%.uo,$(wildcard *.sml))
10
11all: $(UOFILES) selftest.exe
12
13selftest.exe: selftest.uo Redblackset.uo
14	$(MOSMLC) -o $@ $<
15
16Table.uo Table.ui: Table.sml Portable.ui HOLPP.ui
17	$(MOSMLC) -toplevel -c $<
18
19Graph.uo Graph.ui: Graph.sml Table.ui Portable.ui HOLPP.ui
20	$(MOSMLC) -toplevel -c Table.ui $<
21
22Inttab.uo: Inttab.sml Table.ui
23	$(MOSMLC) Table.ui -c $<
24
25Symtab.uo: Symtab.sml Table.ui
26	$(MOSMLC) Table.ui -c $<
27
28SymGraph.uo: SymGraph.sml Graph.ui
29	$(MOSMLC) Graph.ui -c $<
30
31Symreltab.uo: Symreltab.sml Table.ui
32	$(MOSMLC) Table.ui -c $<
33
34Int_Graph.uo: Int_Graph.sml Graph.ui
35	$(MOSMLC) -c Graph.ui $<
36
37ifndef POLY # i.e., Moscow ML
38holmake_holpathdb.uo holmake_holpathdb.ui: holmake_holpathdb.sml
39	$(HOLMOSMLC) -c $< -I $(protect $(HOLDIR)/tools/Holmake)
40
41endif
42
43HOLsexp.grm.sml HOLsexp.grm-sig.sml: HOLsexp.grm
44	$(protect $(HOLDIR)/tools/mlyacc/src/mlyacc.exe) $<
45	$(MV) HOLsexp.grm.sig HOLsexp.grm-sig.sml
46
47HOLsexp.grm-sig.uo: HOLsexp.grm-sig.sml
48	$(HOLMOSMLC) -toplevel -c -I $(MLYACCLIB) $(MLYACCLIB_UIS) $<
49
50HOLsexp.grm.uo HOLsexp.grm.ui: HOLsexp.grm.sml HOLsexp.grm-sig.uo HOLsexp_dtype.uo
51	$(HOLMOSMLC) -toplevel -c -I $(MLYACCLIB) $(MLYACCLIB_UIS) HOLsexp.grm-sig.ui $<
52
53HOLsexp.lex.sml: HOLsexp.lex
54	$(protect $(HOLDIR)/tools/mllex/mllex.exe) $<
55
56HOLsexp.lex.uo: HOLsexp.lex.sml
57	$(HOLMOSMLC) -toplevel -c HOLsexp.grm-sig.ui $<
58
59HOLsexp_parser.uo: HOLsexp_parser.sml HOLsexp_parser.ui \
60                   HOLsexp.grm.uo HOLsexp.lex.uo HOLsexp_dtype.uo
61	$(HOLMOSMLC) -c -I $(MLYACCLIB) $(MLYACCLIB_UIS) HOLsexp.grm.ui HOLsexp.lex.ui $<
62