X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=GNUmakefile.in;h=5237aaeaa046817a0ca89ceef256f3c17ce7a445;hp=4b29204445f12aacb734e04c9a7c79bad1974654;hb=9d463432b4e7421b58ea6b6762dbb427e83d9780;hpb=fd19784a5e1c7ae02a809c66e58d0d80aabd3f8c diff --git a/GNUmakefile.in b/GNUmakefile.in index 4b292044..5237aaea 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,6 +1,6 @@ # Note: Makefile is built automatically from Makefile.in # -# $Id: GNUmakefile.in,v 1.48 2002/03/30 19:04:06 swa Exp $ +# $Id: GNUmakefile.in,v 1.105 2002/05/25 22:48:19 hal9 Exp $ # # Written by and Copyright (C) 2001 the SourceForge # Privoxy team. http://www.privoxy.org/ @@ -42,9 +42,7 @@ VERSION_MINOR = @VERSION_MINOR@ VERSION_POINT = @VERSION_POINT@ CODE_STATUS = @CODE_STATUS@ VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT) -# will automatically be postfixed with -$(RPM_PACKAGEV) in the SPECfile RPM_VERSION = $(VERSION) -RPM_PACKAGEV = @VERSION_RPM_PACKAGE@ ############################################################################# @@ -55,7 +53,7 @@ DEST = @prefix@ CONFDEST = @prefix@@sysconfdir@ SBIN_DEST = @prefix@@sbindir@ MAN_DEST = @prefix@@mandir@ - +DOK_WEB_USEM=doc/webserver/user-manual ############################################################################# # Build tools @@ -80,13 +78,17 @@ MV = mv TAR = tar LN = ln WDUMP = @WDUMP@ -dump +JADECAT = @JADECAT@ JADEBIN = @JADEBIN@ -DB = $(JADEBIN) -t sgml -ihtml -D.. -d ldpOK.dsl\#html +DB = $(JADEBIN) $(JADECAT) -ihtml -t sgml -D.. -d ldp.dsl\#html DB2HTML = @DB2HTML@ -DKPREFIX = @DKPREFIX@ MAN2HTML = @MAN2HTML@ G2H_CMD = groff -mandoc -Thtml TARGET_OS = @host@ +PERL = perl +DOC_DIR = doc/source +DOC_TMP = $(DOC_DIR)/tmp + #User Group paras USER = @USER@ @@ -99,7 +101,7 @@ GROUP = @GROUP@ # - 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 @@ -121,7 +123,10 @@ CONFIG_FILES = config trust \ `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 + `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 @@ -150,12 +155,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) @@ -208,7 +210,7 @@ all: $(PROGRAM) ############################################################################# .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 +install conectiva-spec conectiva-dist conectiva-upload ############################################################################# @@ -242,10 +244,35 @@ trust.txt: trust 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: +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."; \ @@ -255,29 +282,59 @@ rpm-stuff: fi; \ done; \ - $(MAKE) clobber - 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 ""; \ + echo "ATTENTION: If your distribution use a specific tag on the"; \ + echo " release field (like \"cl\" for Conectiva, and"; \ + echo " \"mdk\" for Mandrake), DO NOT put it on the value"; \ + echo " given to RPM_PACKAGEV. It will be added automaticaly."; \ + echo " Do it like you would do for a redhat package,"; \ + echo " (i.e. just the number)."; \ + echo ; \ + exit 1; \ + fi + + +############################################################################# +# Create Conectiva specfile from RedHat specfile +############################################################################# +conectiva-spec: + $(RM) privoxy-cl.spec + chmod a+x genclspec.sh + ./genclspec.sh + +############################################################################# +# Conectiva distribution for x86 +############################################################################# +conectiva-dist: rpm-stuff conectiva-spec + + $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-suse.spec" --exclude "privoxy-rh.spec" --exclude "PACKAGERS" -czf $(TAR_ARCH) . + $(RPM) --clean -ta $(TAR_ARCH) + if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi + +conectiva-upload: check-release + make redhat-upload RPM_PACKAGEV=$(RPM_PACKAGEV)cl ############################################################################# # 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 - $(TAR) --exclude "CVS" --exclude "privoxy-suse.spec" -czf $(TAR_ARCH) . + $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-suse.spec" --exclude "privoxy-cl.spec" --exclude "PACKAGERS" -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: +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 @@ -292,22 +349,22 @@ redhat-upload: # 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 "CVS" --exclude "privoxy-rh.spec" -czf $(TAR_ARCH) . +# 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" --exclude "privoxy-cl.spec" --exclude "PACKAGERS" -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: +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 @@ -319,29 +376,29 @@ suse-upload: # 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 + $(RPM) -e junkbuster-suse || true + $(RM) -r /etc/junkbuster + $(RM) -r /etc/rc.d/junkbuster* + $(RM) -r /var/run/junkbuster.pid + $(RM) -r /var/log/junkbuster + $(RM) /etc/init.d/junkbuster + $(RM) /usr/sbin/junkbuster + $(RM) /usr/sbin/rcjunkbuster + $(RM) /usr/share/man/man1/junkbuster.1.gz + $(RPM) -e privoxy-suse || true + $(RM) -r /etc/privoxy + $(RM) -r /etc/rc.d/privoxy* + $(RM) -r /var/run/privoxy.pid + $(RM) -r /var/log/privoxy + $(RM) /etc/init.d/privoxy + $(RM) /usr/sbin/privoxy + $(RM) /usr/sbin/rcprivoxy + $(RM) /usr/share/man/man1/privoxy.1.gz ############################################################################# # generic distribution ############################################################################# -gen-dist: +gen-dist: dist-check @$(ECHO) "" @$(ECHO) "You have run autoconf && autoheader && ./configure right?" @$(ECHO) "" @@ -349,14 +406,14 @@ gen-dist: $(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)) + (cd .. && $(TAR) -cvhf --exclude "PACKAGERS" 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;) \ + (cd .. && $(TAR) -uvhf --exclude "PACKAGERS" 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;) \ + (cd .. && $(TAR) -uvhf --exclude "PACKAGERS" privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \ done; # and zip the archive $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) @@ -377,7 +434,7 @@ gen-clean: $(RM) privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar* ############################################################################# -# solaris distribution +# solaris distribution. verified on SF machines by swa. ############################################################################# solaris-dist: gen-dist @$(ECHO) Done. @@ -400,9 +457,16 @@ hpux-upload: # debian distribution ############################################################################# debian-dist: - @$(ECHO) coming soon. + @$(ECHO) Creating Debian package. Will exist in parent directory. + dpkg-buildpackage -rfakeroot -us -uc debian-upload: - @$(ECHO) coming soon. + ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming ../privoxy_$(shell dpkg-parsechangelog | grep "Version" | sed "s/Version: //")_$(shell dpkg --print-architecture).deb + @$(ECHO) ------------------------------------------------------- + @$(ECHO) Now goto + @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118 + @$(ECHO) ... and release the files. + @$(ECHO) ------------------------------------------------------- + ############################################################################# # macosx distribution @@ -421,12 +485,16 @@ amiga-upload: @$(ECHO) coming soon. ############################################################################# -# freebsd distribution +# freebsd distribution. verified on SF machines by swa. ############################################################################# -freebsd-dist: - @$(ECHO) coming soon. -freebsd-upload: - @$(ECHO) coming soon. +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 @@ -436,27 +504,35 @@ win-dist: ############################################################################# -# Tarball distribution +# Tarball distribution: No CVS dirs, dotfiles, debian build dir, +# (FIXME:) only parts of the static / generated docs mix in doc/webserver ############################################################################# -tarball-dist: clobber + +tarball-dist: dist-check clean clobber $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS) - cd .. && find privoxy-$(VERSION)-$(CODE_STATUS) -# cd .. && $(TAR) --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -cvhzf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz privoxy-$(VERSION)-$(CODE_STATUS) -# $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) - @$(ECHO) Tarball without any binary created. + + for i in `find . -type f -a -not \( -path "*/CVS*" -o -name ".*" \ + -o -path "*/debian/*" -o -path "*/actions/*" -o -name "*.php" -o -name "PACKAGERS" \)`; 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 + 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 + $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz ############################################################################# # @@ -466,94 +542,155 @@ tarball-clean: # ############################################################################# -# 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 - mkdir -p doc/text - 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 - -## user manual -dok-user: doc/source/ldpOK.dsl - mkdir -p doc/text - 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 - -## faq -dok-faq: doc/source/ldpOK.dsl - mkdir -p doc/text - 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 - -## man page -dok-man: doc/source/ldpOK.dsl - mkdir -p doc/man - mkdir -p doc/webserver/man-page - if [ "$(MAN2HTML)" != "false" ]; then \ - $(ECHO) "Privoxy|Doc/Man page

NAME

" > doc/webserver/man-page/privoxy-man-page.html; \ - man ./privoxy.1 | $(MAN2HTML) -bare \ - >> doc/webserver/man-page/privoxy-man-page.html; \ - $(ECHO) "" >> doc/webserver/man-page/privoxy-man-page.html; \ - else \ - $(MAKE) groff2html; \ - fi - -dok: dok-devel dok-user dok-faq dok-man -## kludge to force recreation on next run. Rodgrigo? - @rm -f doc/source/ldpOK.dsl +# developer manual +dok-devel: + $(RM) doc/webserver/developer-manual/*.html + $(RM) -r 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) -r tmp.html developer-manual + +# user manual +dok-user: + $(RM) doc/webserver/user-manual/*.html + $(RM) -r 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) -r tmp.html user-manual + +# faq +dok-faq: + $(RM) doc/webserver/faq/*.html + $(RM) -r 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) -r tmp.html faq + +# man page +dok-man: + $(RM) doc/man/* doc/webserver/man-page/*.html +ifneq ($(MAN2HTML),false) + $(ECHO) "Privoxy Man page

NAME

" > doc/webserver/man-page/privoxy-man-page.html + man ./privoxy.1 | $(MAN2HTML) -bare >> doc/webserver/man-page/privoxy-man-page.html + $(ECHO) "" >> doc/webserver/man-page/privoxy-man-page.html +else + $(MAKE) groff2html +endif + +# readme page +dok-readme: + cd doc/source && $(DB)-notoc -V nochunks readme.sgml > tmp.html &&\ + $(WDUMP) tmp.html > ../../README && $(RM) -r tmp.html + +# webserver files +dok-webserver: + cd doc/source/webserver && $(DB)-notoc -V nochunks index.sgml > ../../webserver/index.html + $(PERL) -pi.bak -e 's/..\/p_doc.css/p_doc.css/;\ + s/<\/HEAD/\n<\/HEAD/;\ + s/<\/HEAD/\n<\/HEAD/;\ + s/\.\d\. //'\ + doc/webserver/index.html && $(RM) doc/source/webserver/*.bak + +# Main documentation target. +dok: dok-release dok-devel dok-user dok-faq dok-readme dok-webserver dok-authors @$(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 - 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 -## kludge to force recreation on next run. Rodgrigo? - @rm -f doc/source/ldpOK.dsl +# 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 dok-authors + @$(ECHO) Documentation created. # 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///; s//man2html/' doc/webserver/man-page/privoxy-man-page.html; \ - else \ - $(MAKE) groff2html; \ - fi +ifneq ($(MAN2HTML),false) + $(MAN2HTML) privoxy.1 |grep -v "^Content-type" > tmp.html + $(PERL) -pi.bak -e 's///; s//man2html/' tmp.html + $(PERL) -pi.bak -e 's/(<\/HEAD>)/<\/HEAD>/' tmp.html +# Get rid of spurious  from conversion. (How to do this with perl?) + $(SED) -e 's///g' tmp.html > doc/webserver/man-page/privoxy-man-page.html && $(RM) tmp.* +else + $(MAKE) groff2html +endif + +# Otherwise we get plain groff conversion. +groff2html: + $(G2H_CMD) ./privoxy.1 | $(SED) -e 's@@@' > doc/webserver/man-page/privoxy-man-page.html + +## Make README +redhat-readme: + cd doc/source && $(DB) -V nochunks readme.sgml > tmp.html && $(WDUMP) \ + tmp.html > ../../README && $(RM) -r tmp.html + +## Make AUTHORS file +dok-authors: + cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && $(WDUMP) \ + tmp.html > ../../AUTHORS && $(RM) tmp.html + +# 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: + mkdir -p doc/source/man + cd doc/source/man && docbook2man ../privoxy-man-page.sgml &&\ + perl -pi.bak -e 's/ //; 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 + +# 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///;\ + s///' \ + doc/source/*sgml doc/source/*/*sgml + $(RM) -r doc/source/*bak doc/source/*/*bak +ifeq ($(CODE_STATUS),stable) + @$(ECHO) Setting docs to stable $(VERSION) + @$(PERL) -pi.bak -e 's///;\ + s///' \ + doc/source/*sgml doc/source/*/*sgml + $(RM) -r doc/source/*bak doc/source/*/*bak +else + @$(ECHO) Setting docs to not stable $(VERSION) + @$(PERL) -pi.bak -e 's///;\ + s///' \ + doc/source/*sgml doc/source/*/*sgml + $(RM) -r doc/source/*bak doc/source/*/*bak +endif + +dok-pdf: dok-release + $(RM) doc/pdf/*.pdf + cp -f doc/source/*.sgml doc/pdf + cp -f doc/source/*.dsl doc/pdf + cd doc/pdf && db2pdf --pdf -s ldp.dsl user-manual.sgml && mv user-manual.pdf privoxy-user-manual.pdf > /dev/null 2>&1 + cd doc/pdf && db2pdf --pdf -s ldp.dsl developer-manual.sgml && mv developer-manual.pdf privoxy-developer-manual.pdf > /dev/null 2>&1 + cd doc/pdf && db2pdf --pdf -s ldp.dsl faq.sgml && mv faq.pdf privoxy-faq.pdf > /dev/null 2>&1 + $(RM) doc/pdf/*.sgml doc/pdf/*.dsl doc/pdf/*.out doc/pdf/*.tex doc/pdf/*.log doc/pdf/*.aux + +# the layout and style with db2pdf sucks, here is an alternative +dok-pdf2: dok-release + mkdir -p doc/source/temp # this directory not in cvs + cd doc/source && $(DB) -V nochunks user-manual.sgml > temp/privoxy-user-manual.html + cd doc/source && $(DB) -V nochunks developer-manual.sgml > temp/privoxy-developer-manual.html + cd doc/source && $(DB) -V nochunks faq.sgml > temp/privoxy-faq.html +# one could use html2ps and ps2pdf. well, that does not work. htmlps produces incorrect output. + +# Create release announcement in text and html, with short and long versions. +# This is a standalone target, and must be invoked directly. +announce: dok-release + mkdir -p $(DOC_TMP) + cd $(DOC_TMP) && cp -f ../announce.sgml . && $(DB) -iannounce-big announce.sgml &&\ + mv -f index.html announce.html && $(WDUMP) announce.html > announce.txt + cd $(DOC_TMP) && $(DB) announce.sgml &&\ + mv -f index.html announce-mini.html && $(WDUMP) announce-mini.html > announce-mini.txt &&\ + mv -f *html *txt ../../.. + rm -fr $(DOC_TMP) ############################################################################# # @@ -562,25 +699,33 @@ man2html: # 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) ------------------------------------------------------- - find doc/webserver -type f -exec chmod 664 {} \; -# not sure if we need next line.swa. - chmod 775 doc/webserver/redirect.php - find doc/webserver -type d -exec chmod a+rx {} \; - cd doc/webserver && scp -Cr . ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ -webquick: - find doc/webserver -type f -exec chmod 664 {} \; -# not sure if we need next line.swa. - chmod 775 doc/webserver/redirect.php - find doc/webserver -type d -exec chmod a+rx {} \; - cd doc/webserver/submit && scp -Cr . ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/submit + @$(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 @@ -647,10 +792,23 @@ $(PROGRAM): $(OBJS) $(W32_FILES) $(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) clean: - $(RM) a.out core $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) junkbuster config.log + $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) `find . -name TAGS -o -name tags` -clobber: clean - $(RM) 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 +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 privoxy-cl.spec doc/source/ldp.dsl + +# +# FIXME: What is all this? +# + $(RM) cscope.* *.pdb *.lib *.exp + +distclean: clobber tags: $(SRCS) $(HDRS) etags $(SRCS) $(HDRS) @@ -664,16 +822,22 @@ install: all $(STRIP_PROG) $(PROGRAM) $(INSTALL) $(INSTALL_D) $(SBIN_DEST) $(INSTALL) $(INSTALL_D) $(DEST)/user-manual - $(INSTALL) $(INSTALL_D) $(DEST)/templates - $(INSTALL) $(INSTALL_D) $(CONFDEST) + $(INSTALL) $(INSTALL_D) $(CONFDEST)/templates + $(INSTALL) $(INSTALL_D) $(DEST)/$(DOK_WEB_USEM) $(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 + 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 +coffee: + @perl -e 'print pack "C*", (31,139,8,8,153,63,226,60,2,3,99,111,102,102,101,101,0,109,143,205,13,192,32,8,133,\ + 239,78,241,110,234,1,28,160,171,152,208,53,26,117,247,22,165,73,137,125,9,1,62,126,2,128,169,5,243,143,\ + 13,139,49,164,65,100,149,152,102,73,141,88,73,178,116,205,100,69,253,36,102,81,49,83,236,19,225,171,131,\ + 214,172,163,73,4,168,123,115,71,126,247,122,94,128,178,227,95,154,12,86,215,122,197,249,146,187,54,220,125,\ + 193,51,228,11,1,0,0);'|zcat ############################################################################# @@ -682,6 +846,218 @@ install: all ## end: # $Log: GNUmakefile.in,v $ +# Revision 1.105 2002/05/25 22:48:19 hal9 +# Add -notoc to README build (per oes's dsl magic). +# +# Revision 1.104 2002/05/24 00:03:49 oes +# Use p_doc.css for the Homepage for consistency +# +# Revision 1.103 2002/05/23 23:19:00 oes +# Use dsl without TOC for the homepage +# +# Revision 1.102 2002/05/16 01:20:17 hal9 +# make announce target added. +# +# Revision 1.101 2002/05/15 12:28:46 oes +# Trying to keep Hal happy :) +# +# Revision 1.100 2002/05/08 13:48:18 hal9 +# Ooops, that trashed JB v2.0.2 comment. Fixed. +# +# Revision 1.99 2002/05/08 13:42:07 hal9 +# This fixes the numbering problem on index.html in contact info section (.1.). Using +# perl, since its way too convoluted to try to fix proper with docbook. +# +# Revision 1.98 2002/05/03 14:33:06 oes +# Replaced ldp(OK).dsl handling with generation via autoconf; handle all file exeptions to src tarball via find +# +# Revision 1.97 2002/04/27 20:27:43 swa +# no longer needed due to new +# PACKAGE_VERSION process +# +# Revision 1.96 2002/04/27 17:44:32 morcego +# - Correcting typo in my name (Rodrigo, not Rodgrigo) :-) +# - Using the RM macro everywhere rm is called (either we use, or don't) +# - Same for RPM +# +# Revision 1.95 2002/04/27 15:37:25 swa +# replacing directory in document creation process +# no longer necessary. +# +# Revision 1.94 2002/04/27 08:23:29 swa +# pdf process reviewed and cleaned up +# +# Revision 1.93 2002/04/27 04:55:53 morcego +# privoxy-cl.spec now gets removed by clobber target +# +# Revision 1.92 2002/04/27 04:53:40 morcego +# Adding --exclude "PACKAGERS" to every tar command that applies (not for +# webserver target) +# +# Revision 1.91 2002/04/27 04:44:51 morcego +# GNUmakefile.in: The tarball created on redhat-dist and suse-dist now ignore +# the PACKAGERS file, as well privoxy-cl.spec (in case it was created) +# GNUmakefile.in: New targets -> conectiva-spec, conectiva-dist and +# conectiva-upload +# genclspec.sh : New file to generate, from privoxy-rh.spec, a specfile +# for Conectiva Linux +# +# Revision 1.90 2002/04/26 17:46:53 swa +# be consistent +# +# Revision 1.89 2002/04/26 17:20:54 swa +# just produce single html files to proces them later with Destiller or somesuch. looks prettier. +# +# Revision 1.88 2002/04/25 19:13:57 morcego +# Removed RPM release number declaration on configure.in +# Changed makefile to use given value for RPM_PACKAGEV when on uploading +# targets (will produce an error, explaining who to do it, if no value +# if provided). +# +# Revision 1.87 2002/04/23 14:10:59 swa +# now create pdf documents +# +# Revision 1.86 2002/04/15 04:30:27 hal9 +# Missed two -pi.bak's on perl/cygwin problem. +# +# Revision 1.85 2002/04/14 01:05:34 hal9 +# Revert dok-webserver change for SF logo. +# +# Revision 1.84 2002/04/13 22:43:25 hal9 +# -Fix dok-webserver for SF logo (more perl). +# -Change all perl -pi to perl -pi.bak for Cygwin problem. +# +# Revision 1.83 2002/04/12 09:39:25 oes +# Excluding yet more files from tarball; making dist warning yet more scary +# +# Revision 1.82 2002/04/11 21:07:11 oes +# Excluding more files from tarball build +# +# Revision 1.81 2002/04/11 14:40:27 oes +# Fixed typo -- Thanks, Moritz! +# +# Revision 1.80 2002/04/11 12:50:00 oes +# Fixed tarball-dist target +# +# Revision 1.79 2002/04/11 06:49:28 oes +# webserver target: silenced timestamp warnings resulting from uploading westwards, made permissions fixing independant of screwed local dir permissions, suppress (false alarm) make error if not owner of feedback log +# +# 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.