# | |
# Makefile for ANTLR 1.33 | |
# | |
# SOFTWARE RIGHTS | |
# | |
# We reserve no LEGAL rights to the Purdue Compiler Construction Tool | |
# Set (PCCTS) -- PCCTS is in the public domain. An individual or | |
# company may do whatever they wish with source code distributed with | |
# PCCTS or the code generated by PCCTS, including the incorporation of | |
# PCCTS, or its output, into commerical software. | |
# | |
# We encourage users to develop software with PCCTS. However, we do ask | |
# that credit is given to us for developing PCCTS. By "credit", | |
# we mean that if you incorporate our source code into one of your | |
# programs (commercial product, research project, or otherwise) that you | |
# acknowledge this fact somewhere in the documentation, research report, | |
# etc... If you like PCCTS and have developed a nice tool with the | |
# output, please mention that you developed it using PCCTS. In | |
# addition, we ask that this header remain intact in our source code. | |
# As long as these guidelines are kept, we expect to continue enhancing | |
# this system and expect to make other tools available as they are | |
# completed. | |
# | |
# ANTLR 1.33 | |
# Terence Parr | |
# Parr Research Corporation | |
# with Purdue University | |
# and AHPCRC, University of Minnesota | |
# 1989-1995 | |
# | |
# Ported to Borland C++, IBM C-Set/2 and Microsoft 6.0 by | |
# Ed Harfmann | |
# Micro Data Base Systems | |
# Lafayette, Indiana | |
# | |
SET=../support/set | |
PCCTS_H=../h | |
## | |
## Uncomment the appropriate section to build | |
## (both targets and 'make' variable definitions) | |
## Note that UNIX is the default | |
## | |
# | |
# OS/2 & DOS 16 bit using MSC 6.0 | |
# | |
#CC=cl | |
#ANTLR=..\bin\antlr | |
#DLG=..\bin\dlg | |
#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /AL /Za /W3 -DPC -DUSER_ZZSYN | |
#OUT_OBJ = -Fo | |
#LIBS=/NOD:LLIBCE LLIBCEP | |
#OBJ_EXT = obj | |
# | |
#antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ | |
# fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ | |
# misc.obj set.obj pred.obj egamn.obj | |
# link @<< | |
#$** /NOI | |
#$@ /STACK:14336 | |
# | |
#$(LIBS: = +^ | |
#) | |
#$(DEF_FILE) $(LFLAGS) ; | |
#<< | |
# bind $@ c:\os2\doscalls.lib | |
# copy *.exe ..\bin | |
# | |
# | |
# Borland C++ for DOS | |
# | |
#CC=bcc | |
#ANTLR=..\bin\antlr | |
#DLG=..\bin\dlg | |
#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -ml -ff- -w- -DPC -DUSER_ZZSYN | |
#OUT_OBJ = -o | |
#LIBS= emu mathl cl | |
#OBJ_EXT = obj | |
# | |
#antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ | |
# fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ | |
# misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj | |
# tlink @&&| | |
#C0L $** | |
#$@ /Tde /c | |
# | |
#$(LIBS) | |
#$(DEF_FILE) $(LFLAGS) ; | |
#| | |
# copy *.exe ..\bin | |
# | |
# | |
# C-Set/2 for OS/2 | |
# | |
#CC=icc | |
#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) /Sa /W3 -DUSER_ZZSYN -D__STDC__ | |
#OUT_OBJ = -Fo | |
#LIBS= | |
#ANTLR=..\bin\antlr | |
#DLG=..\bin\dlg | |
#OBJ_EXT = obj | |
# | |
#antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ | |
# fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ | |
# misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj | |
# link386 @<< | |
#$** /NOI | |
#$@ /STACK:32768 | |
# | |
#$(LIBS: = +^ | |
#) | |
#$(DEF_FILE) $(LFLAGS) ; | |
#<< | |
# copy *.exe ..\bin | |
# | |
# | |
# Borland C++ for OS/2 | |
# | |
#CC=bcc | |
#CFLAGS= -I. -I$(SET) -I$(PCCTS_H) -w- -v -DUSER_ZZSYN | |
#OUT_OBJ = -o | |
#LIBS= c2 os2 | |
# | |
#ANTLR=..\bin\antlr | |
#DLG=..\bin\dlg | |
#OBJ_EXT = obj | |
#antlr.exe: antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj \ | |
# fset.obj gen.obj globals.obj hash.obj lex.obj main.obj \ | |
# misc.obj set.obj pred.obj egman.obj mrhoist.obj fcache.obj | |
# tlink @&&| | |
#c02 $** -c -v | |
#antlr.exe | |
# | |
#C2 os2 | |
# | |
#| | |
# copy *.exe ..\bin | |
# | |
# *********** Target list of PC machines *********** | |
# | |
# Don't worry about the ambiguity messages coming from antlr | |
# for making antlr.c etc... [should be 10 of them, I think] | |
# | |
#antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g | |
# $(ANTLR) antlr.g | |
# | |
#antlr.$(OBJ_EXT): antlr.c mode.h tokens.h | |
# | |
#scan.$(OBJ_EXT): scan.c mode.h tokens.h | |
# | |
#scan.c mode.h: parser.dlg | |
# $(DLG) -C2 parser.dlg scan.c | |
# | |
#set.$(OBJ_EXT): $(SET)/set.c | |
# $(BUILD_CC) $(BUILD_CFLAGS) -c $(OUT_OBJ)set.$(OBJ_EXT) $(SET)/set.c | |
# | |
# UNIX (default) | |
# | |
BUILD_CC?=gcc | |
COPT=-O | |
ANTLR=${BIN_DIR}/antlr | |
DLG=${BIN_DIR}/dlg | |
OBJ_EXT=o | |
OUT_OBJ = -o | |
BUILD_CFLAGS= $(COPT) -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN $(COTHER) -DZZLEXBUFSIZE=65536 | |
BUILD_CPPFLAGS= | |
# | |
# SGI Users, use this CFLAGS | |
# | |
#CFLAGS= -O -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN -woff 3262 | |
OBJ=antlr.o scan.o err.o bits.o build.o fset2.o fset.o gen.o \ | |
globals.o hash.o lex.o main.o misc.o set.o pred.o egman.o mrhoist.o fcache.o | |
$(BIN_DIR)/antlr : $(OBJ) $(SRC) | |
$(BUILD_CC) $(BUILD_CFLAGS) -o $(BIN_DIR)/antlr $(OBJ) | |
# what files does PCCTS generate (both ANTLR and DLG) | |
PCCTS_GEN=antlr.c scan.c err.c tokens.h mode.h parser.dlg stdpccts.h remap.h | |
SRC=antlr.c scan.c err.c bits.c build.c fset2.c fset.c gen.c globals.c \ | |
hash.c lex.c main.c misc.c $(SET)/set.c pred.c egman.c mrhoist.c fcache.c | |
# | |
# Don't worry about the ambiguity messages coming from antlr | |
# for making antlr.c etc... [should be 10 of them, I think] | |
# | |
#antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g | |
# $(ANTLR) -gh antlr.g | |
antlr.o : antlr.c mode.h tokens.h | |
scan.o : scan.c mode.h tokens.h | |
#scan.c mode.h: parser.dlg | |
# $(DLG) -C2 parser.dlg scan.c | |
set.o : $(SET)/set.c | |
$(BUILD_CC) $(BUILD_CFLAGS) -c -o set.o $(SET)/set.c | |
%.o : %.c | |
$(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ | |
# | |
# ****** These next targets are common to UNIX and PC world ******** | |
# | |
#clean up all the intermediate files | |
clean: | |
rm -f $(BIN_DIR)/antlr *.$(OBJ_EXT) core | |
#remove everything in clean plus the PCCTS files generated | |
scrub: | |
rm -f $(PCCTS_GEN) *.$(OBJ_EXT) core |