Pristine Ack-5.5
[Ack-5.5.git] / util / LLgen / src / proto.make
1 # $Id: proto.make,v 1.7 1997/02/21 15:44:43 ceriel Exp $
2
3 #PARAMS         do not remove this line
4
5 SRC_DIR = $(SRC_HOME)/util/LLgen/src
6 LIBDIR = $(TARGET_HOME)/lib/LLgen
7 INCLUDES = -I$(SRC_DIR) -I.
8 LIBDIRSTR = \"$(LIBDIR)\"
9 DEFINES = -DNDEBUG -DNON_CORRECTING
10 CFLAGS = $(DEFINES) $(INCLUDES) $(COPTIONS)
11 LDFLAGS=$(LDOPTIONS)
12 LINTFLAGS=$(LINTOPTIONS) $(DEFINES) $(INCLUDES) -DNORCSID
13
14 LLOPT= # -vvv -x
15
16 OBJECTS = main.$(SUF) gencode.$(SUF) compute.$(SUF) LLgen.$(SUF) tokens.$(SUF) \
17         check.$(SUF) reach.$(SUF) global.$(SUF) name.$(SUF) sets.$(SUF) \
18         Lpars.$(SUF) alloc.$(SUF) machdep.$(SUF) cclass.$(SUF) savegram.$(SUF)
19 CSRC = $(SRC_DIR)/main.c $(SRC_DIR)/gencode.c $(SRC_DIR)/compute.c \
20         $(SRC_DIR)/check.c $(SRC_DIR)/reach.c $(SRC_DIR)/global.c \
21         $(SRC_DIR)/name.c $(SRC_DIR)/sets.c $(SRC_DIR)/alloc.c \
22         $(SRC_DIR)/machdep.c $(SRC_DIR)/cclass.c $(SRC_DIR)/savegram.c
23 CFILES = LLgen.c tokens.c Lpars.c $(CSRC)
24 GFILES = $(SRC_DIR)/tokens.g $(SRC_DIR)/LLgen.g
25 FILES = $(SRC_DIR)/types.h $(SRC_DIR)/extern.h \
26         $(SRC_DIR)/io.h $(SRC_DIR)/sets.h \
27         $(GFILES) $(CSRC) $(SRC_DIR)/proto.make
28
29 all:            parser
30                 @make LLgen "LDFLAGS=$(LDFLAGS)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "LIBDIR=$(LIBDIR)"
31
32 parser:         $(GFILES)
33                 LLgen $(LLOPT) $(GFILES)
34                 @touch parser
35
36 first:          firstparser
37                 @make LLgen "LDFLAGS=$(LDFLAGS)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "LIBDIR=$(LIBDIR)"
38
39 firstparser:
40                 cp $(SRC_DIR)/LLgen.c.dist LLgen.c
41                 cp $(SRC_DIR)/tokens.c.dist tokens.c
42                 cp $(SRC_DIR)/Lpars.c.dist Lpars.c
43                 cp $(SRC_DIR)/Lpars.h.dist Lpars.h
44                 @touch parser
45
46 LLgen:          $(OBJECTS)
47                 $(CC) $(LDFLAGS) $(OBJECTS) $(TARGET_HOME)/modules/lib/libsystem.$(LIBSUF) -o LLgen
48
49 pr : 
50                 @pr $(FILES) $(SRC_HOME)/util/LLgen/lib/rec $(SRC_HOME)/util/LLgen/lib/incl
51
52 lint:           parser
53                 $(LINT) $(LINTFLAGS) -DLIBDIR=$(LIBDIRSTR) $(CFILES)
54
55 clean:
56                 -rm -f *.$(SUF) LL.temp LL.xxx LL.output LLgen LLgen.c tokens.c Lpars.[ch] parser
57
58 distr:
59                 -rm -f parser
60                 make parser
61                 cp Lpars.c $(SRC_DIR)/Lpars.c.dist
62                 cp Lpars.h $(SRC_DIR)/Lpars.h.dist
63                 cp LLgen.c $(SRC_DIR)/LLgen.c.dist
64                 cp tokens.c $(SRC_DIR)/tokens.c.dist
65
66 LLgen.$(SUF):   LLgen.c
67                 $(CC) -c $(CFLAGS) LLgen.c
68 LLgen.$(SUF):   Lpars.h
69 LLgen.$(SUF):   $(SRC_DIR)/cclass.h
70 LLgen.$(SUF):   $(SRC_DIR)/extern.h
71 LLgen.$(SUF):   $(SRC_DIR)/io.h
72 LLgen.$(SUF):   $(SRC_DIR)/types.h
73
74 Lpars.$(SUF):   Lpars.c
75                 $(CC) -c $(CFLAGS) Lpars.c
76 Lpars.$(SUF):   Lpars.h
77
78 alloc.$(SUF):   $(SRC_DIR)/alloc.c
79                 $(CC) -c $(CFLAGS) $(SRC_DIR)/alloc.c
80 alloc.$(SUF):   $(SRC_DIR)/extern.h
81 alloc.$(SUF):   $(SRC_DIR)/types.h
82
83 cclass.$(SUF):  $(SRC_DIR)/cclass.c
84                 $(CC) -c $(CFLAGS) $(SRC_DIR)/cclass.c
85 cclass.$(SUF):  $(SRC_DIR)/cclass.h
86
87 check.$(SUF):   $(SRC_DIR)/check.c
88                 $(CC) -c $(CFLAGS) $(SRC_DIR)/check.c
89 check.$(SUF):   $(SRC_DIR)/extern.h
90 check.$(SUF):   $(SRC_DIR)/io.h
91 check.$(SUF):   $(SRC_DIR)/sets.h
92 check.$(SUF):   $(SRC_DIR)/types.h
93
94 compute.$(SUF): $(SRC_DIR)/compute.c
95                 $(CC) -c $(CFLAGS) $(SRC_DIR)/compute.c
96 compute.$(SUF): $(SRC_DIR)/extern.h
97 compute.$(SUF): $(SRC_DIR)/io.h
98 compute.$(SUF): $(SRC_DIR)/sets.h
99 compute.$(SUF): $(SRC_DIR)/types.h
100
101 gencode.$(SUF): $(SRC_DIR)/gencode.c
102                 $(CC) -c $(CFLAGS) $(SRC_DIR)/gencode.c
103 gencode.$(SUF): $(SRC_DIR)/cclass.h
104 gencode.$(SUF): $(SRC_DIR)/extern.h
105 gencode.$(SUF): $(SRC_DIR)/io.h
106 gencode.$(SUF): $(SRC_DIR)/sets.h
107 gencode.$(SUF): $(SRC_DIR)/types.h
108
109 global.$(SUF):  $(SRC_DIR)/global.c
110                 $(CC) -c $(CFLAGS) $(SRC_DIR)/global.c
111 global.$(SUF):  $(SRC_DIR)/extern.h
112 global.$(SUF):  $(SRC_DIR)/io.h
113 global.$(SUF):  $(SRC_DIR)/types.h
114
115 machdep.$(SUF): $(SRC_DIR)/machdep.c
116                 $(CC) -c $(CFLAGS) -DUSE_SYS -DLIBDIR=$(LIBDIRSTR) $(SRC_DIR)/machdep.c
117 machdep.$(SUF): $(SRC_DIR)/types.h
118
119 main.$(SUF):    $(SRC_DIR)/main.c
120                 $(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
121 main.$(SUF):    $(SRC_DIR)/extern.h
122 main.$(SUF):    $(SRC_DIR)/io.h
123 main.$(SUF):    $(SRC_DIR)/sets.h
124 main.$(SUF):    $(SRC_DIR)/types.h
125
126 name.$(SUF):    $(SRC_DIR)/name.c
127                 $(CC) -c $(CFLAGS) $(SRC_DIR)/name.c
128 name.$(SUF):    $(SRC_DIR)/extern.h
129 name.$(SUF):    $(SRC_DIR)/io.h
130 name.$(SUF):    $(SRC_DIR)/types.h
131
132 reach.$(SUF):   $(SRC_DIR)/reach.c
133                 $(CC) -c $(CFLAGS) $(SRC_DIR)/reach.c
134 reach.$(SUF):   $(SRC_DIR)/extern.h
135 reach.$(SUF):   $(SRC_DIR)/io.h
136 reach.$(SUF):   $(SRC_DIR)/types.h
137
138 sets.$(SUF):    $(SRC_DIR)/sets.c
139                 $(CC) -c $(CFLAGS) $(SRC_DIR)/sets.c
140 sets.$(SUF):    $(SRC_DIR)/extern.h
141 sets.$(SUF):    $(SRC_DIR)/sets.h
142 sets.$(SUF):    $(SRC_DIR)/types.h
143
144 tokens.$(SUF):  tokens.c
145                 $(CC) -c $(CFLAGS) tokens.c
146 tokens.$(SUF):  Lpars.h
147 tokens.$(SUF):  $(SRC_DIR)/cclass.h
148 tokens.$(SUF):  $(SRC_DIR)/extern.h
149 tokens.$(SUF):  $(SRC_DIR)/io.h
150 tokens.$(SUF):  $(SRC_DIR)/types.h
151
152 savegram.$(SUF):        $(SRC_DIR)/savegram.c
153                 $(CC) -c $(CFLAGS) $(SRC_DIR)/savegram.c
154 savegram.$(SUF):        $(SRC_DIR)/types.h
155 savegram.$(SUF):        $(SRC_DIR)/extern.h
156 savegram.$(SUF):        $(SRC_DIR)/io.h
157 savegram.$(SUF):        $(SRC_DIR)/sets.h