1 # 2 # Makefile for ANTLR 1.33 3 # 4 # SOFTWARE RIGHTS 5 # 6 # We reserve no LEGAL rights to the Purdue Compiler Construction Tool 7 # Set (PCCTS) -- PCCTS is in the public domain. An individual or 8 # company may do whatever they wish with source code distributed with 9 # PCCTS or the code generated by PCCTS, including the incorporation of 10 # PCCTS, or its output, into commerical software. 11 # 12 # We encourage users to develop software with PCCTS. However, we do ask 13 # that credit is given to us for developing PCCTS. By "credit", 14 # we mean that if you incorporate our source code into one of your 15 # programs (commercial product, research project, or otherwise) that you 16 # acknowledge this fact somewhere in the documentation, research report, 17 # etc... If you like PCCTS and have developed a nice tool with the 18 # output, please mention that you developed it using PCCTS. In 19 # addition, we ask that this header remain intact in our source code. 20 # As long as these guidelines are kept, we expect to continue enhancing 21 # this system and expect to make other tools available as they are 22 # completed. 23 # 24 # ANTLR 1.33 25 # Terence Parr 26 # Parr Research Corporation 27 # with Purdue University 28 # and AHPCRC, University of Minnesota 29 # 1989-1995 30 # 31 # Ported to Borland C++, IBM C-Set/2 and Microsoft 6.0 by 32 # Ed Harfmann 33 # Micro Data Base Systems 34 # Lafayette, Indiana 35 # 36 SET=../support/set 37 PCCTS_H=../h 38 39 ## 40 ## Uncomment the appropriate section to build 41 ## (both targets and 'make' variable definitions) 42 ## Note that UNIX is the default 43 ## 44 45 # 46 # OS/2 & DOS 16 bit using MSC 6.0 47 # 48 #CC=cl 49 #ANTLR=..\bin\antlr 50 #DLG=..\bin\dlg 51 #CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /AL /Za /W3 -DPC -DUSER_ZZSYN 52 #OUT_OBJ = -Fo 53 #LIBS=/NOD:LLIBCE LLIBCEP 54 #OBJ_EXT = obj 55 # 56 #antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ 57 # fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ 58 # misc.obj set.obj pred.obj egamn.obj 59 # link @<< 60 #$** /NOI 61 #$@ /STACK:14336 62 # 63 #$(LIBS: = +^ 64 #) 65 #$(DEF_FILE) $(LFLAGS) ; 66 #<< 67 # bind $@ c:\os2\doscalls.lib 68 # copy *.exe ..\bin 69 # 70 71 # 72 # Borland C++ for DOS 73 # 74 #CC=bcc 75 #ANTLR=..\bin\antlr 76 #DLG=..\bin\dlg 77 #CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -ml -ff- -w- -DPC -DUSER_ZZSYN 78 #OUT_OBJ = -o 79 #LIBS= emu mathl cl 80 #OBJ_EXT = obj 81 # 82 #antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ 83 # fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ 84 # misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj 85 # tlink @&&| 86 #C0L $** 87 #$@ /Tde /c 88 # 89 #$(LIBS) 90 #$(DEF_FILE) $(LFLAGS) ; 91 #| 92 # copy *.exe ..\bin 93 # 94 95 # 96 # C-Set/2 for OS/2 97 # 98 #CC=icc 99 #CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /Sa /W3 -DUSER_ZZSYN -D__STDC__ 100 #OUT_OBJ = -Fo 101 #LIBS= 102 #ANTLR=..\bin\antlr 103 #DLG=..\bin\dlg 104 #OBJ_EXT = obj 105 # 106 #antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ 107 # fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ 108 # misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj 109 # link386 @<< 110 #$** /NOI 111 #$@ /STACK:32768 112 # 113 #$(LIBS: = +^ 114 #) 115 #$(DEF_FILE) $(LFLAGS) ; 116 #<< 117 # copy *.exe ..\bin 118 # 119 120 # 121 # Borland C++ for OS/2 122 # 123 #CC=bcc 124 #CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -w- -v -DUSER_ZZSYN 125 #OUT_OBJ = -o 126 #LIBS= c2 os2 127 # 128 #ANTLR=..\bin\antlr 129 #DLG=..\bin\dlg 130 #OBJ_EXT = obj 131 #antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ 132 # fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ 133 # misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj 134 # tlink @&&| 135 #c02 $** -c -v 136 #antlr.exe 137 # 138 #C2 os2 139 # 140 #| 141 # copy *.exe ..\bin 142 # 143 144 # *********** Target list of PC machines *********** 145 # 146 # Don't worry about the ambiguity messages coming from antlr 147 # for making antlr.c etc... [should be 10 of them, I think] 148 # 149 #antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g 150 # $(ANTLR) antlr.g 151 # 152 #antlr.$(OBJ_EXT): antlr.c mode.h tokens.h 153 # 154 #scan.$(OBJ_EXT): scan.c mode.h tokens.h 155 # 156 #scan.c mode.h: parser.dlg 157 # $(DLG) -C2 parser.dlg scan.c 158 # 159 #set.$(OBJ_EXT): $(SET)/set.c 160 # $(CC) $(CFLAGS) -c $(OUT_OBJ)set.$(OBJ_EXT) $(SET)/set.c 161 162 163 164 # 165 # UNIX (default) 166 # 167 CC?=gcc 168 COPT=-O 169 ANTLR=${BIN_DIR}/antlr 170 DLG=${BIN_DIR}/dlg 171 OBJ_EXT=o 172 OUT_OBJ = -o 173 CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536 174 # 175 # SGI Users, use this CFLAGS 176 # 177 #CFLAGS= -O -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -woff 3262 178 OBJ=antlr.o scan.o err.o bits.o build.o fset2.o fset.o gen.o \ 179 globals.o hash.o lex.o main.o misc.o set.o pred.o egman.o mrhoist.o fcache.o 180 181 $(BIN_DIR)/antlr : $(OBJ) $(SRC) 182 $(CC) $(CFLAGS) -o $(BIN_DIR)/antlr $(OBJ) 183 184 # what files does PCCTS generate (both ANTLR and DLG) 185 PCCTS_GEN=antlr.c scan.c err.c tokens.h mode.h parser.dlg stdpccts.h remap.h 186 187 SRC=antlr.c scan.c err.c bits.c build.c fset2.c fset.c gen.c globals.c \ 188 hash.c lex.c main.c misc.c $(SET)/set.c pred.c egman.c mrhoist.c fcache.c 189 190 # 191 # Don't worry about the ambiguity messages coming from antlr 192 # for making antlr.c etc... [should be 10 of them, I think] 193 # 194 #antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g 195 # $(ANTLR) -gh antlr.g 196 197 antlr.o : antlr.c mode.h tokens.h 198 199 scan.o : scan.c mode.h tokens.h 200 201 #scan.c mode.h: parser.dlg 202 # $(DLG) -C2 parser.dlg scan.c 203 204 set.o : $(SET)/set.c 205 $(CC) $(CFLAGS) -c -o set.o $(SET)/set.c 206 207 208 # 209 # ****** These next targets are common to UNIX and PC world ******** 210 # 211 212 #clean up all the intermediate files 213 clean: 214 rm -f $(BIN_DIR)/antlr *.$(OBJ_EXT) core 215 216 #remove everything in clean plus the PCCTS files generated 217 scrub: 218 rm -f $(PCCTS_GEN) *.$(OBJ_EXT) core 219