# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.27 2002/03/24 16:13:57 swa Exp $
+# $Id: GNUmakefile.in,v 1.78 2002/04/09 13:37:11 sarantis 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)
#############################################################################
# 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@
+DOK_WEB_USEM=doc/webserver/user-manual
#############################################################################
# Build tools
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
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@
+PERL = perl
+
+#User Group paras
+USER = @USER@
+GROUP = @GROUP@
# Program to do LF->CRLF
#
# - Jon
#DOSFILTER = $(SED) -e $$'s,$$,\r,'
#DOSFILTER = gawk -v ORS='\r\n' '{print $0;}'
-DOSFILTER = perl -p -e 's/\n/\r\n/'
+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
#############################################################################
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)
#############################################################################
-# redhat distribution alpha and x86
+# 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 "want to continue: "; \
+ read answer; \
+ if [ "$$answer" != "yes i am sure" ]; then exit 1; fi \
+ fi;
+
-redhat-dist:
+#############################################################################
+# 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."; \
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) .
+ $(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
-#
# 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
# w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
#############################################################################
-# sun solaris distribution
+# suse distribution. works fine. no need to be root.
#############################################################################
-solaris-dist:
- @$(ECHO) coming soon.
-
-#############################################################################
-# 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) .
+ $(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:
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
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
#############################################################################
#############################################################################
-# Tarball distribution
+# Tarball distribution. Only source files. No binaries.
#############################################################################
-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 current/
- chmod a+r ../../privoxy-distribution-$(VERSION).tar.gz
- @$(ECHO) Tarball with binary created.
+
+MISC_FILES = install-sh config.sub configure.in GNUmakefile.in config.h.in config.guess privoxy*
+
+tarball-dist: dist-check
+ $(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
#############################################################################
#
# 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
- mkdir -p doc/text doc/man doc/source/user-manual \
- doc/source/developer-manual doc/source/faq
-## user manual
- rm -rf doc/webserver/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
-## developer manual
- rm -rf doc/webserver/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
-## faq
- rm -rf doc/webserver/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
+# 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; \
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 -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
+
+# Removed dok-man 04/08/02, hal. Added authors and dok-release. And
+# dok-webserver!
+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 -e 's/<A .*Contents<\/A>//; s/<A .*man2html<\/A>/man2html/' tmp.html
+ $(PERL) -pi -e 's/(<\/HEAD>)/<LINK REL=\"STYLESHEET\" TYPE=\"text\/css\" HREF=\"..\/p_doc.css\"><\/HEAD>/' tmp.html
+# Get rid of spurious \a from converion. (How to do this with perl?)
+ $(SED) -e 's/\a//g' tmp.html > doc/webserver/man-page/privoxy-man-page.html && rm -f tmp.html
+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 CVS
+# http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
+# perl module. 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 -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).
+make dok-release:
+ @$(ECHO) Setting doc version and status to $(VERSION), $(CODE_STATUS)
+ @$(PERL) -pi -e 's/<!entity +p-version.*>/<!entity p-version "$(VERSION)">/;\
+ s/<!entity +p-status.*>/<!entity p-status "$(CODE_STATUS)">/' \
+ doc/source/*sgml doc/source/*/*sgml
+ifeq ($(CODE_STATUS),stable)
+ @$(ECHO) Setting docs to stable $(VERSION)
+ @$(PERL) -pi -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
+else
+ @$(ECHO) Setting docs to not stable $(VERSION)
+ @$(PERL) -pi -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
+endif
+
#############################################################################
#
# Webserver
# 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 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
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
$(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 "*~"`
+# $(RM) `find . -name "#*#"` # what is this for??
+ $(RM) `find . -name ".\#*"`
-clobber: clean
- $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` `find . -name TAGS` config.status config.h.in config.log junkbuster.log privoxy.log config.cache *~ *.tar.gz configure
+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
# 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) $(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) privoxy.init /etc/init.d/privoxy
+ $(INSTALL) $(INSTALL_P) privoxy.init /etc/init.d/privoxy
#############################################################################
## end:
# $Log: GNUmakefile.in,v $
+# Revision 1.78 2002/04/09 13:37:11 sarantis
+# fix tar options typo
+#
+# Revision 1.77 2002/04/09 13:28:53 swa
+# build suse and gen-dist with html docs
+#
+# Revision 1.76 2002/04/08 22:43:41 oes
+# Fix: Include dotfiles in fixing webserver permissions
+#
+# Revision 1.75 2002/04/08 22:14:59 oes
+# Silencing tar warnings in the web* targets
+#
+# Revision 1.74 2002/04/08 15:22:44 hal9
+# This has finishing touches for dok building. Should be ready to go.
+# -The main doc build is now 'make dok', should work on Redhat too.
+# -Removed man page from main doc build. It is built separately due to
+# perl scripts that most aren't likely to have.
+#
+# Revision 1.73 2002/04/08 14:03:24 oes
+# oes for al: Fix install target
+#
+# Revision 1.72 2002/04/08 13:42:11 oes
+# Added safety check to *-dist targets; fixed permissions for feedback logfile
+#
+# Revision 1.71 2002/04/07 20:32:03 hal9
+# -Add meta data kludge for make dok-webserver via $(PERL).
+# -Add subdirs for 'make dok-release'.
+#
+# Revision 1.70 2002/04/07 08:59:40 swa
+# generated files. do NOT edit.
+# fixed directory bug in makefile.
+#
+# Revision 1.69 2002/04/07 08:10:47 swa
+# create some of the webserver docs
+# automatically (in particular if
+# those docs recycle other documentation
+# fragments). Now committed webserver's
+# index file.
+#
+# Revision 1.68 2002/04/07 07:58:11 swa
+# create some of the webserver docs
+# automatically (in particular if
+# those docs recycle other documentation
+# fragments)
+#
+# Revision 1.67 2002/04/07 05:31:42 hal9
+# Add 'dok-release' target:
+# -Set doc entities to VERSION and CODE_STATUS during make.
+# -Set doc conditional content flags (stable vs non-stable).
+# A separate target for the time being but needs to be incorporated into
+# dok build at some point.
+# -Filter out a spurious ^G from new man page > html converion in man2html.
+#
+# Revision 1.66 2002/04/06 20:28:21 jongfoster
+# Prettifying groff2html.
+# Using GNU Make's conditional makefile feature rather than shell "if"s.
+# (The shell "if"s were hiding errors)
+# "perl" -> "$(PERL)"
+# Spaces->tabs in a couple of places.
+#
+# Revision 1.65 2002/04/06 05:16:39 hal9
+# -Add 'authors' and 'man' targets for AUTHORS and man-page (WIP).
+# -Both of these will soon be generated files.
+#
+# Revision 1.64 2002/04/04 22:14:51 oes
+# No longer rely on find honoring -iname
+#
+# 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
#