Topic: How to makefile for bison++ for DOS & Turbo C++
Author: blueswan@IASTATE.EDU (Jung-Yi Hung)
Date: Sat, 9 Oct 1993 19:01:38 GMT Raw View
Hi, Everybody !
Could somebody tell me how to install bison++ for DOS & Borlandc++. I put Makefire sessions
Makefile for bison
#
# version for GNU make & MS C 5.1 on MS-DOS. <rreiner@nexus.yorku.ca>.
#
# Copyright (C) 1984, 1989 Bob Corbett and Free Software Foundation, Inc.
#
# This file is part of Bison, the GNU Compiler Compiler.
#
# Bison is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
#
# Bison is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Bison; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
MODEL = L
CFLAGS = -A$(MODEL) -Za -DUSG -Oait
# remove the following and add getopt.c to OBJECTS if you don't have getopt
# in the gnulib
LIBS = $(GNULIB)
LDFLAGS=/noi /st:4000 /noe
DESTDIR=d:/lng
# where the installed binary goes
BINDIR = $(DESTDIR)
# where the parsers go
PARSERDIR = $(DESTDIR)
# names of parser files
PFILE = bison.sim
PFILE1 = bison.hai
PFILES = -DXPFILE=\\"$(PARSERDIR)/$(PFILE)\\" \
-DXPFILE1=\\"$(PARSERDIR)/$(PFILE1)\\"
OBJECTS = lr0.obj allocate.obj closure.obj conflict.obj derives.obj \
files.obj getargs.obj gram.obj lalr.obj lex.obj \
main.obj nullable.obj output.obj print.obj reader.obj \
reduce.obj symtab.obj warshall.obj version.obj
# getopt.obj
start: bison.exe
clean:
rm -f *.obj bison.exe
install: bison
install bison $(BINDIR)
-cd $(PARSERDIR); rm -f $(PFILE) $(PFILE1)
# Copy bison.simple, inserting directory name into the #line commands.
awk -f mergedir.awk dir=$(PARSERDIR) $(PFILE) > $(PARSERDIR)/$(PFILE)
cp $(PFILE1) $(PARSERDIR)
install -c bison.1 $(MANDIR)/bison.$(MANEXT)
chmod a+r $(PARSERDIR)/$(PFILE) $(PARSERDIR)/$(PFILE1)
chmod a+r $(MANDIR)/bison.$(MANEXT)
bison.exe: $(OBJECTS)
$(LD) $(LDFLAGS) $^,$@,nul,$(LIBS) ;
TAGS: *.c *.h
etags *.c *.h
# This file is handled differently in order to pass the parser file names
# to the compiler.
files.obj: files.c files.h new.h gram.h
$(CC) -c $(CFLAGS) $(PFILES) files.c
lr0.obj: machine.h new.h gram.h state.h
closure.obj: machine.h new.h gram.h
conflict.obj: machine.h new.h files.h gram.h state.h
derives.obj: new.h types.h gram.h
getargs.obj: files.h
lalr.obj: machine.h types.h state.h new.h gram.h
lex.obj: files.h symtab.h lex.h
main.obj: machine.h
nullable.obj: types.h gram.h new.h
output.obj: machine.h new.h files.h gram.h state.h
print.obj: machine.h new.h files.h gram.h state.h
reader.obj: files.h new.h symtab.h lex.h gram.h
reduce.obj: files.h new.h machine.h gram.h
symtab.obj: new.h symtab.h gram.h
warshall.obj: machine.h