Pristine Ack-5.5
[Ack-5.5.git] / util / topgen / proto.make
1 # $Id: proto.make,v 1.2 1994/06/24 10:42:20 ceriel Exp $
2
3 #PARAMS         do not remove this line!
4
5 SRC_DIR =       $(SRC_HOME)/util/topgen
6 INCLUDES =      -I$(SRC_DIR) -I.
7 CFLAGS =        $(COPTIONS) $(INCLUDES)
8 LDFLAGS =       $(LDOPTIONS)
9 LINTFLAGS =     $(LINTOPTIONS) $(INCLUDES)
10 SOURCE =        $(SRC_DIR)/token.h $(SRC_DIR)/symtab.h $(SRC_DIR)/misc.h \
11                 $(SRC_DIR)/tunable.h $(SRC_DIR)/main.c $(SRC_DIR)/topgen.g \
12                 $(SRC_DIR)/LLlex.c $(SRC_DIR)/symtab.c $(SRC_DIR)/pattern.c \
13                 $(SRC_DIR)/hash.c
14 CFILES =        $(SRC_DIR)/main.c topgen.c Lpars.c $(SRC_DIR)/LLlex.c \
15                 $(SRC_DIR)/symtab.c $(SRC_DIR)/pattern.c $(SRC_DIR)/hash.c
16 OFILES =        main.$(SUF) topgen.$(SUF) Lpars.$(SUF) LLlex.$(SUF) \
17                 symtab.$(SUF) pattern.$(SUF) hash.$(SUF)
18
19 all:            parser
20                 @make topgen
21
22 cmp:            all
23                 cmp topgen $(TARGET_HOME)/lib.bin/topgen
24
25 install:        all
26                 cp topgen $(TARGET_HOME)/lib.bin/topgen
27
28 clean:
29                 rm -f topgen *.$(SUF) Lpars.c Lpars.h topgen.c parser
30
31 parser:         $(SRC_DIR)/topgen.g
32                 $(UTIL_HOME)/bin/LLgen $(SRC_DIR)/topgen.g
33                 touch parser
34
35 topgen.$(SUF):  $(SRC_DIR)/token.h Lpars.h $(SRC_DIR)/symtab.h $(SRC_DIR)/misc.h topgen.c
36                 $(CC) -c $(CFLAGS) topgen.c
37 Lpars.$(SUF):   Lpars.h Lpars.c
38                 $(CC) -c $(CFLAGS) Lpars.c
39 LLlex.$(SUF):   $(SRC_DIR)/token.h Lpars.h $(SRC_DIR)/tunable.h $(SRC_DIR)/LLlex.c
40                 $(CC) -c $(CFLAGS) $(SRC_DIR)/LLlex.c
41 symtab.$(SUF):  $(SRC_DIR)/symtab.h $(SRC_DIR)/symtab.c
42                 $(CC) -c $(CFLAGS) $(SRC_DIR)/symtab.c
43 hash.$(SUF):    $(SRC_DIR)/misc.h $(SRC_DIR)/hash.c
44                 $(CC) -c $(CFLAGS) $(SRC_DIR)/hash.c
45 pattern.$(SUF): $(SRC_DIR)/misc.h $(SRC_DIR)/symtab.h $(SRC_DIR)/pattern.c
46                 $(CC) -c $(CFLAGS) $(SRC_DIR)/pattern.c
47 main.$(SUF):    $(SRC_DIR)/main.c
48                 $(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
49
50 topgen:         $(OFILES)
51                 $(CC) $(LDFLAGS) $(OFILES) -o topgen
52
53 lint:           parser
54                 $(LINT) $(LINTFLAGS) $(CFILES)
55
56 pr:
57                 @pr $(SOURCE) $(SRC_DIR)/proto.make
58
59 opr:
60                 make pr ^ opr