|
|
1.1 ! root 1: # Makefile for bison ! 2: # Copyright (C) 1988, 1989, 1991, 1993 Bob Corbett and Free Software Foundation, Inc. ! 3: # ! 4: # This file is part of Bison, the GNU Compiler Compiler. ! 5: # ! 6: # Bison is free software; you can redistribute it and/or modify ! 7: # it under the terms of the GNU General Public License as published by ! 8: # the Free Software Foundation; either version 2, or (at your option) ! 9: # any later version. ! 10: # ! 11: # Bison is distributed in the hope that it will be useful, ! 12: # but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: # GNU General Public License for more details. ! 15: # ! 16: # You should have received a copy of the GNU General Public License ! 17: # along with Bison; see the file COPYING. If not, write to ! 18: # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ! 19: ! 20: #### Start of system configuration section. #### ! 21: ! 22: srcdir = @srcdir@ ! 23: VPATH = @srcdir@ ! 24: ! 25: CC = @CC@ ! 26: INSTALL = @INSTALL@ ! 27: INSTALL_PROGRAM = @INSTALL_PROGRAM@ ! 28: INSTALL_DATA = @INSTALL_DATA@ ! 29: MAKEINFO = makeinfo ! 30: ! 31: # Things you might add to DEFS: ! 32: # -DSTDC_HEADERS If you have ANSI C headers and libraries. ! 33: # -DHAVE_STRING_H If you don't have ANSI C headers but have string.h. ! 34: # -DHAVE_MEMORY_H If you don't have ANSI C headers and have memory.h. ! 35: # -DHAVE_STRERROR If you have strerror function. ! 36: DEFS = @DEFS@ ! 37: ! 38: CFLAGS = -g ! 39: LDFLAGS = -g ! 40: ! 41: LIBS = @LIBS@ ! 42: ! 43: # Some System V machines do not come with libPW. If this is true, use ! 44: # the GNU alloca.o here. ! 45: ALLOCA = @ALLOCA@ ! 46: ! 47: prefix = /usr/local ! 48: exec_prefix = $(prefix) ! 49: ! 50: # where the installed binary goes ! 51: bindir = $(exec_prefix)/bin ! 52: ! 53: # where the parsers go ! 54: datadir = $(prefix)/lib ! 55: ! 56: # where the info files go ! 57: infodir = $(prefix)/info ! 58: ! 59: # where manual pages go and what their extensions should be ! 60: mandir = $(prefix)/man/man$(manext) ! 61: manext = 1 ! 62: ! 63: #### End of system configuration section. #### ! 64: ! 65: DISTFILES = COPYING ChangeLog Makefile.in configure configure.in \ ! 66: REFERENCES bison.1 bison.rnh configure.bat \ ! 67: bison.simple bison.hairy \ ! 68: LR0.c allocate.c closure.c conflicts.c derives.c \ ! 69: files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \ ! 70: output.c print.c reader.c reduce.c symtab.c version.c \ ! 71: warshall.c files.h gram.h lex.h machine.h new.h state.h \ ! 72: symtab.h system.h types.h bison.cld build.com vmsgetargs.c \ ! 73: vmshlp.mar README INSTALL bison.texinfo bison.info* texinfo.tex \ ! 74: getopt.c getopt.h getopt1.c alloca.c mkinstalldirs ! 75: ! 76: ! 77: SHELL = /bin/sh ! 78: ! 79: # This rule allows us to supply the necessary -D options ! 80: # in addition to whatever the user asks for. ! 81: .c.o: ! 82: $(CC) -c $(DEFS) -I$(srcdir)/../include $(CPPFLAGS) $(CFLAGS) $< ! 83: ! 84: # names of parser files ! 85: PFILE = bison.simple ! 86: PFILE1 = bison.hairy ! 87: ! 88: PFILES = -DXPFILE=\"$(datadir)/$(PFILE)\" \ ! 89: -DXPFILE1=\"$(datadir)/$(PFILE1)\" ! 90: ! 91: OBJECTS = LR0.o allocate.o closure.o conflicts.o derives.o files.o \ ! 92: getargs.o gram.o lalr.o lex.o \ ! 93: main.o nullable.o output.o print.o reader.o reduce.o symtab.o \ ! 94: warshall.o version.o \ ! 95: getopt.o getopt1.o $(ALLOCA) ! 96: ! 97: all: bison bison.s1 ! 98: ! 99: Makefile: Makefile.in config.status ! 100: ./config.status ! 101: ! 102: config.status: configure ! 103: ./config.status --recheck ! 104: ! 105: configure: configure.in ! 106: cd $(srcdir); autoconf ! 107: ! 108: # Copy bison.simple, inserting directory name into the #line commands. ! 109: bison.s1: bison.simple ! 110: -rm -f bison.s1 ! 111: sed -e "/^#line/ s|bison|$(datadir)/bison|" < $(srcdir)/$(PFILE) > bison.s1 ! 112: ! 113: clean: ! 114: rm -f *.o core bison bison.s1 ! 115: ! 116: mostlyclean: clean ! 117: ! 118: distclean: clean ! 119: rm -f Makefile config.status ! 120: ! 121: realclean: distclean ! 122: rm -f TAGS *.info* ! 123: ! 124: # Most of these deps are in case using RCS. ! 125: install: all bison.1 $(srcdir)/$(PFILE) $(srcdir)/$(PFILE1) installdirs uninstall ! 126: $(INSTALL_PROGRAM) bison $(bindir)/bison ! 127: $(INSTALL_DATA) ./bison.s1 $(datadir)/$(PFILE) ! 128: $(INSTALL_DATA) $(srcdir)/$(PFILE1) $(datadir)/$(PFILE1) ! 129: -chmod a+r $(datadir)/$(PFILE) $(datadir)/$(PFILE1) ! 130: -$(INSTALL_DATA) $(srcdir)/bison.1 $(mandir)/bison.$(manext) ! 131: -chmod a+r $(mandir)/bison.$(manext) ! 132: ! 133: # cd $(srcdir); for f in bison.info*; \ ! 134: # do $(INSTALL_DATA) $$f $(infodir)/$$f; done ! 135: ! 136: # Make sure all installation directories, e.g. $(bindir) actually exist by ! 137: # making them if necessary. ! 138: installdirs: ! 139: -sh $(srcdir)/mkinstalldirs $(bindir) $(datadir) $(libdir) $(infodir) $(mandir) ! 140: ! 141: uninstall: ! 142: rm -f $(bindir)/bison ! 143: -rm -f $(datadir)/$(PFILE) $(datadir)/$(PFILE1) ! 144: rm -f $(mandir)/bison.$(manext) $(infodir)/bison.info* ! 145: ! 146: bison: $(OBJECTS) ! 147: $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS) ! 148: ! 149: dist: bison.info ! 150: echo bison-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname ! 151: -rm -rf `cat .fname` ! 152: mkdir `cat .fname` ! 153: dst=`cat .fname`; for f in $(DISTFILES); do \ ! 154: ln $(srcdir)/$$f $$dst/$$f || { echo copying $$f; cp -p $(srcdir)/$$f $$dst/$$f ; } \ ! 155: done ! 156: tar --gzip -chf `cat .fname`.tar.gz `cat .fname` ! 157: -rm -rf `cat .fname` .fname ! 158: ! 159: bison.info: bison.texinfo ! 160: $(MAKEINFO) $(srcdir)/bison.texinfo ! 161: ! 162: TAGS: *.c *.h ! 163: etags *.c *.h ! 164: ! 165: # This file is different to pass the parser file names to the compiler. ! 166: files.o: files.c ! 167: $(CC) -c $(PFILES) $(DEFS) $(CPPFLAGS) $(CFLAGS) \ ! 168: $(srcdir)/files.c $(OUTPUT_OPTION) ! 169: ! 170: LR0.o: system.h machine.h new.h gram.h state.h ! 171: closure.o: system.h machine.h new.h gram.h ! 172: conflicts.o: system.h machine.h new.h files.h gram.h state.h ! 173: derives.o: system.h new.h types.h gram.h ! 174: files.o: system.h files.h new.h gram.h ! 175: getargs.o: system.h files.h ! 176: lalr.o: system.h machine.h types.h state.h new.h gram.h ! 177: lex.o: system.h files.h symtab.h lex.h ! 178: main.o: system.h machine.h ! 179: nullable.o: system.h types.h gram.h new.h ! 180: output.o: system.h machine.h new.h files.h gram.h state.h ! 181: print.o: system.h machine.h new.h files.h gram.h state.h ! 182: reader.o: system.h files.h new.h symtab.h lex.h gram.h ! 183: reduce.o: system.h machine.h files.h new.h gram.h ! 184: symtab.o: system.h new.h symtab.h gram.h ! 185: warshall.o: system.h machine.h ! 186: ! 187: # Prevent GNU make v3 from overflowing arg limit on SysV. ! 188: .NOEXPORT:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.