+
+#############################################################################
+# Set make command correctly
+#############################################################################
+@SET_MAKE@
+
+#############################################################################
+# Version number (for RPM)
+#############################################################################
+
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MINOR = @VERSION_MINOR@
+VERSION_POINT = @VERSION_POINT@
+CODE_STATUS = @CODE_STATUS@
+VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT)
+RPM_VERSION = $(VERSION)
+
+
+#############################################################################
+# Directories for "make install"
+#############################################################################
+
+DEST = @prefix@
+CONFDEST = @prefix@@sysconfdir@
+SBIN_DEST = @prefix@@sbindir@
+MAN_DEST = @prefix@@mandir@
+DOK_WEB_USEM=doc/webserver/user-manual
+
+#############################################################################
+# Build tools
+#############################################################################
+
+PROGRAM = privoxy@EXEEXT@
+CC = @CC@
+ECHO = echo
+GZIP_PROG = gzip
+#INSTALL = cp -f
+INSTALL = @INSTALL@
+INSTALL_P = -m 0750 -g @GROUP@ -o @USER@ -b
+INSTALL_T = -m 0640 -g @GROUP@ -o @USER@ -b
+INSTALL_D = -m 0750 -g @GROUP@ -o @USER@ -d
+LD = @CC@
+RM = rm -f
+STRIP_PROG = strip
+SED = sed
+CAT = cat
+RPM = rpm
+MV = mv
+TAR = tar
+LN = ln
+WDUMP = @WDUMP@ -dump
+JADECAT = @JADECAT@
+JADEBIN = @JADEBIN@
+DB = $(JADEBIN) $(JADECAT) -ihtml -t sgml -D.. -d ldpOK.dsl\#html
+DB2HTML = @DB2HTML@
+DKPREFIX = @DKPREFIX@
+MAN2HTML = @MAN2HTML@
+G2H_CMD = groff -mandoc -Thtml
+TARGET_OS = @host@
+PERL = perl
+
+#User Group paras
+USER = @USER@
+GROUP = @GROUP@
+
+# Program to do LF->CRLF
+#
+# The sed version should be the most portable, but it doesn't for for me,
+# the other two do. FIXME.
+# - Jon
+#DOSFILTER = $(SED) -e $$'s,$$,\r,'
+#DOSFILTER = gawk -v ORS='\r\n' '{print $0;}'
+DOSFILTER = $(PERL) -p -e 's/\n/\r\n/'
+
+#############################################################################
+# Setup for make distribution rh and suse for now
+#############################################################################
+
+TAR_ARCH = /tmp/privoxy-$(RPM_VERSION).tar.gz
+RPM_BASE = @RPM_BASE@
+
+#############################################################################
+# We include these files in our distributions
+#############################################################################
+# take care that no CVS .cvsignore or other crappy files
+# are included here
+# and escape every '#' in the find. doh.
+CONFIG_FILES = config trust \
+ default.action \
+ basic.action intermediate.action advanced.action \
+ default.filter \
+ `find templates/ -type f | grep -v "CVS" | grep -v "\.\#" | grep -v ".*~" | grep -v ".cvsignore" | grep -v "TAGS"`
+
+DOC_FILES = AUTHORS LICENSE README ChangeLog \
+ `find doc/text/ -type f | grep -v "CVS" | grep -v "\.\#" | grep -v ".*~" | grep -v ".cvsignore" | grep -v "TAGS"` \
+ `find doc/webserver/ -name "*.html"` \
+ `find doc/webserver/ -name "*.css"` \
+ privoxy.1
+
+#############################################################################
+# Filenames and libraries
+#############################################################################
+
+C_SRC = actions.c cgi.c cgiedit.c cgisimple.c deanimate.c encode.c \
+ errlog.c filters.c gateway.c jbsockets.c jcc.c killpopup.c \
+ list.c loadcfg.c loaders.c miscutil.c parsers.c ssplit.c \
+ urlmatch.c
+
+C_OBJS = $(C_SRC:.c=.@OBJEXT@)
+C_HDRS = $(C_SRC:.c=.h) project.h actionlist.h
+
+W32_SRC = @WIN_ONLY@w32log.c w32taskbar.c win32.c
+W32_FILES = @WIN_ONLY@w32.res
+W32_OBJS = @WIN_ONLY@$(W32_SRC:.c=.@OBJEXT@) $(W32_FILES)
+W32_HDRS = @WIN_ONLY@w32log.h w32taskbar.h win32.h w32res.h
+W32_LIB = @WIN_ONLY@-lwsock32 -lcomctl32
+W32_INIS = @WIN_ONLY@config.txt trust.txt
+
+PCRS_SRC = @STATIC_PCRS_ONLY@pcrs.c
+PCRS_OBJS = @STATIC_PCRS_ONLY@$(PCRS_SRC:.c=.@OBJEXT@)
+PCRS_HDRS = @STATIC_PCRS_ONLY@$(PCRS_SRC:.c=.h)
+
+PCRE_SRC = @STATIC_PCRE_ONLY@pcre/get.c pcre/maketables.c pcre/study.c pcre/pcre.c
+PCRE_OBJS = @STATIC_PCRE_ONLY@$(PCRE_SRC:.c=.@OBJEXT@)
+PCRE_HDRS = @STATIC_PCRE_ONLY@pcre/config.h pcre/chartables.c pcre/internal.h pcre/pcre.h
+
+# No REGEX (maybe because dynamically linked pcreposix):
+REGEX_SRC =
+@STATIC_PCRE_ONLY@REGEX_SRC = pcre/pcreposix.c
+
+REGEX_OBJS = $(REGEX_SRC:.c=.@OBJEXT@)
+REGEX_HDRS = $(REGEX_SRC:.c=.h)
+
+# Dependencies introduced by #include "project.h".
+PROJECT_H_DEPS = project.h $(REGEX_HDRS) $(PCRS_HDRS) @STATIC_PCRE_ONLY@pcre/pcre.h
+
+# Socket libraries for platforms that need them explicitly defined
+SOCKET_LIB = @SOCKET_LIB@
+
+# PThreads library, if needed.
+PTHREAD_LIB = @PTHREAD_ONLY@@PTHREAD_LIB@
+
+SRCS = $(C_SRC) $(W32_SRC) $(PCRS_SRC) $(PCRE_SRC) $(REGEX_SRC)
+OBJS = $(C_OBJS) $(W32_OBJS) $(PCRS_OBJS) $(PCRE_OBJS) $(REGEX_OBJS)
+HDRS = $(C_HDRS) $(W32_HDRS) $(PCRS_HDRS) $(PCRE_OBJS) $(REGEX_HDRS)
+LIBS = @LIBS@ $(W32_LIB) $(SOCKET_LIB) $(PTHREAD_LIB)
+
+
+#############################################################################
+# Compiler switches
+#############################################################################
+
+# The flag "-mno-win32" can be used by Cygwin to emulate a un?x type build.
+# The flag "-mwindows -mno-cygwin" will cause Cygwin to use MingW32 for a
+# Win32 GUI build.
+# The flag "-pthread" is required if using Pthreads under Linux (and
+# possibly other OSs).
+SPECIAL_CFLAGS = @SPECIAL_CFLAGS@
+
+# Add your flags here
+OTHER_CFLAGS =
+
+CFLAGS = @CFLAGS@ @CPPFLAGS@ $(OTHER_CFLAGS) $(SPECIAL_CFLAGS) -Wall \
+ @STATIC_PCRE_ONLY@ -Ipcre
+
+LDFLAGS = $(DEBUG_CFLAGS) $(SPECIAL_CFLAGS)
+
+
+#############################################################################
+# Build section.
+#
+# There should NOT be any targets above this line.
+#############################################################################
+all: $(PROGRAM)
+
+
+#############################################################################
+# Phony targets
+#############################################################################
+.PHONY: all inifiles redhat-dist redhat-upload solaris-dist suse-dist \
+suse-upload win-dist tarball-dist dok redhat-dok webserver clean clobber tags \
+install
+
+
+#############################################################################
+# Define this explicitly because Solaris is broken!
+#############################################################################
+%.o: %.c
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
+
+
+#############################################################################
+# Win32 config files
+#############################################################################
+
+inifiles: $(W32_INIS)
+
+config.txt: config
+ $(SED) -e 's!\trustfile trust!trustfile trust.txt!' \
+ -e 's!\jarfile jarfile!jarfile jar.log!' \
+ -e 's!\logfile logfile!logfile privoxy.log!' \
+ -e 's!#Win32-only: !!' \
+ < $< | \
+ $(DOSFILTER) > $@
+ # LF to CRLF in default.action
+ $(DOSFILTER) <default.action >default.action.txt && mv default.action.txt default.action
+ # LF to CRLF in default.filter
+ $(DOSFILTER) <default.filter >default.filter.txt && mv default.filter.txt default.filter
+
+trust.txt: trust
+ $(DOSFILTER) < $< > $@
+
+re_filterfile.txt: re_filterfile
+ $(DOSFILTER) < $< > $@
+
+
+#############################################################################
+# Pre-dist check:
+#############################################################################
+dist-check:
+ @if [ -d CVS ]; then \
+ $(ECHO) "***************************************************"; \
+ $(ECHO) "*** ***"; \
+ $(ECHO) "*** WARNING ***"; \
+ $(ECHO) "*** ***"; \
+ $(ECHO) "*** The presence of a CVS subdirectory suggests ***"; \
+ $(ECHO) "*** that you are trying to build a distribution ***"; \
+ $(ECHO) "*** package based on a checked out, not an ***"; \
+ $(ECHO) "*** exported copy of the source tree. Please ***"; \
+ $(ECHO) "*** see \"Releasing a new version\" in the ***"; \
+ $(ECHO) "*** developer manual. ***"; \
+ $(ECHO) "*** ***"; \
+ $(ECHO) "***************************************************"; \
+ $(ECHO) "Type \"yes i am sure\" if you are sure that you"; \
+ $(ECHO) -n "really want to proceed: "; \
+ read answer; \
+ if [ "$$answer" != "yes i am sure" ]; then exit 1; fi \
+ fi;
+
+
+#############################################################################
+# RPM specifice stuff (SuSE or Redhat, ..)
+#############################################################################
+rpm-stuff: dist-check clean clobber
+ for dir in RPMS SRPMS BUILD SOURCES SPECS; do \
+ if [ ! -w $(RPM_BASE)/$$dir ]; then \
+ $(ECHO) "$(RPM_BASE)/$$dir is not writable for you. Maybe try as root."; \
+ $(ECHO) "Or add a suitable path to .rpmmacros like."; \
+ $(ECHO) "%_topdir /home/foo/rpm-build"; \
+ exit 1; \
+ fi; \
+ done; \
+
+#############################################################################
+# redhat distribution alpha and x86
+#############################################################################
+redhat-dist: rpm-stuff
+
+ $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-suse.spec" -czf $(TAR_ARCH) .
+ $(RPM) --clean -ta $(TAR_ARCH)
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+
+check-release:
+ @if [ "$(RPM_PACKAGEV)" = "" ]; then \
+ echo ; \
+ echo " ERROR: NO RPM_PACKAGEV VALUE"; \
+ echo " No value given for RPM_PACKAGEV. Please use:"; \
+ echo " make dist-upload RPM_PACKAGEV=release"; \
+ echo " where \"release\" is the release number you want to and"; \
+ echo " where \"dist\" is the name of the distro \(redhat or suse\)"; \
+ echo ; \
+ echo " Ex: make redhat-upload RPM_PACKAGEV=1"; \
+ echo ; \
+ exit 1; \
+ fi
+
+# anonymously ncftps the rpms to sourceforge
+redhat-upload: check-release
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/privoxy-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+# better should use `arch` here instead of ix86 to support other platforms too
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/privoxy-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) Now goto
+ @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+ @$(ECHO) ... and release the files.
+ @$(ECHO) -------------------------------------------------------
+ # w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+
+#############################################################################
+# suse distribution. works fine. no need to be root.
+#############################################################################
+suse-dist: rpm-stuff
+ TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
+ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+ -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
+ privoxy-suse.spec > $$TMPFILE ; then \
+ $(MV) -f $$TMPFILE privoxy-suse.spec; \
+ else \
+ $(ECHO) "Could not set version info in specfile."; \
+ exit 1;\
+ fi
+
+ $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-rh.spec" -czf $(TAR_ARCH) .
+ $(RPM) --clean -ta $(TAR_ARCH)
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+
+# anonymously ncftps the rpms to sourceforge
+suse-upload: check-release
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/privoxy-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+# better should use `arch` here instead of ix86 to support other platforms too
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/privoxy-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) Now goto
+ @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+ @$(ECHO) ... and release the files.
+ @$(ECHO) -------------------------------------------------------
+
+# handle with care. use with root.
+suse-clean:
+ rpm -e junkbuster-suse || true
+ rm -rf /etc/junkbuster
+ rm -rf /etc/rc.d/junkbuster*
+ rm -rf /var/run/junkbuster.pid
+ rm -rf /var/log/junkbuster
+ rm -f /etc/init.d/junkbuster
+ rm -f /usr/sbin/junkbuster
+ rm -f /usr/sbin/rcjunkbuster
+ rm -f /usr/share/man/man1/junkbuster.1.gz
+ rpm -e privoxy-suse || true
+ rm -rf /etc/privoxy
+ rm -rf /etc/rc.d/privoxy*
+ rm -rf /var/run/privoxy.pid
+ rm -rf /var/log/privoxy
+ rm -f /etc/init.d/privoxy
+ rm -f /usr/sbin/privoxy
+ rm -f /usr/sbin/rcprivoxy
+ rm -f /usr/share/man/man1/privoxy.1.gz
+
+#############################################################################
+# generic distribution
+#############################################################################
+gen-dist: dist-check
+ @$(ECHO) ""
+ @$(ECHO) "You have run autoconf && autoheader && ./configure right?"
+ @$(ECHO) ""
+ $(MAKE) $(PROGRAM)
+ $(STRIP_PROG) $(PROGRAM)
+ $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
+# add program
+ (cd .. && $(TAR) -cvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$(PROGRAM))
+# add config files
+ for foo in $(CONFIG_FILES); do \
+ (cd .. && $(TAR) -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+ done;
+# add documentation
+ for foo in $(DOC_FILES); do \
+ (cd .. && $(TAR) -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+ done;
+# and zip the archive
+ $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)
+ $(GZIP_PROG) ../privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar
+ @$(ECHO) Distribution with binary created.
+
+# anonymously ncftps the package to sourceforge
+gen-upload:
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming ../privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar.gz
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) Now goto
+ @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+ @$(ECHO) ... and release the files.
+ @$(ECHO) -------------------------------------------------------
+
+# use with care
+gen-clean:
+ $(RM) privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar*
+
+#############################################################################
+# solaris distribution. verified on SF machines by swa.
+#############################################################################
+solaris-dist: gen-dist
+ @$(ECHO) Done.
+# anonymously ncftps the package to sourceforge
+solaris-upload: gen-upload
+ @$(ECHO) Done.
+# use with care
+solaris-clean: gen-clean
+ @$(ECHO) Done.
+
+#############################################################################
+# hpux distribution
+#############################################################################
+hpux-dist:
+ @$(ECHO) coming soon.
+hpux-upload:
+ @$(ECHO) coming soon.
+
+#############################################################################
+# debian distribution
+#############################################################################
+debian-dist:
+ @$(ECHO) coming soon.
+debian-upload:
+ @$(ECHO) coming soon.
+
+#############################################################################
+# macosx distribution
+#############################################################################
+macosx-dist:
+ @$(ECHO) coming soon.
+macosx-upload:
+ @$(ECHO) coming soon.
+
+#############################################################################
+# amiga distribution
+#############################################################################
+amiga-dist:
+ @$(ECHO) coming soon.
+amiga-upload:
+ @$(ECHO) coming soon.
+
+#############################################################################
+# freebsd distribution. verified on SF machines by swa.
+#############################################################################
+freebsd-dist: gen-dist
+ @$(ECHO) Done.
+# anonymously ncftps the package to sourceforge
+freebsd-upload: gen-upload
+ @$(ECHO) Done.
+# use with care
+freebsd-clean: gen-clean
+ @$(ECHO) Done.
+
+#############################################################################
+# Windows distribution
+#############################################################################
+win-dist:
+ $(ECHO) Not implemented.
+
+
+#############################################################################
+# Tarball distribution: No CVS dirs, dotfiles, debian build dir,
+# (FIXME:) only parts of the static / generated docs mix in doc/webserver
+#############################################################################
+
+tarball-dist: dist-check clean clobber
+ $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
+
+ for i in `find . -type f -a -not \( -path "*/CVS*" -o -name ".*" \
+ -o -path "*/debian/*" -o -path "*/actions/*" -o -name "*.php" \)`; do \
+ files="$$files privoxy-$(VERSION)-$(CODE_STATUS)/$$i"; \
+ done && \
+ cd .. && $(TAR) cvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar $$files ; \
+
+# and zip the archive
+ $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)
+ $(GZIP_PROG) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar
+ @$(ECHO) Tarball distribution created.
+
+# anonymously ncftps the tarball to sourceforge
+tarball-upload:
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) Now goto
+ @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+ @$(ECHO) ... and release the files.
+ @$(ECHO) -------------------------------------------------------
+
+tarball-clean:
+ $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz
+
+#############################################################################
+#
+# Documentation
+#
+# converts doc/source/*.sgml into html, text and man pages
+#
+#############################################################################
+
+# our style file
+doc/source/ldpOK.dsl:
+ if [ "$(DKPREFIX)" != "none" ]; then \
+ sed -e "s@/usr/share/sgml/docbook/dsssl-stylesheets@$(DKPREFIX)@g" doc/source/ldp.dsl > doc/source/ldpOK.dsl; \
+ else \
+ cp doc/source/ldp.dsl doc/source/ldpOK.dsl; \
+ fi
+
+# Otherwise we get plain groff conversion.
+groff2html:
+ $(G2H_CMD) ./privoxy.1 | $(SED) -e 's@</head>@<link REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></head>@' > doc/webserver/man-page/privoxy-man-page.html
+
+# developer manual
+dok-devel: doc/source/ldpOK.dsl
+ rm -f doc/webserver/developer-manual/*.html
+ rm -rf doc/source/developer-manual
+ mkdir -p doc/text doc/source/developer-manual
+ cd doc/source/developer-manual && $(DB) ../developer-manual.sgml && cd .. && cp developer-manual/*.html ../webserver/developer-manual/
+ cd doc/source && $(DB) -V nochunks developer-manual.sgml > tmp.html && $(WDUMP) tmp.html > ../text/developer-manual.txt && rm -rf tmp.html developer-manual
+
+# user manual
+dok-user: doc/source/ldpOK.dsl
+ rm -f doc/webserver/user-manual/*.html
+ rm -rf doc/source/user-manual/
+ mkdir -p doc/text doc/source/user-manual
+ cd doc/source/user-manual && $(DB) ../user-manual.sgml && cd .. && cp user-manual/*.html ../webserver/user-manual/
+ cd doc/source && $(DB) -V nochunks user-manual.sgml > tmp.html && $(WDUMP) tmp.html > ../text/user-manual.txt && rm -rf tmp.html user-manual
+
+# faq
+dok-faq: doc/source/ldpOK.dsl
+ rm -f doc/webserver/faq/*.html
+ rm -rf doc/source/faq
+ mkdir -p doc/text doc/source/faq
+ cd doc/source/faq && $(DB) ../faq.sgml && cd .. && cp faq/*.html ../webserver/faq/
+ cd doc/source && $(DB) -V nochunks faq.sgml > tmp.html && $(WDUMP) tmp.html > ../text/faq.txt && rm -rf tmp.html faq
+
+# man page
+dok-man: doc/source/ldpOK.dsl
+ rm -f doc/man/* doc/webserver/man-page/*.html
+ifneq ($(MAN2HTML),false)
+ $(ECHO) "<html><head><title>Privoxy Man page</title><link rel=\"stylesheet\" type=\"text/css\" href=\"../p_web.css\"></head><body><H2>NAME</H2>" > doc/webserver/man-page/privoxy-man-page.html
+ man ./privoxy.1 | $(MAN2HTML) -bare >> doc/webserver/man-page/privoxy-man-page.html
+ $(ECHO) "</body></html>" >> doc/webserver/man-page/privoxy-man-page.html
+else
+ $(MAKE) groff2html
+endif
+
+# readme page
+dok-readme: doc/source/ldpOK.dsl
+ cd doc/source && $(DB) -V nochunks readme.sgml > tmp.html &&\
+ $(WDUMP) tmp.html > ../../README && rm -rf tmp.html
+
+# webserver files
+dok-webserver: doc/source/ldpOK.dsl
+ cd doc/source/webserver && $(DB) -V nochunks index.sgml > ../../webserver/index.html
+ $(PERL) -pi.bak -e 's/..\/p_doc.css/p_web.css/;\
+ s/<\/HEAD/\n<meta name=\"description\" content=\"Privoxy helps consumers reduce unwanted junk email and protect their privacy from direct marketing companies.\"><\/HEAD/;\
+ s/<\/HEAD/\n<meta name="MSSmartTagsPreventParsing" content="TRUE"><\/HEAD/'\
+ doc/webserver/index.html && rm -f doc/source/webserver/*.bak
+
+# Main documentation target.
+dok: dok-release dok-devel dok-user dok-faq dok-readme dok-webserver authors
+# kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+ @$(ECHO) Documentation created.
+
+#
+# an alternative to the above dok. disabled man page creation for the moment
+#
+redhat-dok: dok-release dok-devel dok-user dok-faq redhat-readme dok-webserver authors
+# kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+ @$(ECHO) Documentation created.
+
+# For those with man2html ala RH7's.
+man2html:
+ mkdir -p doc/webserver/man-page
+ifneq ($(MAN2HTML),false)
+ $(MAN2HTML) privoxy.1 |grep -v "^Content-type" > tmp.html
+ $(PERL) -pi.bak -e 's/<A .*Contents<\/A>//; s/<A .*man2html<\/A>/man2html/' tmp.html
+ $(PERL) -pi.bak -e 's/(<\/HEAD>)/<LINK REL=\"STYLESHEET\" TYPE=\"text\/css\" HREF=\"..\/p_doc.css\"><\/HEAD>/' tmp.html
+# Get rid of spurious \a from conversion. (How to do this with perl?)
+ $(SED) -e 's/\a//g' tmp.html > doc/webserver/man-page/privoxy-man-page.html && rm -f tmp.*
+else
+ $(MAKE) groff2html
+endif
+
+## Make README
+redhat-readme: doc/source/ldpOK.dsl
+ cd doc/source && $(DB) -V nochunks readme.sgml > tmp.html && $(WDUMP) \
+ tmp.html > ../../README && rm -rf tmp.html
+ # kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+
+## Make AUTHORS file
+authors: doc/source/ldpOK.dsl
+ cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && $(WDUMP) \
+ tmp.html > ../../AUTHORS && rm -f tmp.html
+ # kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+
+# make a man page, and then (lousy) HTML version.
+# Requires docbook2man (short perl script), see comments
+# in privoxy-man-page.sgml. This target is not invoked from other dok targets.
+# It is built separately due to dependencies on perl scripts.
+man: doc/source/ldpOK.dsl
+ mkdir -p doc/source/man
+ cd doc/source/man && docbook2man ../privoxy-man-page.sgml &&\
+ perl -pi.bak -e 's/ <URL:.*>//; s/\[ /\[/g' privoxy.1
+ cd doc/source/man && $(DB) ../privoxy-man-page.sgml &&\
+ mv -f index.html privoxy-man-page.html
+ # This html is not used. See make man2html.
+ mv -f doc/source/man/privoxy.1 privoxy.1
+ $(MAKE) man2html
+ # kludge to force recreation on next run. Rodgrigo?
+ @rm -fr doc/source/ldpOK.dsl doc/source/man
+
+# Set doc entities for VERSION and CODE_STATUS in sgml docs. Toggle content
+# exceptions accordingly. This needs to go before any doc building (doh).
+dok-release:
+ @$(ECHO) Setting doc version and status to $(VERSION), $(CODE_STATUS)
+ @$(PERL) -pi.bak -e 's/<!entity +p-version.*>/<!entity p-version "$(VERSION)">/;\
+ s/<!entity +p-status.*>/<!entity p-status "$(CODE_STATUS)">/' \
+ doc/source/*sgml doc/source/*/*sgml
+ rm -fr doc/source/*bak doc/source/*/*bak
+ifeq ($(CODE_STATUS),stable)
+ @$(ECHO) Setting docs to stable $(VERSION)
+ @$(PERL) -pi.bak -e 's/<!entity +% +p-stable.*>/<!entity % p-stable "INCLUDE">/;\
+ s/<!entity +% +p-not-stable.*>/<!entity % p-not-stable "IGNORE">/' \
+ doc/source/*sgml doc/source/*/*sgml
+ rm -fr doc/source/*bak doc/source/*/*bak
+else
+ @$(ECHO) Setting docs to not stable $(VERSION)
+ @$(PERL) -pi.bak -e 's/<!entity +% +p-stable.*>/<!entity % p-stable "IGNORE">/;\
+ s/<!entity +% +p-not-stable.*>/<!entity % p-not-stable "INCLUDE">/' \
+ doc/source/*sgml doc/source/*/*sgml
+ rm -fr doc/source/*bak doc/source/*/*bak
+endif
+
+dok-pdf: doc/source/ldpOK.dsl dok-release
+ cp doc/source/*.sgml doc/pdf
+ cp doc/source/*.dsl doc/pdf
+ cd doc/pdf && db2pdf --pdf -s ldpOK.dsl user-manual.sgml && mv user-manual.pdf privoxy-user-manual.pdf
+ cd doc/pdf && db2pdf --pdf -s ldpOK.dsl developer-manual.sgml && mv developer-manual.pdf privoxy-developer-manual.pdf
+ cd doc/pdf && db2pdf --pdf -s ldpOK.dsl faq.sgml && mv faq.pdf privoxy-faq.pdf
+ rm -f doc/pdf/*.sgml doc/pdf/*.dsl doc/pdf/*.out doc/pdf/*.tex doc/pdf/*.log doc/pdf/*.aux
+
+#############################################################################
+#
+# Webserver
+#
+# moves dokumentation to webserver
+#
+#############################################################################
+webserver: tidy
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) You have run make dok/redhat-dok before, right?
+ @$(ECHO) Note that this command scps all stuff to the webserver,
+ @$(ECHO) it will not remove obsolete documents.
+ @$(ECHO) -------------------------------------------------------
+
+ @$(ECHO) Uploading
+ @cd doc/webserver; \
+ upload=`find . -type f -a -not \( -path "*/CVS*" -o -path "*/results*" \)`; \
+ $(TAR) c $$upload | ssh ijbswa.sourceforge.net 'cd /home/groups/i/ij/ijbswa/htdocs/; tar xvm 2>&1 | grep -v timestamp'
+
+ @$(ECHO) Fixing permissions
+ @ssh ijbswa.sourceforge.net 'chmod -R 775 /home/groups/i/ij/ijbswa/htdocs 2>/dev/null; true'
+ @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/ -type f | xargs chmod 664 2>/dev/null; true'
+ @ssh ijbswa.sourceforge.net 'chmod 666 /home/groups/i/ij/ijbswa/htdocs/actions/results/actions-feedback.txt 2>/dev/null; true'
+
+
+web-actions: tidy
+ @$(ECHO) Uploading
+ @cd doc/webserver/actions; \
+ upload=`find . -type f -a -not \( -path "*/CVS*" -o -path "*/results*" \)`; \
+ $(TAR) c $$upload | ssh ijbswa.sourceforge.net 'cd /home/groups/i/ij/ijbswa/htdocs/actions; tar xvm'
+
+ @$(ECHO) Fixing permissions
+ @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/actions/ -type f | xargs chmod 664 2>/dev/null'
+ @ssh ijbswa.sourceforge.net 'chmod 666 /home/groups/i/ij/ijbswa/htdocs/actions/results/actions-feedback.txt 2>/dev/null'
+
+#############################################################################
+# Source file dependencies
+#############################################################################
+
+actions.@OBJEXT@: actions.c actions.h config.h $(PROJECT_H_DEPS) errlog.h jcc.h list.h loaders.h miscutil.h actionlist.h
+cgi.@OBJEXT@: cgi.c cgi.h config.h $(PROJECT_H_DEPS) cgiedit.h cgisimple.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h
+cgiedit.@OBJEXT@: cgiedit.c cgiedit.h config.h $(PROJECT_H_DEPS) cgi.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h
+cgisimple.@OBJEXT@: cgisimple.c cgisimple.h config.h $(PROJECT_H_DEPS) cgi.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h
+deanimate.@OBJEXT@: deanimate.c deanimate.h config.h $(PROJECT_H_DEPS)
+encode.@OBJEXT@: encode.c encode.h config.h
+errlog.@OBJEXT@: errlog.c errlog.h config.h $(PROJECT_H_DEPS) @WIN_ONLY@w32log.h
+filters.@OBJEXT@: filters.c filters.h config.h $(PROJECT_H_DEPS) errlog.h encode.h gateway.h jbsockets.h jcc.h loadcfg.h parsers.h ssplit.h cgi.h deanimate.h @WIN_ONLY@win32.h
+gateway.@OBJEXT@: gateway.c gateway.h config.h $(PROJECT_H_DEPS) errlog.h jbsockets.h jcc.h loadcfg.h
+jbsockets.@OBJEXT@: jbsockets.c jbsockets.h config.h $(PROJECT_H_DEPS) filters.h
+jcc.@OBJEXT@: jcc.c jcc.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h killpopup.h loadcfg.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h cgi.h
+killpopup.@OBJEXT@: killpopup.c killpopup.h config.h $(PROJECT_H_DEPS) jcc.h loadcfg.h
+list.@OBJEXT@: list.c list.h config.h $(PROJECT_H_DEPS) list.h miscutil.h
+loadcfg.@OBJEXT@: loadcfg.c loadcfg.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h jcc.h killpopup.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h
+loaders.@OBJEXT@: loaders.c loaders.h config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h gateway.h jcc.h loadcfg.h miscutil.h parsers.h ssplit.h
+miscutil.@OBJEXT@: miscutil.c miscutil.h config.h
+parsers.@OBJEXT@: parsers.c parsers.h config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h jbsockets.h jcc.h loadcfg.h loaders.h miscutil.h ssplit.h
+ssplit.@OBJEXT@: ssplit.c ssplit.h config.h miscutil.h
+urlmatch.@OBJEXT@: urlmatch.c urlmatch.h config.h $(PROJECT_H_DEPS) errlog.h miscutil.h ssplit.h
+
+# GNU regex
+gnu_regex.@OBJEXT@: gnu_regex.c gnu_regex.h config.h
+
+# PCRS
+pcrs.@OBJEXT@: pcrs.c pcre/pcre.h pcrs.h
+
+# PCRE
+pcre/get.@OBJEXT@: pcre/get.c pcre/config.h pcre/internal.h pcre/pcre.h
+pcre/maketables.@OBJEXT@: pcre/maketables.c pcre/config.h pcre/internal.h pcre/pcre.h
+pcre/pcre.@OBJEXT@: pcre/pcre.c pcre/config.h pcre/internal.h pcre/pcre.h pcre/chartables.c
+pcre/pcreposix.@OBJEXT@: pcre/pcreposix.c pcre/config.h pcre/internal.h pcre/pcre.h pcre/pcreposix.h
+pcre/study.@OBJEXT@: pcre/study.c pcre/config.h pcre/internal.h pcre/pcre.h
+
+# An auxiliary program makes the PCRE default character table source
+
+pcre/chartables.c: pcre/dftables@EXEEXT@
+ pcre/dftables@EXEEXT@ >pcre/chartables.c
+
+pcre/dftables@EXEEXT@: pcre/dftables.c pcre/maketables.c pcre/pcre.h pcre/internal.h pcre/config.h
+ $(CC) -o pcre/dftables@EXEEXT@ $(CFLAGS) pcre/dftables.c
+
+# Win32
+w32log.@OBJEXT@: w32log.c errlog.h config.h jcc.h loadcfg.h miscutil.h pcre/pcre.h pcre/pcreposix.h pcrs.h project.h w32log.h w32taskbar.h win32.h
+w32taskbar.@OBJEXT@: w32taskbar.c config.h w32log.h w32taskbar.h
+win32.@OBJEXT@: win32.c config.h jcc.h loadcfg.h pcre/pcre.h pcre/pcreposix.h pcrs.h project.h w32log.h win32.h
+
+w32.res: w32.rc w32res.h icons/ico00001.ico icons/ico00002.ico icons/ico00003.ico icons/ico00004.ico icons/ico00005.ico icons/ico00006.ico icons/ico00007.ico icons/ico00008.ico icons/idle.ico icons/privoxy.ico config.h
+ windres -D__MINGW32__=0.2 -O coff -i $< -o $@
+
+# AmigaOS
+@AMIGAOS_ONLY@OBJS += amiga.o
+@AMIGAOS_ONLY@CFLAGS += -D__AMIGAVERSION__=\"$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_POINT)\" -D__AMIGADATE__=\"`date +%d.%m.%Y`\" -W -m68020 -noixemul -fbaserel -msmall-code
+@AMIGAOS_ONLY@LDFLAGS += -m68020 -noixemul -fbaserel
+@AMIGAOS_ONLY@LIBS = -lm /gg/lib/libb/libm020/libnix/swapstack.o
+@AMIGAOS_ONLY@amiga.o: amiga.c amiga.h config.h
+
+
+$(PROGRAM): $(OBJS) $(W32_FILES)
+ $(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
+
+clean:
+ $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) `find . -name TAGS -o -name tags`
+
+tidy:
+ $(RM) `find . -name "*~"`
+# $(RM) `find . -name "#*#"` # what is this for??
+ $(RM) `find . -name ".\#*"`
+
+clobber: tidy
+ $(RM) GNUmakefile configure config.h.in config.h config.cache config.status config.log logfile privoxy.log core *.tar.gz *.tar
+#
+# FIXME: What is all this?
+#
+ $(RM) cscope.* *.pdb *.lib *.exp
+
+distclean: clobber
+
+tags: $(SRCS) $(HDRS)
+ etags $(SRCS) $(HDRS)
+
+install: all
+ #
+ # FIXME: This is a dirty hack to have an install target
+ # that works at least for some setups. This needs
+ # to be fixed!
+ #
+ $(STRIP_PROG) $(PROGRAM)
+ $(INSTALL) $(INSTALL_D) $(SBIN_DEST)
+ $(INSTALL) $(INSTALL_D) $(DEST)/user-manual
+ $(INSTALL) $(INSTALL_D) $(CONFDEST)/templates
+ $(INSTALL) $(INSTALL_D) $(DEST)/$(DOK_WEB_USEM)
+ $(INSTALL) $(INSTALL_P) $(PROGRAM) $(SBIN_DEST)
+ if [ -d "$(DOK_WEB_USEM)" ]; then $(INSTALL) $(INSTALL_T) $(DOK_WEB_USEM)/[a-z]* $(DEST)/$(DOK_WEB_USEM); fi
+ $(INSTALL) $(INSTALL_T) templates/[a-z]* $(CONFDEST)/templates
+ $(INSTALL) $(INSTALL_T) config default.action default.filter trust $(CONFDEST)
+ # FIXME $(ECHO) privoxy.logrotate privoxy.monthly privoxy.weekly
+ # FIXME: Need new manual! $(GZIP_PROG) -c privoxy.1 > $(MAN_DEST)/privoxy.1.gz
+ $(INSTALL) $(INSTALL_P) privoxy.init /etc/init.d/privoxy
+
+
+#############################################################################
+
+## Local Variables:
+## tab-width: 3
+## end:
+