]> pd.if.org Git - pccts/blob - testcpp/6/makefile
auto commit for import
[pccts] / testcpp / 6 / makefile
1 #
2 # PCCTS makefile for: test.g
3 #
4 # PCCTS release 1.21
5 # Project: t
6 # C++ output
7 # D scanner
8 # A-defined token types
9 #
10 TOKENS = A/tokens.h
11 #
12 # The following filenames must be consistent with A/D flags
13 D_FILE = A/parser.dlg
14 ERR = A/err
15 HDR_FILE =
16 SCAN = A/ALexer
17 PCCTS = ../..
18 A_H = $(PCCTS)/h
19 BIN = $(PCCTS)/bin
20 A = $(BIN)/antlr
21 D = $(BIN)/dlg
22 CFLAGS = -I. -I$(A_H) -IA -IB -g
23 #
24 # Delay lookahead so that an extra fetch is not done by
25 # 'A' parser which is needed by 'B' parser.
26
27 AFLAGS = -o A -CC
28 DFLAGS = -C2 -i -CC -cl ALexer -o A
29 GRM = test.g
30 SRC = A/test.cpp \
31       A/A.cpp \
32       $(A_H)/AParser.cpp $(A_H)/DLexerBase.cpp $(SCAN).cpp main.cpp \
33           $(A_H)/ATokenBuffer.cpp
34 OBJ = A/test.o A/A.o A/AParser.o A/DLexerBase.o $(SCAN).o main.o \
35           A/ATokenBuffer.o
36
37 OBJ2 = B/test2.o B/B.o B/BLexer.o
38 A_SPAWN = A/test.cpp A/A.cpp \
39               A/A.h \
40               $(HDR_FILE) $(D_FILE) $(TOKENS)
41 D_SPAWN = $(SCAN).cpp $(SCAN).h
42 #CCC=g++
43 CC=$(CCC)
44
45 t: $(OBJ) $(OBJ2) $(SRC)
46         make -f makefile2
47         $(CCC) -o t $(CFLAGS) $(OBJ) $(OBJ2)
48
49 A/test.o : $(TOKENS) $(SCAN).h A/test.cpp $(HDR_FILE)
50         $(CCC) -c $(CFLAGS) -o A/test.o A/test.cpp
51
52 A/A.o : $(TOKENS) $(SCAN).h A/A.cpp A/A.h $(HDR_FILE)
53         $(CCC) -c $(CFLAGS) -o A/A.o A/A.cpp
54
55 $(SCAN).o : $(SCAN).cpp $(TOKENS)
56         $(CCC) -c $(CFLAGS) -o $(SCAN).o $(SCAN).cpp
57
58 $(A_SPAWN) : $(GRM)
59         $(A) $(AFLAGS) $(GRM)
60
61 $(D_SPAWN) : $(D_FILE)
62         $(D) $(DFLAGS) $(D_FILE)
63
64 A/ATokenBuffer.o : $(A_H)/ATokenBuffer.cpp
65         $(CCC) -c $(CFLAGS) -o A/ATokenBuffer.o $(A_H)/ATokenBuffer.cpp
66
67 A/AParser.o : $(A_H)/AParser.cpp
68         $(CCC) -c $(CFLAGS) -o A/AParser.o $(A_H)/AParser.cpp
69
70 A/DLexerBase.o : $(A_H)/DLexerBase.cpp
71         $(CCC) -c $(CFLAGS) -o A/DLexerBase.o $(A_H)/DLexerBase.cpp
72
73 main.o : main.cpp B/B.h
74         $(CCC) -c $(CFLAGS) -o main.o main.cpp
75
76 B/B.h :
77         make -f makefile2
78
79 clean:
80         rm -f *.o core t A/*.o
81
82 scrub:
83         rm -f *.o core t A/*.o $(A_SPAWN) $(D_SPAWN)