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# 36SET=../support/set 37PCCTS_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# $(BUILD_CC) $(BUILD_CFLAGS) -c $(OUT_OBJ)set.$(OBJ_EXT) $(SET)/set.c 161 162 163 164# 165# UNIX (default) 166# 167BUILD_CC?=gcc 168COPT=-O 169ANTLR=${BIN_DIR}/antlr 170DLG=${BIN_DIR}/dlg 171OBJ_EXT=o 172OUT_OBJ = -o 173BUILD_CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536 174BUILD_CPPFLAGS= 175# 176# SGI Users, use this CFLAGS 177# 178#CFLAGS= -O -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -woff 3262 179OBJ=antlr.o scan.o err.o bits.o build.o fset2.o fset.o gen.o \ 180 globals.o hash.o lex.o main.o misc.o set.o pred.o egman.o mrhoist.o fcache.o 181 182$(BIN_DIR)/antlr : $(OBJ) $(SRC) 183 $(BUILD_CC) $(BUILD_CFLAGS) -o $(BIN_DIR)/antlr $(OBJ) 184 185# what files does PCCTS generate (both ANTLR and DLG) 186PCCTS_GEN=antlr.c scan.c err.c tokens.h mode.h parser.dlg stdpccts.h remap.h 187 188SRC=antlr.c scan.c err.c bits.c build.c fset2.c fset.c gen.c globals.c \ 189 hash.c lex.c main.c misc.c $(SET)/set.c pred.c egman.c mrhoist.c fcache.c 190 191# 192# Don't worry about the ambiguity messages coming from antlr 193# for making antlr.c etc... [should be 10 of them, I think] 194# 195#antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g 196# $(ANTLR) -gh antlr.g 197 198antlr.o : antlr.c mode.h tokens.h 199 200scan.o : scan.c mode.h tokens.h 201 202#scan.c mode.h: parser.dlg 203# $(DLG) -C2 parser.dlg scan.c 204 205set.o : $(SET)/set.c 206 $(BUILD_CC) $(BUILD_CFLAGS) -c -o set.o $(SET)/set.c 207 208%.o : %.c 209 $(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ 210 211# 212# ****** These next targets are common to UNIX and PC world ******** 213# 214 215#clean up all the intermediate files 216clean: 217 rm -f $(BIN_DIR)/antlr *.$(OBJ_EXT) core 218 219#remove everything in clean plus the PCCTS files generated 220scrub: 221 rm -f $(PCCTS_GEN) *.$(OBJ_EXT) core 222