11.37Sriastrad#	$NetBSD: Makefile,v 1.37 2025/10/19 00:59:59 riastradh Exp $
21.2Stls#
31.12Smrg#	$eterna: Makefile,v 1.30 2010/07/11 00:34:27 mrg Exp $
41.11Smrg#
51.11Smrg# berkeley (netbsd) makefile.  see Makefile.boot for other systems.
61.1Stls
71.1Stls# compile-time options are:
81.12Smrg#	NO_DEBUG		/* don't include debugging support */
91.1Stls#	NO_USER_SUPPORT		/* don't support /~user requests */
101.1Stls#	NO_CGIBIN_SUPPORT	/* don't support cgi-bin requests */
111.1Stls#	NO_DIRINDEX_SUPPORT	/* don't support directory indexing */
121.1Stls#	NO_DAEMON_MODE		/* don't support daemon mode */
131.1Stls#	NO_DYNAMIC_CONTENT	/* don't support dynamic content updates */
141.1Stls#	NO_SSL_SUPPORT		/* don't support ssl (https) */
151.1Stls#	DO_HTPASSWD		/* support .htpasswd files */
161.16Smbalmer#	NO_LUA_SUPPORT		/* don't support Lua for dynamic content */
171.29Sjruoho#	NO_BLOCKLIST_SUPPORT	/* don't support blocklist */
181.12Smrg#
191.24Smrg# other system specific defines:
201.24Smrg#	HAVE_NBUTIL_H		/* netbsd compat is in <nbutil.h>
211.24Smrg#				(don't forget to also enable -lnbutil)
221.24Smrg#
231.12Smrg# these are usually set via the "COPTS" variable, or some other method
241.12Smrg# for setting CFLAGS relevant to your make, eg
251.12Smrg#   % make COPTS="-DDO_HTPASSWD"
261.12Smrg
271.3SreedCOPTS+=	-DDO_HTPASSWD
281.23SmrgPROG=	bozohttpd
291.23SmrgLINKS=	${BINDIR}/bozohttpd ${BINDIR}/httpd
301.23SmrgMAN=	bozohttpd.8
311.23SmrgMLINKS+=bozohttpd.8 httpd.8
321.1StlsSRCS=	bozohttpd.c ssl-bozo.c auth-bozo.c cgi-bozo.c daemon-bozo.c \
331.16Smbalmer	tilde-luzah-bozo.c dir-index-bozo.c content-bozo.c lua-bozo.c
341.11SmrgSRCS+=	main.c
351.1Stls
361.32SchristosCOPTS.ssl-bozo.c+=-Wno-error=deprecated-declarations
371.32Schristos
381.29SjruohoLDADD=	-lblocklist -lcrypt -llua -lm
391.29SjruohoDPADD=	${LIBBLOCKLIST} ${LIBCRYPT} ${LIBLUA} ${LIBM}
401.5Smrg
411.11SmrgWARNS?=	4
421.33SrilligLINTFLAGS+=	-X 193	# statement not reached
431.11Smrg
441.24Smrg.if defined(.OS.MAKE)
451.24SmrgOPSYS=	${.OS.MAKE}
461.24Smrg.else
471.24SmrgOPSYS:=	${:!uname -s!:S/-//g:S/\///g}
481.24Smrg.endif
491.24Smrg
501.24Smrg.if ${OPSYS} == "QNX"
511.24SmrgCPPFLAGS+=	-DHAVE_NBUTIL_H
521.24SmrgLDADD+=		-lnbutil
531.24Smrg.endif
541.24Smrg
551.37SriastradLDADD+=	-lssl -lcrypto
561.37SriastradDPADD+=	${LIBSSL} ${LIBCRYPTO}
571.5Smrg
581.13Smrg#
591.13Smrg# Build release things.
601.13Smrg#
611.13SmrgNROFF?=		nroff
621.15Smbalmer
631.13SmrgPREHTMLFROB=	sed \
641.13Smrg		    -e 's/&/\&amp;/' \
651.13Smrg		    -e 's/</\&lt;/' \
661.13Smrg		    -e 's/>/\&gt;/'
671.13Smrg
681.13SmrgHTMLFROB=	sed \
691.13Smrg		    -e 's/\([MC] "[^"]*\)<dd>$$/\1<b>"<\/b><dd>/' \
701.13Smrg		    -e 's/'"''"'/\&rdquo;/' \
711.13Smrg		    -e 's/""/\&ldquo;/' \
721.13Smrg		    -e 's/<a href="\.\.\/html[^>]*>\(.*\)<\/a>/\1/'
731.13Smrg
741.13SmrgTXTFROB=	col -b
751.13Smrg
761.13Smrgbozohttpd.8.html: bozohttpd.8
771.13Smrg	$(PREHTMLFROB) $> | $(NROFF) -mdoc2html | $(HTMLFROB) > $@
781.15Smbalmer
791.13Smrgbozohttpd.8.txt: bozohttpd.8
801.13Smrg	$(NROFF) -mdoc -Tascii $> | $(TXTFROB) > $@
811.13Smrg
821.13SmrgCLEANFILES+=	bozohttpd.8.html bozohttpd.8.txt
831.13Smrg
841.28Smrgcheck:
851.28Smrg	cd ${.CURDIR}/testsuite && ${MAKE} check
861.28Smrg
871.30Smrg.if empty(BOZOVER)
881.30SmrgBOZOVER!=	sed -n \
891.30Smrg		    -e s/\"$$// -e \
901.31Smrg		    's/\#define[ 	]*SERVER_SOFTWARE[ 	]*\"bozohttpd\///p'  ${.PARSEDIR}/bozohttpd.c
911.30Smrg.endif
921.30Smrg
931.14Smrg# Create a distfile: uses /tmp
941.14SmrgBASE=bozohttpd-${BOZOVER}
951.14SmrgTAR=${BASE}.tar
961.14Smrgexport-distfile:
971.14Smrg	dir=`mktemp -d /tmp/bozo-export-XXXXXX`; \
981.14Smrg	cd "$${dir}" || exit; \
991.14Smrg	mkdir ${BASE}; \
1001.14Smrg	( cd ${BASE} || exit; \
1011.14Smrg	  cp -r "${.CURDIR}/." "."; \
1021.14Smrg	  find . -name .CVS | xargs rm -r; \
1031.14Smrg	); \
1041.14Smrg	pax -wf ${TAR} ${BASE}; \
1051.20Smrg	gzip -nc9 ${TAR} > ${TAR}.gz; \
1061.22Smrg	bzip2 -9 ${TAR}; \
1071.22Smrg	echo "Exported two files in $${dir}:"; \
1081.22Smrg	echo ${TAR}.gz; \
1091.22Smrg	echo ${TAR}.bz2
1101.14Smrg
1111.1Stls.include <bsd.prog.mk>
112