X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=GNUmakefile.in;h=10d57c1a12ef0e0e288e173b2e6e5ff681ac6811;hb=df9216c041d8787f1bbbc171ab9c230e862bea6b;hp=c3c74c67b1ee06f9c48fab3b99c687d8daff2964;hpb=748426a4caffa25e94f84757bbdeaf0a52f791fe;p=privoxy.git diff --git a/GNUmakefile.in b/GNUmakefile.in index c3c74c67..10d57c1a 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,9 +1,9 @@ # Note: Makefile is built automatically from Makefile.in # -# $Id: GNUmakefile.in,v 1.25 2002/03/24 14:31:08 swa Exp $ +# $Id: GNUmakefile.in,v 1.86 2002/04/15 04:30:27 hal9 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 @@ -28,6 +28,11 @@ # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +############################################################################# +# Set make command correctly +############################################################################# +@SET_MAKE@ + ############################################################################# # Version number (for RPM) ############################################################################# @@ -46,10 +51,11 @@ 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@ +DOK_WEB_USEM=doc/webserver/user-manual ############################################################################# # Build tools @@ -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,21 @@ 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) -ihtml -t sgml -D.. -d ldpOK.dsl\#html DB2HTML = @DB2HTML@ DKPREFIX = @DKPREFIX@ +MAN2HTML = @MAN2HTML@ +G2H_CMD = groff -mandoc -Thtml +TARGET_OS = @host@ +PERL = perl + +#User Group paras +USER = @USER@ +GROUP = @GROUP@ # Program to do LF->CRLF # @@ -83,7 +101,7 @@ DKPREFIX = @DKPREFIX@ # - 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 @@ -92,6 +110,24 @@ 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"` \ + `find doc/webserver/ -name "*.html"` \ + `find doc/webserver/ -name "*.css"` \ + privoxy.1 + ############################################################################# # Filenames and libraries ############################################################################# @@ -119,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) @@ -213,10 +246,33 @@ re_filterfile.txt: re_filterfile ############################################################################# -# 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 "really want to proceed: "; \ + 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."; \ @@ -226,26 +282,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) . + $(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 @@ -258,45 +313,24 @@ redhat-upload: # 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 @@ -328,6 +362,100 @@ suse-clean: 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 ############################################################################# @@ -336,15 +464,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: - @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. + +tarball-dist: dist-check clean clobber + $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS) + + for i in `find . -type f -a -not \( -path "*/CVS*" -o -name ".*" \ + -o -path "*/debian/*" -o -path "*/actions/*" -o -name "*.php" \)`; do \ + files="$$files privoxy-$(VERSION)-$(CODE_STATUS)/$$i"; \ + done && \ + cd .. && $(TAR) cvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar $$files ; \ + +# and zip the archive + $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) + $(GZIP_PROG) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar + @$(ECHO) Tarball distribution created. + +# anonymously ncftps the tarball to sourceforge +tarball-upload: + ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz + @$(ECHO) ------------------------------------------------------- + @$(ECHO) Now goto + @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118 + @$(ECHO) ... and release the files. + @$(ECHO) ------------------------------------------------------- + +tarball-clean: + $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz ############################################################################# # @@ -353,44 +501,8 @@ 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 - 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; \ @@ -398,6 +510,145 @@ 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@@@' > 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) "