##
##  Makefile -- Build procedure for mod_filter
##

#   the used tools
APXS=apxs
APACHECTL=apachectl
VERSION = 1.4
DISTNAME = mod_filter
DISTVNAME = $(DISTNAME)-$(VERSION)

SHELL = /bin/sh
PERL = perl
NOOP = $(SHELL) -c true
RM_RF = rm -rf
SUFFIX = .gz
COMPRESS = gzip --best
TAR  = tar
TARFLAGS = cvf
PREOP = @$(NOOP)
POSTOP = @$(NOOP)
TO_UNIX = @$(NOOP)


#   additional user defines, includes and libraries
#DEF=-Dmy_define=my_value
#INC=-Imy/include/dir
#LIB=-Lmy/lib/dir -lmylib

#   the default target
all: mod_filter.so

#   compile the DSO file
mod_filter.so: mod_filter.c
	$(APXS) -c $(DEF) $(INC) $(LIB) mod_filter.c

#   install the DSO file into the Apache installation
#   and activate it in the Apache configuration
install: all
	$(APXS) -i -a -n 'filter' mod_filter.so

#   cleanup
clean:
	-rm -f mod_filter.o mod_filter.so

#   simple test
test: reload
	lynx -mime_header http://localhost/filter

#   reload the module by installing and restarting Apache
reload: install stop start

#   the general Apache start/restart/stop procedures
start:
	$(APACHECTL) start
restart:
	$(APACHECTL) restart
stop:
	$(APACHECTL) stop

dist: version $(DISTVNAME).tar$(SUFFIX)

version:
	echo $(VERSION) > VERSION
	echo "#define VERSION \"$(VERSION)\"" > version.h

$(DISTVNAME).tar$(SUFFIX) : distdir
	$(PREOP)
	$(TO_UNIX)
	$(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)
	$(RM_RF) $(DISTVNAME)
	$(COMPRESS) $(DISTVNAME).tar
	$(POSTOP)

distdir :
# $(RM_RF) $(DISTVNAME)
	$(PERL) -MExtUtils::Manifest=manicopy,maniread \
	-e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"

push :
	if [ -F *.gz ] ; then \
		rm *.gz; \
	fi
	make dist
	scp *.gz root@www.tangent.org:/usr/local/slash/site/software.tangent.org/htdocs/download
	scp *.gz root@ftp.tangent.org:/export/ftp/pub/apache
	scp faq.html root@www.tangent.org:/usr/local/slash/site/software.tangent.org/htdocs/faqs/mod_filter.html
