150472Speter# $FreeBSD$
231900Swosch
3222273Sobrien.include <bsd.own.mk>
4222273Sobrien
553567SobrienGREP_LIBZ=YES
643805Swosch
7222273Sobrien.if ${MK_BSD_GREP} != "yes"
861SnatePROG=	grep
9222273Sobrien.else
10222273SobrienPROG=	gnugrep
11222273Sobrien.endif
12131558StjrSRCS=	closeout.c dfa.c error.c exclude.c grep.c grepmat.c hard-locale.c \
13131558Stjr	isdir.c kwset.c obstack.c quotearg.c savedir.c search.c xmalloc.c \
14131558Stjr	xstrtoumax.c
15270776SgjbCLEANFILES+=	gnugrep.1
1694Snate
17251468SjkimCFLAGS+=-I${.CURDIR} -I${DESTDIR}/usr/include/gnu -DHAVE_CONFIG_H
1853567Sobrien
19222273Sobrien.if ${MK_BSD_GREP} != "yes"
2053567SobrienLINKS+=	${BINDIR}/grep ${BINDIR}/egrep \
21130Srgrimes	${BINDIR}/grep ${BINDIR}/fgrep
2253567SobrienMLINKS=	grep.1 egrep.1 grep.1 fgrep.1
23222273Sobrien.endif
2494Snate
25125503SruDPADD=	${LIBGNUREGEX} ${LIBBZ2}
26125503SruLDADD=	-lgnuregex -lbz2
275498Sache
28222273Sobrien.if ${MK_BSD_GREP} != "yes"
29103372SobrienLINKS+=	${BINDIR}/grep ${BINDIR}/bzgrep \
30103372Sobrien	${BINDIR}/grep ${BINDIR}/bzegrep \
31103372Sobrien	${BINDIR}/grep ${BINDIR}/bzfgrep
32103372SobrienMLINKS+=grep.1 bzgrep.1 grep.1 bzegrep.1 grep.1 bzfgrep.1
33222273Sobrien.endif
34103372Sobrien
3531900Swosch.if defined(GREP_LIBZ) && !empty(GREP_LIBZ)
3653567SobrienLDADD+=	-lz
3753567SobrienDPADD+=	${LIBZ}
3853567SobrienCFLAGS+=-DHAVE_LIBZ=1
39222273Sobrien.if ${MK_BSD_GREP} != "yes"
4053567SobrienLINKS+=	${BINDIR}/grep ${BINDIR}/zgrep \
4131928Swosch	${BINDIR}/grep ${BINDIR}/zegrep \
4253567Sobrien	${BINDIR}/grep ${BINDIR}/zfgrep
4353567SobrienMLINKS+=grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1
4431900Swosch.endif
45222273Sobrien.endif
4631900Swosch
47222273Sobriengnugrep.1: grep.1
48222273Sobrien	cp ${.ALLSRC} ${.TARGET}
49222273Sobrien
5056234SruSUBDIR+=doc
5153567Sobrien
52107Sconklincheck:	all
5353567Sobrien	@failed=0; total=0; \
5453567Sobrien	for tst in ${TESTS}; do \
5553567Sobrien		total=$$(($$total+1)); \
5653571Sobrien		if GREP=${.OBJDIR}/${PROG} srcdir=${.CURDIR}/tests \
5753571Sobrien		   ${.CURDIR}/tests/$$tst; then \
5853567Sobrien			echo "PASS: $$tst"; \
5953567Sobrien		else \
6053567Sobrien			failed=$$(($$failed+1)); \
6153567Sobrien			echo "FAIL: $$tst"; \
6253567Sobrien		fi; \
6353567Sobrien	done; \
6453567Sobrien	if [ "$$failed" -eq 0 ]; then \
6553567Sobrien		echo "All $$total tests passed"; \
6653567Sobrien	else \
6753567Sobrien		echo "$$failed of $$total tests failed"; \
6853567Sobrien	fi
6994Snate
7053567SobrienTESTS=	warning.sh khadafy.sh spencer1.sh bre.sh ere.sh status.sh empty.sh \
71131558Stjr	options.sh backref.sh file.sh
7253567Sobrien
7361Snate.include <bsd.prog.mk>
74