1*78e0157aSrillig# $NetBSD: Makefile,v 1.33 2024/10/04 08:45:46 rillig Exp $ 260dbe745Stls# 3df5be573Smrg# $eterna: Makefile,v 1.30 2010/07/11 00:34:27 mrg Exp $ 4ce206308Smrg# 5ce206308Smrg# berkeley (netbsd) makefile. see Makefile.boot for other systems. 660dbe745Stls 760dbe745Stls# compile-time options are: 8df5be573Smrg# NO_DEBUG /* don't include debugging support */ 960dbe745Stls# NO_USER_SUPPORT /* don't support /~user requests */ 1060dbe745Stls# NO_CGIBIN_SUPPORT /* don't support cgi-bin requests */ 1160dbe745Stls# NO_DIRINDEX_SUPPORT /* don't support directory indexing */ 1260dbe745Stls# NO_DAEMON_MODE /* don't support daemon mode */ 1360dbe745Stls# NO_DYNAMIC_CONTENT /* don't support dynamic content updates */ 1460dbe745Stls# NO_SSL_SUPPORT /* don't support ssl (https) */ 1560dbe745Stls# DO_HTPASSWD /* support .htpasswd files */ 16cb23152cSmbalmer# NO_LUA_SUPPORT /* don't support Lua for dynamic content */ 17c0b4b2d2Sjruoho# NO_BLOCKLIST_SUPPORT /* don't support blocklist */ 18df5be573Smrg# 19e8204d05Smrg# other system specific defines: 20e8204d05Smrg# HAVE_NBUTIL_H /* netbsd compat is in <nbutil.h> 21e8204d05Smrg# (don't forget to also enable -lnbutil) 22e8204d05Smrg# 23df5be573Smrg# these are usually set via the "COPTS" variable, or some other method 24df5be573Smrg# for setting CFLAGS relevant to your make, eg 25df5be573Smrg# % make COPTS="-DDO_HTPASSWD" 26df5be573Smrg 27dbfaed23SreedCOPTS+= -DDO_HTPASSWD 281d0520b6SmrgPROG= bozohttpd 291d0520b6SmrgLINKS= ${BINDIR}/bozohttpd ${BINDIR}/httpd 301d0520b6SmrgMAN= bozohttpd.8 311d0520b6SmrgMLINKS+=bozohttpd.8 httpd.8 3260dbe745StlsSRCS= bozohttpd.c ssl-bozo.c auth-bozo.c cgi-bozo.c daemon-bozo.c \ 33cb23152cSmbalmer tilde-luzah-bozo.c dir-index-bozo.c content-bozo.c lua-bozo.c 34ce206308SmrgSRCS+= main.c 3560dbe745Stls 36bbe2f6f7SchristosCOPTS.ssl-bozo.c+=-Wno-error=deprecated-declarations 37bbe2f6f7Schristos 38c0b4b2d2SjruohoLDADD= -lblocklist -lcrypt -llua -lm 39c0b4b2d2SjruohoDPADD= ${LIBBLOCKLIST} ${LIBCRYPT} ${LIBLUA} ${LIBM} 40e972654dSmrg 41ce206308SmrgWARNS?= 4 42*78e0157aSrilligLINTFLAGS+= -X 161 # constant in conditional context 43*78e0157aSrilligLINTFLAGS+= -X 193 # statement not reached 44*78e0157aSrilligLINTFLAGS+= -X 239 # constant operand to '!' 45ce206308Smrg 46e8204d05Smrg.if defined(.OS.MAKE) 47e8204d05SmrgOPSYS= ${.OS.MAKE} 48e8204d05Smrg.else 49e8204d05SmrgOPSYS:= ${:!uname -s!:S/-//g:S/\///g} 50e8204d05Smrg.endif 51e8204d05Smrg 52e8204d05Smrg.if ${OPSYS} == "QNX" 53e8204d05SmrgCPPFLAGS+= -DHAVE_NBUTIL_H 54e8204d05SmrgLDADD+= -lnbutil 55e8204d05Smrg.endif 56e8204d05Smrg 57e972654dSmrgLDADD+= -lssl -lcrypto 58e972654dSmrgDPADD+= ${LIBSSL} ${LIBCRYPTO} 59e972654dSmrg 60dbf68b5fSmrg# 61dbf68b5fSmrg# Build release things. 62dbf68b5fSmrg# 63dbf68b5fSmrgNROFF?= nroff 64dbf68b5fSmrg 65dbf68b5fSmrgPREHTMLFROB= sed \ 66dbf68b5fSmrg -e 's/&/\&/' \ 67dbf68b5fSmrg -e 's/</\</' \ 68dbf68b5fSmrg -e 's/>/\>/' 69dbf68b5fSmrg 70dbf68b5fSmrgHTMLFROB= sed \ 71dbf68b5fSmrg -e 's/\([MC] "[^"]*\)<dd>$$/\1<b>"<\/b><dd>/' \ 72dbf68b5fSmrg -e 's/'"''"'/\”/' \ 73dbf68b5fSmrg -e 's/""/\“/' \ 74dbf68b5fSmrg -e 's/<a href="\.\.\/html[^>]*>\(.*\)<\/a>/\1/' 75dbf68b5fSmrg 76dbf68b5fSmrgTXTFROB= col -b 77dbf68b5fSmrg 78dbf68b5fSmrgbozohttpd.8.html: bozohttpd.8 79dbf68b5fSmrg $(PREHTMLFROB) $> | $(NROFF) -mdoc2html | $(HTMLFROB) > $@ 80dbf68b5fSmrg 81dbf68b5fSmrgbozohttpd.8.txt: bozohttpd.8 82dbf68b5fSmrg $(NROFF) -mdoc -Tascii $> | $(TXTFROB) > $@ 83dbf68b5fSmrg 84dbf68b5fSmrgCLEANFILES+= bozohttpd.8.html bozohttpd.8.txt 85dbf68b5fSmrg 86d1eeb824Smrgcheck: 87d1eeb824Smrg cd ${.CURDIR}/testsuite && ${MAKE} check 88d1eeb824Smrg 893803a1bfSmrg.if empty(BOZOVER) 903803a1bfSmrgBOZOVER!= sed -n \ 913803a1bfSmrg -e s/\"$$// -e \ 927ddfa614Smrg 's/\#define[ ]*SERVER_SOFTWARE[ ]*\"bozohttpd\///p' ${.PARSEDIR}/bozohttpd.c 933803a1bfSmrg.endif 943803a1bfSmrg 951a1e3035Smrg# Create a distfile: uses /tmp 961a1e3035SmrgBASE=bozohttpd-${BOZOVER} 971a1e3035SmrgTAR=${BASE}.tar 981a1e3035Smrgexport-distfile: 991a1e3035Smrg dir=`mktemp -d /tmp/bozo-export-XXXXXX`; \ 1001a1e3035Smrg cd "$${dir}" || exit; \ 1011a1e3035Smrg mkdir ${BASE}; \ 1021a1e3035Smrg ( cd ${BASE} || exit; \ 1031a1e3035Smrg cp -r "${.CURDIR}/." "."; \ 1041a1e3035Smrg find . -name .CVS | xargs rm -r; \ 1051a1e3035Smrg ); \ 1061a1e3035Smrg pax -wf ${TAR} ${BASE}; \ 1077f3f4479Smrg gzip -nc9 ${TAR} > ${TAR}.gz; \ 108681e9c9bSmrg bzip2 -9 ${TAR}; \ 109681e9c9bSmrg echo "Exported two files in $${dir}:"; \ 110681e9c9bSmrg echo ${TAR}.gz; \ 111681e9c9bSmrg echo ${TAR}.bz2 1121a1e3035Smrg 11360dbe745Stls.include <bsd.prog.mk> 114