# @(#) $Header: /home/daffy/u0/vern/flex/RCS/Makefile.in,v 1.26 93/12/11 10:33:54 vern Exp $ (LBL) # If your version of "make" does not define $(MAKE), comment in the # definition of "MAKE" below. (You only need to do this if you intend # to do "make bigcheck" or "make dist".) # MAKE = make # Possible values for DEFS: # # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256" # to DEFS. # # For Vax/VMS, add "-DVMS" to DEFS. # # For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for # additional info. CFLAGS = -O DEFS = @DEFS@ LDFLAGS = LIBS = @LIBS@ # Installation targeting. Files will be installed under the tree # rooted at prefix. flex will be installed in bindir, libfl.a in # libdir, FlexLexer.h will be installed in includedir, and the manual # pages will be installed in mandir with extension manext. # # Raw, unformatted troff source will be installed if INSTALLMAN=man, # nroff preformatted versions will be installed if INSTALLMAN=cat. prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin libdir = $(exec_prefix)/lib includedir = $(prefix)/include manext = 1 mandir = $(prefix)/man/man$(manext) INSTALLMAN = man SHELL = /bin/sh srcdir = @srcdir@ VPATH = @srcdir@ LN_S = @LN_S@ YACC = @YACC@ CC = @CC@ AR = ar RANLIB = @RANLIB@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ # You normally do not need to modify anything below this point. # ------------------------------------------------------------ CPPFLAGS = -I. -I$(srcdir) $(DEFS) .c.o: $(CC) -c $(CPPFLAGS) $(CFLAGS) $< HEADERS = flexdef.h version.h SOURCES = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.y \ scan.l skel.c sym.c tblcmp.c yylex.c OBJECTS = ccl.o dfa.o ecs.o gen.o main.o misc.o nfa.o parse.o \ scan.o skel.o sym.o tblcmp.o yylex.o @ALLOCA@ LIBSRCS = liballoc.c libmain.c libstring.c libyywrap.c LIBOBJS = liballoc.o libmain.o libstring.o libyywrap.o LINTSRCS = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.c \ scan.c skel.c sym.c tblcmp.c yylex.c liballoc.c libstring.c DISTFILES = README NEWS COPYING INSTALL FlexLexer.h \ configure.in Makefile.in mkskel.sh flex.skl \ $(HEADERS) $(SOURCES) $(LIBSRCS) MISC \ flex.1 flexdoc.1 \ scan.c install.sh mkinstalldirs configure DIST_NAME = flex # which "flex" to use to generate scan.c from scan.l FLEX = ./flex FLEX_FLAGS = -ist $(PERF_REPORT) COMPRESSION = PERF_REPORT = -p FLEXLIB = libfl.a all: flex flex: .bootstrap $(OBJECTS) $(FLEXLIB) $(CC) $(CFLAGS) -o flex $(LDFLAGS) $(OBJECTS) $(FLEXLIB) $(LIBS) .bootstrap: initscan.c @rm -f scan.c cp $(srcdir)/initscan.c scan.c touch .bootstrap parse.c: parse.y $(YACC) -d $(srcdir)/parse.y @sed '/extern char.*malloc/d' parse.c @rm -f y.tab.c @mv y.tab.h parse.h parse.h: parse.c scan.c: scan.l $(FLEX) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l \ | sed s,\"$(srcdir)/scan.l\",\"scan.l\", >scan.tmp mv scan.tmp scan.c scan.o: scan.c parse.h flexdef.h skel.c: flex.skl mkskel.sh $(SHELL) $(srcdir)/mkskel.sh $(srcdir)/flex.skl >skel.c main.o: main.c flexdef.h version.h ccl.o: ccl.c flexdef.h dfa.o: dfa.c flexdef.h ecs.o: ecs.c flexdef.h gen.o: gen.c flexdef.h misc.o: misc.c flexdef.h nfa.o: nfa.c flexdef.h parse.o: parse.c flexdef.h skel.o: skel.c flexdef.h sym.o: sym.c flexdef.h tblcmp.o: tblcmp.c flexdef.h yylex.o: yylex.c flexdef.h alloca.o: alloca.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -Dxmalloc=yy_flex_xmalloc alloca.c alloca.c: $(srcdir)/MISC/alloca.c @rm -f alloca.c cp $(srcdir)/MISC/alloca.c . test: check check: flex ./flex $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l \ | sed s,\"$(srcdir)/scan.l\",\"scan.l\", \ | diff scan.c - @echo "Check successful, using COMPRESSION=\"$(COMPRESSION)\"" bigcheck: rm -f scan.c ; $(MAKE) COMPRESSION="-C" check rm -f scan.c ; $(MAKE) COMPRESSION="-Ce" check rm -f scan.c ; $(MAKE) COMPRESSION="-Cm" check rm -f scan.c ; $(MAKE) COMPRESSION="-Cfea" check rm -f scan.c ; $(MAKE) COMPRESSION="-CFer" check rm -f scan.c ; $(MAKE) COMPRESSION="-l" PERF_REPORT="" check rm -f scan.c ; $(MAKE) @echo "All checks successful" $(FLEXLIB): $(LIBOBJS) $(AR) cru $(FLEXLIB) $(LIBOBJS) -$(RANLIB) $(FLEXLIB) flex.man: flex.1 cd $(srcdir); nroff -man flex.1 >flex.man flexdoc.man: flexdoc.1 cd $(srcdir); nroff -man flexdoc.1 >flexdoc.man install: flex $(FLEXLIB) installdirs install.$(INSTALLMAN) $(INSTALL_PROGRAM) flex $(bindir)/flex @rm -f $(bindir)/flex++ cd $(bindir); $(LN_S) flex flex++ $(INSTALL_DATA) $(FLEXLIB) $(libdir)/libfl.a -cd $(libdir); $(RANLIB) libfl.a $(INSTALL_DATA) $(srcdir)/FlexLexer.h $(includedir)/FlexLexer.h install.man: flex.1 flexdoc.1 $(INSTALL_DATA) $(srcdir)/flex.1 $(mandir)/flex.$(manext) $(INSTALL_DATA) $(srcdir)/flexdoc.1 $(mandir)/flexdoc.$(manext) install.cat: flex.man flexdoc.man $(INSTALL_DATA) $(srcdir)/flex.man $(mandir)/flex.$(manext) $(INSTALL_DATA) $(srcdir)/flexdoc.man $(mandir)/flexdoc.$(manext) installdirs: $(SHELL) $(srcdir)/mkinstalldirs \ $(bindir) $(libdir) $(includedir) $(mandir) uninstall: rm -f $(bindir)/flex $(bindir)/flex++ rm -f $(libdir)/libfl.a rm -f $(includedir)/FlexLexer.h rm -f $(mandir)/flex.$(manext) $(mandir)/flexdoc.$(manext) tags: $(SOURCES) ctags $(SOURCES) TAGS: $(SOURCES) etags $(SOURCES) lint: $(LINTSRCS) lint -Dconst= $(LINTSRCS) > flex.lint gcc-lint: $(LINTSRCS) gcc -Dlint -Wall $(LINTSRCS) >flex.gcc-lint 2>&1 mostlyclean: rm -f *~ a.out *.bak core errs scan.tmp clean: mostlyclean rm -f parse.c parse.h *.o alloca.c *.lint lex.yy.c lex.yy.cc $(FLEXLIB) distclean: clean rm -f .bootstrap flex scan.c tags TAGS Makefile config.status realclean: distclean rm -f flex.man flexdoc.man flex*.tar.gz flex*.tar.Z dist: flex $(DISTFILES) $(MAKE) DIST_NAME=flex-`sed $(DIST_NAME).tar.Z gzip <$(DIST_NAME).tar >$(DIST_NAME).tar.gz @rm $(DIST_NAME).tar Makefile: Makefile.in config.status $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck configure: configure.in cd $(srcdir); autoconf # Prevent GNU make v3 from overflowing arg limit on SysV. .NOEXPORT: