Home | History | Annotate | Line # | Download | only in httpd
Makefile revision 1.33
      1 #	$NetBSD: Makefile,v 1.33 2024/10/04 08:45:46 rillig Exp $
      2 #
      3 #	$eterna: Makefile,v 1.30 2010/07/11 00:34:27 mrg Exp $
      4 #
      5 # berkeley (netbsd) makefile.  see Makefile.boot for other systems.
      6 
      7 # compile-time options are:
      8 #	NO_DEBUG		/* don't include debugging support */
      9 #	NO_USER_SUPPORT		/* don't support /~user requests */
     10 #	NO_CGIBIN_SUPPORT	/* don't support cgi-bin requests */
     11 #	NO_DIRINDEX_SUPPORT	/* don't support directory indexing */
     12 #	NO_DAEMON_MODE		/* don't support daemon mode */
     13 #	NO_DYNAMIC_CONTENT	/* don't support dynamic content updates */
     14 #	NO_SSL_SUPPORT		/* don't support ssl (https) */
     15 #	DO_HTPASSWD		/* support .htpasswd files */
     16 #	NO_LUA_SUPPORT		/* don't support Lua for dynamic content */
     17 #	NO_BLOCKLIST_SUPPORT	/* don't support blocklist */
     18 #
     19 # other system specific defines:
     20 #	HAVE_NBUTIL_H		/* netbsd compat is in <nbutil.h>
     21 #				(don't forget to also enable -lnbutil)
     22 #
     23 # these are usually set via the "COPTS" variable, or some other method
     24 # for setting CFLAGS relevant to your make, eg
     25 #   % make COPTS="-DDO_HTPASSWD"
     26 
     27 COPTS+=	-DDO_HTPASSWD
     28 PROG=	bozohttpd
     29 LINKS=	${BINDIR}/bozohttpd ${BINDIR}/httpd
     30 MAN=	bozohttpd.8
     31 MLINKS+=bozohttpd.8 httpd.8
     32 SRCS=	bozohttpd.c ssl-bozo.c auth-bozo.c cgi-bozo.c daemon-bozo.c \
     33 	tilde-luzah-bozo.c dir-index-bozo.c content-bozo.c lua-bozo.c
     34 SRCS+=	main.c
     35 
     36 COPTS.ssl-bozo.c+=-Wno-error=deprecated-declarations
     37 
     38 LDADD=	-lblocklist -lcrypt -llua -lm
     39 DPADD=	${LIBBLOCKLIST} ${LIBCRYPT} ${LIBLUA} ${LIBM}
     40 
     41 WARNS?=	4
     42 LINTFLAGS+=	-X 161	# constant in conditional context
     43 LINTFLAGS+=	-X 193	# statement not reached
     44 LINTFLAGS+=	-X 239	# constant operand to '!'
     45 
     46 .if defined(.OS.MAKE)
     47 OPSYS=	${.OS.MAKE}
     48 .else
     49 OPSYS:=	${:!uname -s!:S/-//g:S/\///g}
     50 .endif
     51 
     52 .if ${OPSYS} == "QNX"
     53 CPPFLAGS+=	-DHAVE_NBUTIL_H
     54 LDADD+=		-lnbutil
     55 .endif
     56 
     57 LDADD+=	-lssl -lcrypto
     58 DPADD+=	${LIBSSL} ${LIBCRYPTO}
     59 
     60 #
     61 # Build release things.
     62 #
     63 NROFF?=		nroff
     64 
     65 PREHTMLFROB=	sed \
     66 		    -e 's/&/\&amp;/' \
     67 		    -e 's/</\&lt;/' \
     68 		    -e 's/>/\&gt;/'
     69 
     70 HTMLFROB=	sed \
     71 		    -e 's/\([MC] "[^"]*\)<dd>$$/\1<b>"<\/b><dd>/' \
     72 		    -e 's/'"''"'/\&rdquo;/' \
     73 		    -e 's/""/\&ldquo;/' \
     74 		    -e 's/<a href="\.\.\/html[^>]*>\(.*\)<\/a>/\1/'
     75 
     76 TXTFROB=	col -b
     77 
     78 bozohttpd.8.html: bozohttpd.8
     79 	$(PREHTMLFROB) $> | $(NROFF) -mdoc2html | $(HTMLFROB) > $@
     80 
     81 bozohttpd.8.txt: bozohttpd.8
     82 	$(NROFF) -mdoc -Tascii $> | $(TXTFROB) > $@
     83 
     84 CLEANFILES+=	bozohttpd.8.html bozohttpd.8.txt
     85 
     86 check:
     87 	cd ${.CURDIR}/testsuite && ${MAKE} check
     88 
     89 .if empty(BOZOVER)
     90 BOZOVER!=	sed -n \
     91 		    -e s/\"$$// -e \
     92 		    's/\#define[ 	]*SERVER_SOFTWARE[ 	]*\"bozohttpd\///p'  ${.PARSEDIR}/bozohttpd.c
     93 .endif
     94 
     95 # Create a distfile: uses /tmp
     96 BASE=bozohttpd-${BOZOVER}
     97 TAR=${BASE}.tar
     98 export-distfile:
     99 	dir=`mktemp -d /tmp/bozo-export-XXXXXX`; \
    100 	cd "$${dir}" || exit; \
    101 	mkdir ${BASE}; \
    102 	( cd ${BASE} || exit; \
    103 	  cp -r "${.CURDIR}/." "."; \
    104 	  find . -name .CVS | xargs rm -r; \
    105 	); \
    106 	pax -wf ${TAR} ${BASE}; \
    107 	gzip -nc9 ${TAR} > ${TAR}.gz; \
    108 	bzip2 -9 ${TAR}; \
    109 	echo "Exported two files in $${dir}:"; \
    110 	echo ${TAR}.gz; \
    111 	echo ${TAR}.bz2
    112 
    113 .include <bsd.prog.mk>
    114