1# $Id$ 2# 3# By default, flex will be configured to generate 8-bit scanners only if the 4# -8 flag is given. If you want it to always generate 8-bit scanners, add 5# "-DDEFAULT_CSIZE=256" to CFLAGS. Note that doing so will double the size 6# of all uncompressed scanners. 7# 8# Bootstrapping of lex is handled automatically. 9# ALso note that flex.skel no longer gets installed. 10# 11# XXX Todo: 12# Install as lex++, and install FlexLexer.h 13 14PROG= lex 15LINKS= ${BINDIR}/lex ${BINDIR}/flex 16#LINKS+= ${BINDIR}/lex ${BINDIR}/lex++ ${BINDIR}/flex ${BINDIR}/flex++ 17 18SRCS= ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.y \ 19 skel.c sym.c tblcmp.c yylex.c 20OBJS+= scan.o 21LFLAGS+= -is 22CFLAGS+= -I. -I${.CURDIR} 23MAN1= flex.1 flexdoc.1 24MLINKS= flex.1 lex.1 flexdoc.1 lexdoc.1 25 26CLEANFILES+= parse.c parse.h scan.c y.tab.h 27 28 29SUBDIR= lib 30 31.depend: parse.h 32 33parse.c parse.h: parse.y 34 $(YACC) -d $(.CURDIR)/parse.y 35 mv y.tab.c parse.c 36 mv y.tab.h parse.h 37 38.if exists(/usr/bin/lex) 39scan.o: parse.c 40.else 41# We must bootstrap 42scan.o: scan.c parse.h 43 44scan.c: 45 @echo "Bootstrapping flex" 46 @rm -f scan.c 47 @cp -pf ${.CURDIR}/initscan.c scan.c 48.endif 49 50test: check 51check: $(PROG) 52 ./$(PROG) $(LFLAGS) -t $(COMPRESSION) $(.CURDIR)/scan.l \ 53 | sed s,\"$(.CURDIR)/scan.l",\"scan.l", \ 54 | diff $(.CURDIR)/initscan.c - 55 @echo "Check successful" 56 57.include <bsd.prog.mk> 58