Makefile revision 1.30
11.30Smrg#	$NetBSD: Makefile,v 1.30 2021/02/28 02:39:15 mrg 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.29SjruohoLDADD=	-lblocklist -lcrypt -llua -lm
371.29SjruohoDPADD=	${LIBBLOCKLIST} ${LIBCRYPT} ${LIBLUA} ${LIBM}
381.5Smrg
391.11SmrgWARNS?=	4
401.11Smrg
411.24Smrg.if defined(.OS.MAKE)
421.24SmrgOPSYS=	${.OS.MAKE}
431.24Smrg.else
441.24SmrgOPSYS:=	${:!uname -s!:S/-//g:S/\///g}
451.24Smrg.endif
461.24Smrg
471.24Smrg.if ${OPSYS} == "QNX"
481.24SmrgCPPFLAGS+=	-DHAVE_NBUTIL_H
491.24SmrgLDADD+=		-lnbutil
501.24Smrg.endif
511.24Smrg
521.5SmrgLDADD+=	-lssl -lcrypto
531.5SmrgDPADD+=	${LIBSSL} ${LIBCRYPTO}
541.5Smrg
551.13Smrg#
561.13Smrg# Build release things.
571.13Smrg#
581.13SmrgNROFF?=		nroff
591.15Smbalmer
601.13SmrgPREHTMLFROB=	sed \
611.13Smrg		    -e 's/&/\&amp;/' \
621.13Smrg		    -e 's/</\&lt;/' \
631.13Smrg		    -e 's/>/\&gt;/'
641.13Smrg
651.13SmrgHTMLFROB=	sed \
661.13Smrg		    -e 's/\([MC] "[^"]*\)<dd>$$/\1<b>"<\/b><dd>/' \
671.13Smrg		    -e 's/'"''"'/\&rdquo;/' \
681.13Smrg		    -e 's/""/\&ldquo;/' \
691.13Smrg		    -e 's/<a href="\.\.\/html[^>]*>\(.*\)<\/a>/\1/'
701.13Smrg
711.13SmrgTXTFROB=	col -b
721.13Smrg
731.13Smrgbozohttpd.8.html: bozohttpd.8
741.13Smrg	$(PREHTMLFROB) $> | $(NROFF) -mdoc2html | $(HTMLFROB) > $@
751.15Smbalmer
761.13Smrgbozohttpd.8.txt: bozohttpd.8
771.13Smrg	$(NROFF) -mdoc -Tascii $> | $(TXTFROB) > $@
781.13Smrg
791.13SmrgCLEANFILES+=	bozohttpd.8.html bozohttpd.8.txt
801.13Smrg
811.28Smrgcheck:
821.28Smrg	cd ${.CURDIR}/testsuite && ${MAKE} check
831.28Smrg
841.30Smrg.if empty(BOZOVER)
851.30SmrgBOZOVER!=	sed -n \
861.30Smrg		    -e s/\"$$// -e \
871.30Smrg		    's/\#define[ 	]*SERVER_SOFTWARE[ 	]*\"bozohttpd\///p'  bozohttpd.c
881.30Smrg.endif
891.30Smrg
901.14Smrg# Create a distfile: uses /tmp
911.14SmrgBASE=bozohttpd-${BOZOVER}
921.14SmrgTAR=${BASE}.tar
931.14Smrgexport-distfile:
941.14Smrg	dir=`mktemp -d /tmp/bozo-export-XXXXXX`; \
951.14Smrg	cd "$${dir}" || exit; \
961.14Smrg	mkdir ${BASE}; \
971.14Smrg	( cd ${BASE} || exit; \
981.14Smrg	  cp -r "${.CURDIR}/." "."; \
991.14Smrg	  find . -name .CVS | xargs rm -r; \
1001.14Smrg	); \
1011.14Smrg	pax -wf ${TAR} ${BASE}; \
1021.20Smrg	gzip -nc9 ${TAR} > ${TAR}.gz; \
1031.22Smrg	bzip2 -9 ${TAR}; \
1041.22Smrg	echo "Exported two files in $${dir}:"; \
1051.22Smrg	echo ${TAR}.gz; \
1061.22Smrg	echo ${TAR}.bz2
1071.14Smrg
1081.1Stls.include <bsd.prog.mk>
109