# Makefile for bison
-# Copyright (C) 1984, 1989, 1991 Bob Corbett and Free Software Foundation, Inc.
+# Copyright (C) 1988, 1989, 1991, 1993 Bob Corbett and Free Software Foundation, Inc.
#
# This file is part of Bison, the GNU Compiler Compiler.
#
# -DHAVE_STRERROR If you have strerror function.
DEFS = @DEFS@
-CFLAGS = -g
-LDFLAGS = -g
+CFLAGS = @CFLAGS@
+LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
# the GNU alloca.o here.
ALLOCA = @ALLOCA@
-prefix = /usr/local
-exec_prefix = $(prefix)
+prefix = @prefix@
+exec_prefix = @exec_prefix@
# where the installed binary goes
bindir = $(exec_prefix)/bin
# where the parsers go
-datadir = $(prefix)/lib
+datadir = $(prefix)/share
# where the info files go
infodir = $(prefix)/info
#### End of system configuration section. ####
+DISTFILES = COPYING ChangeLog Makefile.in configure configure.in \
+ REFERENCES bison.1 bison.rnh configure.bat \
+ bison.simple bison.hairy \
+ LR0.c allocate.c closure.c conflicts.c derives.c \
+ files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
+ output.c print.c reader.c reduce.c symtab.c version.c \
+ warshall.c files.h gram.h lex.h machine.h new.h state.h \
+ symtab.h system.h types.h bison.cld build.com vmsgetargs.c \
+ vmshlp.mar README INSTALL NEWS bison.texinfo bison.info* texinfo.tex \
+ getopt.c getopt.h getopt1.c alloca.c mkinstalldirs install-sh
+
+
SHELL = /bin/sh
# This rule allows us to supply the necessary -D options
all: bison bison.info bison.s1
-Makefile: Makefile.in config.status
- ./config.status
+Makefile: config.status Makefile.in
+ CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
config.status: configure
- $(srcdir)/configure --srcdir=$(srcdir) --no-create
+ ./config.status --recheck
configure: configure.in
- cd $(srcdir); autoconf
+ cd $(srcdir) && autoconf
# Copy bison.simple, inserting directory name into the #line commands.
bison.s1: bison.simple
-rm -f bison.s1
- sed -e "/^#line/ s|bison|$(datadir)/bison|" < $(srcdir)/$(PFILE) > bison.s1
+ sed -e "/^#line/ s|bison|$(datadir)/bison|" < $(srcdir)/$(PFILE) > $@-tmp
+ mv $@-tmp $@
clean:
- rm -f *.o core bison bison.s1
+ rm -f *.o core bison bison.s1 config.status config.log
mostlyclean: clean
distclean: clean
- rm -f Makefile config.status
+ rm -f Makefile
realclean: distclean
rm -f TAGS *.info*
# Most of these deps are in case using RCS.
-install: all bison.1 $(srcdir)/$(PFILE) $(srcdir)/$(PFILE1) uninstall installdirs
+install: all bison.1 $(srcdir)/$(PFILE) $(srcdir)/$(PFILE1) installdirs uninstall
$(INSTALL_PROGRAM) bison $(bindir)/bison
- $(INSTALL_DATA) ./bison.s1 $(datadir)/$(PFILE)
+ $(INSTALL_DATA) bison.s1 $(datadir)/$(PFILE)
$(INSTALL_DATA) $(srcdir)/$(PFILE1) $(datadir)/$(PFILE1)
- -chmod a+r $(datadir)/$(PFILE) $(datadir)/$(PFILE1)
- -$(INSTALL_DATA) $(srcdir)/bison.1 $(mandir)/bison.$(manext)
- -chmod a+r $(mandir)/bison.$(manext)
cd $(srcdir); for f in bison.info*; \
do $(INSTALL_DATA) $$f $(infodir)/$$f; done
+ -$(INSTALL_DATA) $(srcdir)/bison.1 $(mandir)/bison.$(manext)
# Make sure all installation directories, e.g. $(bindir) actually exist by
# making them if necessary.
installdirs:
- for file in $(bindir) $(datadir) $(libdir) $(infodir) $(mandir) ; do \
- oIFS="$${IFS}"; IFS='/'; set - $${file}; IFS="$${oIFS}"; \
- pathcomp=''; test ".$${1}" = "." && shift; \
- while test $$# -ne 0 ; do \
- pathcomp="$${pathcomp}/$${1}"; shift; \
- if test ! -d "$${pathcomp}"; then \
- echo "making directory $$pathcomp" 1>&2 ; \
- mkdir "$${pathcomp}"; \
- fi; \
- done; \
- done
+ -sh $(srcdir)/mkinstalldirs $(bindir) $(datadir) $(libdir) $(infodir) $(mandir)
uninstall:
rm -f $(bindir)/bison
-cd $(datadir); rm -f $(PFILE) $(PFILE1)
rm -f $(mandir)/bison.$(manext) $(infodir)/bison.info*
+check:
+ @echo "No checks implemented (yet)."
+
bison: $(OBJECTS)
- $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
+ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJECTS) $(LIBS)
+# We don't use $(srcdir) in this rule
+# because it is normally used in the master source dir
+# in which configure has not been run.
dist: bison.info
echo bison-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
-rm -rf `cat .fname`
mkdir `cat .fname`
- ln COPYING ChangeLog Makefile.in configure configure.in \
- REFERENCES bison.1 bison.rnh configure.bat \
- bison.simple bison.hairy \
- LR0.c allocate.c closure.c conflicts.c derives.c \
- files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
- output.c print.c reader.c reduce.c symtab.c version.c \
- warshall.c files.h gram.h lex.h machine.h new.h state.h \
- symtab.h system.h types.h bison.cld build.com vmsgetargs.c \
- vmshlp.mar README INSTALL bison.texinfo bison.info* texinfo.tex \
- `cat .fname`
- cp -p getopt.[ch] getopt1.c alloca.c `cat .fname`
- tar --gzip -chf `cat .fname`.tar.z `cat .fname`
+ dst=`cat .fname`; for f in $(DISTFILES); do \
+ ln $$f $$dst/$$f || { echo copying $$f; cp -p $$f $$dst/$$f ; } \
+ done
+ tar --gzip -chf `cat .fname`.tar.gz `cat .fname`
-rm -rf `cat .fname` .fname
bison.info: bison.texinfo
$(srcdir)/files.c $(OUTPUT_OPTION)
LR0.o: system.h machine.h new.h gram.h state.h
+allocate.o: system.h
closure.o: system.h machine.h new.h gram.h
conflicts.o: system.h machine.h new.h files.h gram.h state.h
derives.o: system.h new.h types.h gram.h