1INCLUDES = ../mlyacclib
2EXTRA_CLEANS = mlyacc.exe yacc.lex.sml
3
4MLYLIBUIS = $(patsubst %,MLY_%.ui,base-sig lrtable parser2 join)
5
6mlyacc.exe: main.uo
7	$(MOSMLC) -o $@ $<
8
9utils-sig.uo: utils-sig.sml
10	$(MOSMLC) -toplevel -c utils-sig.sml
11
12utils.uo: utils.sml utils-sig.uo
13	$(MOSMLC) -toplevel -c utils-sig.ui $<
14
15sigs.uo: utils-sig.uo sigs.sml
16	$(MOSMLC) -toplevel -c utils-sig.ui  $(MLYLIBUIS) sigs.sml
17
18core.uo: core.sml utils-sig.uo utils.uo sigs.uo
19	$(MOSMLC) -toplevel -c utils-sig.ui utils.ui sigs.ui $(MLYLIBUIS) $<
20
21hdr.uo: hdr.sml sigs.uo
22	$(MOSMLC) -toplevel -c sigs.ui $<
23
24yacc-grm-sig.uo: yacc-grm-sig.sml hdr.uo
25	$(MOSMLC) -toplevel -c $(MLYLIBUIS) hdr.ui  $<
26
27yacc-grm.uo: yacc-grm.sml yacc-grm-sig.uo
28	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui hdr.ui yacc-grm-sig.ui $<
29
30yacc.lex.sml: yacc.lex
31	$(protect $(HOLDIR)/tools/mllex/mllex.exe) $<
32
33yacc.lex.uo: yacc.lex.sml yacc-grm-sig.uo sigs.uo hdr.uo
34	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui hdr.ui yacc-grm-sig.ui $<
35
36parse.uo: parse.sml sigs.uo
37	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui $<
38
39grammar.uo: grammar.sml sigs.uo utils.uo
40	$(MOSMLC) -toplevel -c $(MLYLIBUIS) utils.ui sigs.ui $<
41
42coreutils.uo: coreutils.sml sigs.uo utils.uo
43	$(MOSMLC) -toplevel -c sigs.ui utils.ui $<
44
45graph.uo: graph.sml sigs.uo utils.uo
46	$(MOSMLC) -toplevel -c sigs.ui utils.ui $<
47
48look.uo: look.sml sigs.uo utils.uo
49	$(MOSMLC) -toplevel -c sigs.ui utils.ui $<
50
51lalr.uo: lalr.sml sigs.uo utils.uo
52	$(MOSMLC) -toplevel -c sigs.ui utils.ui $<
53
54mklrtable.uo: mklrtable.sml sigs.uo utils.uo core.uo coreutils.uo graph.uo \
55              look.uo lalr.uo
56	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui core.ui \
57                               coreutils.ui graph.ui look.ui lalr.ui $<
58
59mkprstruct.uo: mkprstruct.sml sigs.uo utils.uo
60	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui $<
61
62shrink.uo: shrink.sml sigs.uo utils.uo
63	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui $<
64
65verbose.uo: verbose.sml sigs.uo utils.uo
66	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui $<
67
68yacc.uo: yacc.sml sigs.uo utils.uo absyn-sig.uo
69	$(MOSMLC) -toplevel -c $(if $(HAVE_BASIS2002),,basis2002.ui) $(MLYLIBUIS) sigs.ui utils.ui absyn-sig.ui $<
70
71absyn-sig.uo: absyn-sig.sml sigs.uo utils.uo
72	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui $<
73
74absyn.uo: absyn.sml absyn-sig.uo
75	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui utils.ui absyn-sig.ui $<
76
77link.uo: link.sml verbose.uo yacc-grm.uo hdr.uo yacc.lex.uo parse.uo \
78                  mklrtable.uo sigs.uo lalr.uo look.uo graph.uo core.uo \
79                  coreutils.uo grammar.uo mkprstruct.uo shrink.uo yacc.uo \
80                  absyn.uo
81	$(MOSMLC) -toplevel -c $(MLYLIBUIS) sigs.ui hdr.ui verbose.ui \
82                      yacc.lex.ui yacc-grm.ui parse.ui mklrtable.ui core.ui \
83                      shrink.ui yacc.ui grammar.ui mkprstruct.ui absyn.ui $<
84
85main.uo: main.sml link.uo
86	$(MOSMLC) -toplevel -c link.ui $<
87
88