1# Unix Makefile for the Moscow ML lexer generator
2
3INCLUDES=-I ../compiler
4COMPFLAGS=$(INCLUDES)
5LINKFLAGS=$(INCLUDES)
6
7include ../Makefile.inc
8
9LIBOBJS= \
10    List.uo Vector.uo Array.uo Strbase.uo Char.uo String.uo StringCvt.uo \
11    Word.uo Word8.uo Word8Vector.uo Word8Array.uo CharVector.uo CharArray.uo \
12    Obj.uo BasicIO.uo Nonstdio.uo Lexing.uo Parsing.uo
13
14EXTOBJS= \
15    Miscsys.uo Printexc.uo Filename.uo Fnlib.uo Sort.uo \
16    Arg.uo Hasht.uo
17
18OBJS= \
19    Syntax.uo Scan_aux.uo Gram_aux.uo Grammar.uo Scanner.uo \
20    Lexgen.uo Output.uo Mainlex.uo
21
22all: mosmllex
23
24mosmllex: $(OBJS)
25	$(MOSMLL) $(LINKFLAGS) -noheader -o mosmllex Mainlex.uo
26
27clean:
28	rm -f *.ui
29	rm -f *.uo
30	rm -f mosmllex
31	rm -f mosmllex.bin
32	rm -f Grammar.sml
33	rm -f Grammar.sig
34	rm -f Grammar.output
35	rm -f Scanner.sml
36	rm -f Makefile.bak
37	cd test; make clean
38
39install:
40	${INSTALL_DATA} mosmllex $(DESTDIR)$(LIBDIR)
41
42Grammar.sml Grammar.sig: Grammar.grm
43	$(MOSMLYACC) Grammar.grm
44
45depend: Scanner.sml Grammar.sml Grammar.sig
46	rm -f Makefile.bak
47	mv Makefile Makefile.bak
48	$(MOSMLCUT) < Makefile.bak > Makefile
49	$(MOSMLDEP) >> Makefile
50
51### DO NOT DELETE THIS LINE
52Grammar.ui: Syntax.uo
53Grammar.uo: Grammar.ui Syntax.uo Gram_aux.uo
54Scanner.uo: Scanner.ui Syntax.uo Scan_aux.uo Grammar.ui
55Gram_aux.uo: Syntax.uo
56Output.uo: Syntax.uo
57Mainlex.uo: Lexgen.uo Syntax.uo Scan_aux.uo Scanner.ui Grammar.ui Output.uo
58Scanner.ui: Grammar.ui
59Lexgen.uo: Syntax.uo
60