xref: /freebsd/usr.bin/lex/Makefile (revision d5a53b4fe61b9c87bf58dfed9e1542e165ceceea)
1c3aac50fSPeter Wemm# $FreeBSD$
28387c24dSGeoff Rehmet#
38387c24dSGeoff Rehmet# By default, flex will be configured to generate 8-bit scanners only if the
48387c24dSGeoff Rehmet# -8 flag is given.  If you want it to always generate 8-bit scanners, add
58387c24dSGeoff Rehmet# "-DDEFAULT_CSIZE=256" to CFLAGS.  Note that doing so will double the size
68387c24dSGeoff Rehmet# of all uncompressed scanners.
78387c24dSGeoff Rehmet#
88387c24dSGeoff Rehmet# Bootstrapping of lex is handled automatically.
9c5e63f9aSGeoff Rehmet# Also note that flex.skel no longer gets installed.
108387c24dSGeoff Rehmet#
118387c24dSGeoff Rehmet
128387c24dSGeoff RehmetPROG=		lex
135ff3832bSPeter WemmLINKS+=	${BINDIR}/lex ${BINDIR}/lex++
145ff3832bSPeter WemmLINKS+=	${BINDIR}/lex ${BINDIR}/flex
155ff3832bSPeter WemmLINKS+=	${BINDIR}/lex ${BINDIR}/flex++
168387c24dSGeoff Rehmet
171b1ddfa5SBruce EvansSRCS=		scan.c ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.y \
188387c24dSGeoff Rehmet		skel.c sym.c tblcmp.c yylex.c
198387c24dSGeoff RehmetLFLAGS+=	-is
208387c24dSGeoff RehmetCFLAGS+=	-I. -I${.CURDIR}
21693e5997SNate WilliamsMAN1=		lex.1
225ff3832bSPeter WemmMLINKS+=	lex.1 flex.1
235ff3832bSPeter WemmMLINKS+=	lex.1 flex++.1
245ff3832bSPeter WemmMLINKS+=	lex.1 lex++.1
258387c24dSGeoff Rehmet
26d5a53b4fSDmitrij TejblumCLEANFILES=	scan.c skel.c
278387c24dSGeoff Rehmet
282f155942SPeter Wemm.if !defined(NOLIB)
298387c24dSGeoff RehmetSUBDIR=		lib
302f155942SPeter Wemm.endif
318387c24dSGeoff Rehmet
32d5a53b4fSDmitrij Tejblumskel.c: mkskel.sh flex.skl
33d5a53b4fSDmitrij Tejblum	sh ${.CURDIR}/mkskel.sh ${.CURDIR}/flex.skl > skel.c
34d5a53b4fSDmitrij Tejblum
355ff3832bSPeter Wemmbeforeinstall:
365ff3832bSPeter Wemm	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 644 \
375ff3832bSPeter Wemm		${.CURDIR}/FlexLexer.h ${DESTDIR}/usr/include/g++
385ff3832bSPeter Wemm
39693e5997SNate Williamsbootstrap: initscan.c
4025c04ed2SPeter Wemm	@cmp -s ${.CURDIR}/initscan.c scan.c || { \
4125c04ed2SPeter Wemm		echo "Bootstrapping flex" ; \
4225c04ed2SPeter Wemm		rm -f scan.c ; \
4325c04ed2SPeter Wemm		cp -f ${.CURDIR}/initscan.c scan.c ; \
4425c04ed2SPeter Wemm	}
45693e5997SNate Williams
468387c24dSGeoff Rehmettest: check
478387c24dSGeoff Rehmetcheck: $(PROG)
488387c24dSGeoff Rehmet	./$(PROG) $(LFLAGS) -t $(COMPRESSION) $(.CURDIR)/scan.l \
498387c24dSGeoff Rehmet	| sed s,\"$(.CURDIR)/scan.l",\"scan.l", \
508387c24dSGeoff Rehmet	| diff $(.CURDIR)/initscan.c -
518387c24dSGeoff Rehmet	@echo "Check successful"
528387c24dSGeoff Rehmet
538387c24dSGeoff Rehmet.include <bsd.prog.mk>
54