Correct HTML, external Stylesheets, eye candy, some fixes
[privoxy.git] / GNUmakefile.in
index 94f781a..8ad9cd8 100644 (file)
@@ -1,9 +1,9 @@
 # Note:  Makefile is built automatically from Makefile.in
 #
-# $Id: GNUmakefile.in,v 1.23 2002/03/24 13:06:49 swa Exp $
+# $Id: GNUmakefile.in,v 1.63 2002/04/04 21:06:22 swa Exp $
 #
 # Written by and Copyright (C) 2001 the SourceForge
-# Privoxy team.  http://ijbswa.sourceforge.net
+# Privoxy team. http://www.privoxy.org/
 #
 # Based on the Internet Junkbuster originally written
 # by and Copyright (C) 1997 Anonymous Coders and 
 # Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 
+#############################################################################
+# Set make command correctly
+#############################################################################
+@SET_MAKE@
+
 #############################################################################
 # Version number (for RPM)
 #############################################################################
@@ -46,9 +51,10 @@ RPM_PACKAGEV  = @VERSION_RPM_PACKAGE@
 # Directories for "make install"
 #############################################################################
 
-DEST        = @sysconfdir@/privoxy
-SBIN_DEST   = @sbindir@
-MAN_DEST    = @mandir@
+DEST        = @prefix@
+CONFDEST    = @prefix@@sysconfdir@
+SBIN_DEST   = @prefix@@sbindir@
+MAN_DEST    = @prefix@@mandir@
 
 
 #############################################################################
@@ -59,7 +65,11 @@ PROGRAM    = privoxy@EXEEXT@
 CC         = @CC@
 ECHO       = echo
 GZIP_PROG  = gzip
-INSTALL    = cp -f
+#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
@@ -68,13 +78,20 @@ CAT        = cat
 RPM        = rpm
 MV        = mv
 TAR        = tar
-MAKE       = make
 LN         = ln
 WDUMP      = @WDUMP@ -dump
+JADECAT    = @JADECAT@
 JADEBIN    = @JADEBIN@
-DB         = $(JADEBIN) -t sgml -ihtml -D.. -d ldpOK.dsl\#html
+DB         = $(JADEBIN) $(JADECAT) -t sgml -ihtml -D.. -d ldpOK.dsl\#html
 DB2HTML    = @DB2HTML@
 DKPREFIX   = @DKPREFIX@
+MAN2HTML   = @MAN2HTML@
+G2H_CMD    = groff -mandoc -Thtml
+TARGET_OS  = @host@
+
+#User Group paras
+USER       = @USER@
+GROUP     = @GROUP@
 
 # Program to do LF->CRLF
 #
@@ -92,6 +109,21 @@ DOSFILTER  = perl -p -e 's/\n/\r\n/'
 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"` privoxy.1
+
 #############################################################################
 # Filenames and libraries
 #############################################################################
@@ -119,12 +151,9 @@ PCRE_SRC     = @STATIC_PCRE_ONLY@pcre/get.c pcre/maketables.c pcre/study.c pcre/
 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 (Either because dynamically linked pcreposix, or no regex at all):
+# No REGEX (maybe because dynamically linked pcreposix):
 REGEX_SRC    =
-# GNU REGEX:
-@GNU_REGEX_ONLY@REGEX_SRC    = gnu_regex.c
-# PCRE REGEX:
-@PCRE_REGEX_ONLY@@STATIC_PCRE_ONLY@REGEX_SRC = pcre/pcreposix.c
+@STATIC_PCRE_ONLY@REGEX_SRC = pcre/pcreposix.c
 
 REGEX_OBJS   = $(REGEX_SRC:.c=.@OBJEXT@)
 REGEX_HDRS   = $(REGEX_SRC:.c=.h)
@@ -211,12 +240,10 @@ trust.txt: trust
 re_filterfile.txt: re_filterfile
        $(DOSFILTER) < $< > $@ 
 
-
 #############################################################################
-# redhat distribution alpha and x86
+# RPM specifice stuff (SuSE or Redhat, ..)
 #############################################################################
-
-redhat-dist:
+rpm-stuff: 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."; \
@@ -226,26 +253,25 @@ redhat-dist:
                fi; \
        done; \
 
-       $(MAKE) clobber
-       if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
-
+#############################################################################
+# redhat distribution alpha and x86
+#############################################################################
+redhat-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-rh.spec > $$TMPFILE ; then \
-      $(MV) -f $$TMPFILE privoxy-rh.spec; \
-   else \
-      $(ECHO) "Could not set version info in specfile."; \
-      exit 1;\
-   fi
+       $(MV) -f $$TMPFILE privoxy-rh.spec; \
+       else \
+               $(ECHO) "Could not set version info in specfile."; \
+       exit 1;\
+       fi
 
        $(TAR) --exclude "CVS" --exclude "privoxy-suse.spec" -czf $(TAR_ARCH) .
        $(RPM) --clean -ta  $(TAR_ARCH)
        if [ -f $(TAR_ARCH) ]; then  $(RM) $(TAR_ARCH); fi
 
-#
 # anonymously ncftps the rpms to sourceforge
-#
 redhat-upload:
        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
@@ -258,45 +284,24 @@ redhat-upload:
      # w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
 
 #############################################################################
-# sun solaris  distribution
-#############################################################################
-solaris-dist:
-       @$(ECHO) coming soon. 
-
+# suse distribution. works fine. no need to be root. 
 #############################################################################
-# suse distribution (need to be root to build)
-#############################################################################
-
-suse-dist:
-       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; \
-
-       $(MAKE) clobber
-       if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
-
+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
+       $(MV) -f $$TMPFILE privoxy-suse.spec; \
+       else \
+               $(ECHO) "Could not set version info in specfile."; \
+       exit 1;\
+       fi
 
        $(TAR) --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:
        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
@@ -328,6 +333,100 @@ suse-clean:
        rm -f /usr/sbin/rcprivoxy
        rm -f /usr/share/man/man1/privoxy.1.gz
 
+#############################################################################
+# generic distribution
+#############################################################################
+gen-dist:
+       @$(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
 #############################################################################
@@ -336,15 +435,50 @@ win-dist:
 
 
 #############################################################################
-# Tarball distribution
+# Tarball distribution. Only source files. No binaries.
 #############################################################################
+
+MISC_FILES = install-sh config.sub configure.in GNUmakefile.in config.h.in config.guess privoxy*
+
 tarball-dist:
-       @make clean
-       make $(PROGRAM) 
-#      remove all objects and create the tarball with the binary
-       cd .. && $(RM) ijb/a.out ijb/core ijb/*.@OBJEXT@ && tar --exclude "ijb/CVS" -cvzf ../privoxy-distribution-$(VERSION).tar.gz ijb/
-       chmod a+r ../../privoxy-distribution-$(VERSION).tar.gz
-       @$(ECHO) Tarball with binary created.
+       $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
+# add source files
+       for foo in `find . -name "*.c"`; do \
+               (cd .. && $(TAR) -uvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+       done; 
+# add header files
+       for foo in `find . -name "*.h"`; do \
+               (cd .. && $(TAR) -uvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+       done; 
+# 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 misc files
+       for foo in $(MISC_FILES); do \
+               (cd .. && $(TAR) -uvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+       done; 
+# add documentation
+       for foo in $(DOC_FILES); do \
+               (cd .. && $(TAR) -uvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \
+       done;
+# 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) -------------------------------------------------------
+
+# handle with care
+tarball-clean:
+       $(RM) privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz
 
 #############################################################################
 #
@@ -353,22 +487,67 @@ tarball-dist:
 # converts doc/source/*.sgml into html, text and man pages
 #
 #############################################################################
-dok: doc/source/ldpOK.dsl
-       mkdir -p doc/text doc/man
-#  user manual
-       rm -rf doc/webserver/user-manual
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl user-manual.sgml && mv user-manual ../webserver
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks user-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/user-manual.txt && rm -rf tmp.html user-manual
-##  developer manual
-       rm -rf doc/webserver/developer-manual
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl developer-manual.sgml && mv developer-manual ../webserver
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks developer-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/developer-manual.txt && rm -rf tmp.html developer-manual
-##  faq
-       rm -rf doc/webserver/faq
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl faq.sgml && mv faq ../webserver
-       cd doc/source && $(DB2HTML) -s ldpOK.dsl --nochunks faq.sgml > tmp.html && lynx -dump tmp.html > ../text/faq.txt && rm -rf tmp.html faq
 
-redhat-dok: doc/source/ldpOK.dsl
+# 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 > doc/webserver/man-page/privoxy-man-page.html
+
+# developer manual
+dok-devel: doc/source/ldpOK.dsl
+       rm -rf doc/webserver/developer-manual doc/source/developer-manual
+       mkdir -p doc/text doc/source/developer-manual
+       cd doc/source/developer-manual && $(DB) ../developer-manual.sgml && cd .. && mv developer-manual ../webserver
+       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 -rf doc/webserver/user-manual doc/source/user-manual
+       mkdir -p doc/text doc/source/user-manual
+       cd doc/source/user-manual && $(DB) ../user-manual.sgml && cd .. && mv user-manual ../webserver
+       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 -rf doc/webserver/faq doc/source/faq
+       mkdir -p doc/text doc/source/faq
+       cd doc/source/faq && $(DB) ../faq.sgml && cd .. && mv faq ../webserver
+       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 -rf doc/man doc/webserver/man-page
+       mkdir -p doc/man -p doc/webserver/man-page
+       if [ "$(MAN2HTML)" != "false" ]; then \
+               $(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; \
+       fi
+
+# 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
+
+dok: dok-devel dok-user dok-faq dok-man dok-readme
+# kludge to force recreation on next run. Rodgrigo?
+       @rm -f doc/source/ldpOK.dsl
+       @$(ECHO) Documentation created.
+
+#
+# an alternative to the above dok
+#
+redhat-dok: doc/source/ldpOK.dsl man2html
        mkdir -p doc/text doc/man doc/source/user-manual \
           doc/source/developer-manual doc/source/faq
 ##  user manual
@@ -390,14 +569,28 @@ redhat-dok: doc/source/ldpOK.dsl
        cd doc/source/faq && $(DB) ../faq.sgml && cd .. && mv faq ../webserver
        cd doc/source && $(DB) -V nochunks faq.sgml > tmp.html && $(WDUMP) \
           tmp.html > ../text/faq.txt && rm -rf tmp.html faq
-
-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; \
+## readme
+       $(MAKE) redhat-readme
+# kludge to force recreation on next run. Rodgrigo?
+       @rm -f doc/source/ldpOK.dsl
+
+# For those with man2html ala RH7's.
+man2html:
+       mkdir -p doc/webserver/man-page
+       if [ "$(MAN2HTML)" != "false" ]; then \
+               $(MAN2HTML) privoxy.1 |grep -v "^Content-type" > doc/webserver/man-page/privoxy-man-page.html; \
+           perl -pi -e 's/<A .*Contents<\/A>//; s/<A .*man2html<\/A>/man2html/' doc/webserver/man-page/privoxy-man-page.html; \
+     else \
+          $(MAKE) groff2html; \
        fi
 
+## 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
+
 #############################################################################
 #
 # Webserver
@@ -405,15 +598,30 @@ doc/source/ldpOK.dsl:
 # moves dokumentation to webserver
 #
 #############################################################################
-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) -------------------------------------------------------
-       chmod -R a+r doc/webserver
-       find doc/webserver -type d -exec chmod a+rx {} \;
-       cd doc/webserver && scp -Cr . ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
+
+       @$(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 xv'
+
+       @$(ECHO) Fixing permissions
+       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/* -type d | xargs chmod 775 2>/dev/null'
+       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/* -type f | xargs chmod 664 2>/dev/null'
+
+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 xv'
+
+       @$(ECHO) Fixing permissions
+       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/actions/* -type f | xargs chmod 664 2>/dev/null'      
 
 #############################################################################
 # Source file dependencies
@@ -465,7 +673,7 @@ w32log.@OBJEXT@: w32log.c errlog.h config.h jcc.h loadcfg.h miscutil.h pcre/pcre
 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/junkbust.ico config.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
@@ -480,19 +688,23 @@ $(PROGRAM): $(OBJS) $(W32_FILES)
        $(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
 
 clean:
-       $(RM) a.out core $(OBJS) $(W32_FILES) $(W32_INIS)
+       $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) `find . -name TAGS -o -name tags` 
+
+tidy:
+       $(RM) `find . -name "*~" -o -name "#*#"`
 
-clobber: clean
-       $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` TAGS junkbuster.log privoxy.log config.cache *~ *.tar.gz
+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)
 
-tarball-src: clobber
-       $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
-       $(TAR) -C.. -cvhzf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz privoxy-$(VERSION)-$(CODE_STATUS)
-       $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)
-
 install: all
        #
        # FIXME: This is a dirty hack to have an install target
@@ -500,15 +712,17 @@ install: all
        #        to be fixed!
        #
        $(STRIP_PROG) $(PROGRAM)
-       $(INSTALL) $(PROGRAM) $(SBIN_DEST)
-       mkdir -p $(DEST)/user-manual
-       mkdir -p $(DEST)/templates
-       cp -r doc/webserver/user-manual $(DEST)
-       cp -r templates $(DEST)
-       $(INSTALL) config default.action default.filter trust $(DEST)
+       $(INSTALL) $(INSTALL_D) $(SBIN_DEST)
+       $(INSTALL) $(INSTALL_D) $(DEST)/user-manual
+       $(INSTALL) $(INSTALL_D) $(DEST)/templates
+       $(INSTALL) $(INSTALL_D) $(CONFDEST)
+       $(INSTALL) $(INSTALL_P) $(PROGRAM) $(SBIN_DEST)
+       if [ -d "doc/webserver/user-manual" ]; then $(INSTALL) $(INSTALL_T) doc/webserver/user-manual $(DEST); fi
+       $(INSTALL) $(INSTALL_T) templates/[a-z]* $(DEST)/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) privoxy.init /etc/init.d/privoxy
+       $(INSTALL) $(INSTALL_P) privoxy.init /etc/init.d/privoxy
 
 
 #############################################################################
@@ -518,6 +732,133 @@ install: all
 ## end:
 
 # $Log: GNUmakefile.in,v $
+# Revision 1.63  2002/04/04 21:06:22  swa
+# cosmetics.
+#
+# Revision 1.62  2002/04/04 20:49:50  swa
+# attempt to consolidate the
+# different dokbook versions.
+#
+# Revision 1.61  2002/04/04 19:18:21  swa
+# readme was leftover directory. use w3m instead
+# of lynx to be consistent among developers. use
+# consistent target naming.
+#
+# Revision 1.60  2002/04/04 12:25:41  oes
+# Tidy webserver upload w/o *~ files, CVS dirs and logfiles and with proper dir and file permissions
+#
+# Revision 1.59  2002/04/04 08:32:45  swa
+# wrong name for tarball-dist target. further fixed content of tarball dist
+#
+# Revision 1.58  2002/04/04 06:32:58  hal9
+# New dok targets for make readme.
+#
+# Revision 1.57  2002/04/04 00:36:36  gliptak
+# always use pcre for matching
+#
+# Revision 1.56  2002/04/03 22:28:03  gliptak
+# Removed references to gnu_regex
+#
+# Revision 1.55  2002/04/03 19:54:29  swa
+# freebsd tested to work. attempt to move tarball dist target forward
+#
+# Revision 1.54  2002/04/03 14:54:07  oes
+# Standard clean and clobber semantics II
+#
+# Revision 1.53  2002/04/03 14:19:16  oes
+# Standard clean and clobber semantics
+#
+# Revision 1.52  2002/04/03 02:56:18  hal9
+# Revert previous FAQ numbering kludge.
+#
+# Revision 1.51  2002/04/02 13:03:56  oes
+# Added fix for webserver permissions
+#
+# Revision 1.50  2002/04/02 03:46:24  hal9
+# Rewrite ldpOK.dsl so that sections are NOT numbered on FAQ, in an effort
+# to make the Table of Contents not so 'busy' looking. SuSE needs testing :)
+#
+# Revision 1.49  2002/03/30 22:20:12  swa
+# cd didn't work. neither did find.
+#
+# Revision 1.48  2002/03/30 19:04:06  swa
+# people release differently. no good.
+# I want to make parts of the docs only.
+#
+# Revision 1.47  2002/03/30 09:05:21  swa
+# better packaging. better rpm building.
+# tar failed on sun (no exclude there).
+#
+# Revision 1.46  2002/03/29 20:09:01  swa
+# al's patch
+#
+# Revision 1.45  2002/03/29 19:45:45  swa
+# for lazy swa
+#
+# Revision 1.44  2002/03/29 17:42:44  gliptak
+# Correcting for Solaris tar limitations
+#
+# Revision 1.43  2002/03/29 07:40:03  swa
+# fixed make webserver. doh
+#
+# Revision 1.42  2002/03/29 06:59:04  swa
+# other users could not modify files on webserver
+#
+# Revision 1.41  2002/03/28 20:43:00  swa
+# set make correctly
+#
+# Revision 1.40  2002/03/28 04:22:44  hal9
+# More on man2html stuff.
+#
+# Revision 1.39  2002/03/28 01:04:14  hal9
+# More man2html stuff for docs.
+#
+# Revision 1.38  2002/03/27 16:02:30  swa
+# have a generic target
+#
+# Revision 1.37  2002/03/27 15:30:26  swa
+# have a consistent appearance
+#
+# Revision 1.36  2002/03/27 14:58:08  swa
+# can be used by mutilple targets
+#
+# Revision 1.35  2002/03/27 14:53:19  swa
+# added solaris-dist
+#
+# Revision 1.34  2002/03/27 10:30:11  swa
+# we want a html man file on the webserver
+#
+# Revision 1.33  2002/03/27 03:05:35  hal9
+# Added man2html target for docs (redhat-dok only for now)
+#
+# Revision 1.32  2002/03/26 22:29:54  swa
+# we have a new homepage!
+#
+# Revision 1.31  2002/03/26 14:00:18  swa
+# fixed make tarball, tarball-dist, tarball-clean
+#
+# Revision 1.30  2002/03/25 12:52:25  swa
+# new targets
+#
+# Revision 1.29  2002/03/24 17:03:55  jongfoster
+# Name change
+#
+# Revision 1.28  2002/03/24 16:19:48  swa
+# configure needs to be generated.
+#
+# Revision 1.27  2002/03/24 16:13:57  swa
+# generated files are a nono in cvs
+#
+# Revision 1.26  2002/03/24 15:36:02  swa
+# did not build.
+#
+# Revision 1.25  2002/03/24 14:31:08  swa
+# remove more crappy files. set RPM
+# release version correctly.
+#
+# Revision 1.24  2002/03/24 14:19:55  swa
+# set rpm package release in configure.in. nowhere else.
+#
 # Revision 1.23  2002/03/24 13:06:49  swa
 # suse-clean now runs fine
 #