X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=GNUmakefile.in;h=80a1fc4c135d40ee52f0be4a5f459047b91dc0b5;hb=3bab8c3b9323bf1d4cd9dbdac2b50636e99fd379;hp=4b29204445f12aacb734e04c9a7c79bad1974654;hpb=fd19784a5e1c7ae02a809c66e58d0d80aabd3f8c;p=privoxy.git diff --git a/GNUmakefile.in b/GNUmakefile.in index 4b292044..80a1fc4c 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.96 2002/04/27 17:44:32 morcego 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,15 @@ 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 ldpOK.dsl\#html DB2HTML = @DB2HTML@ DKPREFIX = @DKPREFIX@ MAN2HTML = @MAN2HTML@ G2H_CMD = groff -mandoc -Thtml TARGET_OS = @host@ +PERL = perl #User Group paras USER = @USER@ @@ -99,7 +99,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 +121,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 +153,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 +208,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 +242,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 +280,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 +347,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 +374,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 +404,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 +432,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. @@ -421,12 +476,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 +495,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" \)`; do \ + files="$$files privoxy-$(VERSION)-$(CODE_STATUS)/$$i"; \ + done && \ + cd .. && $(TAR) -cvhf --exclude "PACKAGERS" 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 +533,169 @@ tarball-clean: # ############################################################################# +# now works for swa # 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 +# 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 + cp doc/source/ldp.dsl doc/source/ldpOK.dsl; # Otherwise we get plain groff conversion. groff2html: - $(G2H_CMD) ./privoxy.1 > doc/webserver/man-page/privoxy-man-page.html + $(G2H_CMD) ./privoxy.1 | $(SED) -e 's@@@' > doc/webserver/man-page/privoxy-man-page.html -## developer manual +# 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 + $(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 +# 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 + $(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 +# 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 + $(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 +# man page dok-man: doc/source/ldpOK.dsl - mkdir -p doc/man - mkdir -p doc/webserver/man-page - if [ "$(MAN2HTML)" != "false" ]; then \ - $(ECHO) "