- Ongoing process to change name to JunkbusterNG
[privoxy.git] / GNUmakefile.in
index d7a095d..d10e0b1 100644 (file)
@@ -1,6 +1,6 @@
 # Note:  Makefile is built automatically from Makefile.in
 #
-# $Id: GNUmakefile.in,v 1.3 2002/01/04 14:45:48 oes Exp $
+# $Id: GNUmakefile.in,v 1.18 2002/03/21 23:00:00 swa Exp $
 #
 # Written by and Copyright (C) 2001 the SourceForge
 # IJBSWA team.  http://ijbswa.sourceforge.net
 # Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 # $Log: GNUmakefile.in,v $
+# Revision 1.18  2002/03/21 23:00:00  swa
+# want to autogenerate stuff.
+#
+# Revision 1.17  2002/03/19 19:30:04  morcego
+# - Fixing stylesheet checking on configure. If it is found, no further checks
+#   should be done
+#
+# - configure will now check for db2html or docbook2html (should work now
+#   on SuSe without the docbktls package)
+#
+# Revision 1.16  2002/03/14 22:32:32  hal9
+# Bumped the RPM version.
+#
+# Revision 1.15  2002/03/08 20:00:28  swa
+# some leftovers.
+#
+# Revision 1.14  2002/03/07 18:25:56  swa
+# synced redhat and suse build process
+#
+# Revision 1.13  2002/03/07 17:17:56  oes
+# (Hopefully) fixed for older make versions
+#
+# Revision 1.12  2002/03/07 15:28:27  swa
+# more informative
+#
+# Revision 1.11  2002/03/06 14:33:18  sarantis
+# Use proper temp file, not "abc".
+#
+# Revision 1.10  2002/03/06 14:19:35  sarantis
+# Cleanup PID_FILE_PATH from redhat-dist target
+#
+# Revision 1.9  2002/03/05 17:31:11  morcego
+# Search for docbook.dsl. Should solve portability problems for SuSe.
+#
+# Revision 1.8  2002/03/05 14:07:42  morcego
+# configure now detects rpm topdir, and change GNUmakefile acordingly
+#    (based on sugestion by Sarantis Paskalis)
+#
+# Revision 1.7  2002/03/05 13:43:28  morcego
+# Checking for text browser, so redhat-dok can work.
+#
+# Revision 1.6  2002/03/05 13:10:51  morcego
+# Changes to implement redhat-dok (Hal Burgiss)
+# Changes to make it work on other distros and out-of-the-shelf configurations
+#
+# Revision 1.5  2002/02/27 15:30:39  hal9
+# Reset $(RPM_PACKAGEV) to 1 (was 2)
+#
+# Revision 1.4  2002/01/17 21:44:04  jongfoster
+# Adding urlmatch.[ch]
+#
+# Revision 1.3  2002/01/04 15:26:08  oes
+# Added tarball-src target
+#
 # Revision 1.2  2001/12/30 14:07:31  steudten
 # - Add signal handling (unix)
 # - Add SIGHUP handler (unix)
@@ -210,7 +264,7 @@ 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  = 2
+RPM_PACKAGEV  = 3
 
 
 #############################################################################
@@ -226,7 +280,7 @@ MAN_DEST    = @mandir@
 # Build tools
 #############################################################################
 
-PROGRAM    = junkbuster@EXEEXT@
+PROGRAM    = jbng@EXEEXT@
 CC         = @CC@
 ECHO       = echo
 GZIP_PROG  = gzip
@@ -234,13 +288,18 @@ INSTALL    = cp -f
 LD         = @CC@
 RM         = rm -f
 STRIP_PROG = strip
-SED         = sed
+SED       = sed
 CAT        = cat
 RPM        = rpm
-MV             = mv
+MV        = mv
 TAR        = tar
 MAKE       = make
 LN         = ln
+WDUMP      = @WDUMP@ -dump
+JADEBIN    = @JADEBIN@
+DB         = $(JADEBIN) -t sgml -ihtml -D.. -d ldpOK.dsl\#html
+DB2HTML    = @DB2HTML@
+DKPREFIX   = @DKPREFIX@
 
 # Program to do LF->CRLF
 #
@@ -255,8 +314,8 @@ DOSFILTER  = perl -p -e 's/\n/\r\n/'
 # Setup for make distribution rh and suse for now 
 #############################################################################
 
-TAR_ARCH = /tmp/ijbswa-$(RPM_VERSION).tar.gz
-RPM_BASE = /usr/src/redhat
+TAR_ARCH = /tmp/JunkbusterNG-$(RPM_VERSION).tar.gz
+RPM_BASE = @RPM_BASE@
 
 #############################################################################
 # Filenames and libraries
@@ -264,7 +323,8 @@ RPM_BASE = /usr/src/redhat
 
 C_SRC  = actions.c cgi.c cgiedit.c cgisimple.c deanimate.c encode.c \
          errlog.c filters.c gateway.c jbsockets.c jcc.c killpopup.c \
-         list.c loadcfg.c loaders.c miscutil.c parsers.c ssplit.c
+         list.c loadcfg.c loaders.c miscutil.c parsers.c ssplit.c \
+         urlmatch.c
 
 C_OBJS = $(C_SRC:.c=.@OBJEXT@)
 C_HDRS = $(C_SRC:.c=.h) project.h actionlist.h
@@ -341,7 +401,8 @@ all: $(PROGRAM)
 # Phony targets
 #############################################################################
 .PHONY: all inifiles redhat-dist redhat-upload solaris-dist suse-dist \
-suse-upload win-dist tarball-dist dok webserver clean clobber tags install
+suse-upload win-dist tarball-dist dok redhat-dok webserver clean clobber tags \
+install
 
 
 #############################################################################
@@ -380,31 +441,39 @@ re_filterfile.txt: re_filterfile
 #############################################################################
 
 redhat-dist:
-       @for dir in RPMS SRPMS BUILD SOURCES SPECS; do \
+       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."; \
-                       exit; \
+                       $(ECHO) "Or add a suitable path to .rpmmacros like."; \
+                       $(ECHO) "%_topdir /home/foo/rpm-build"; \
+                       exit 1; \
                fi; \
-       done ; \
-       $(MAKE) clobber; \
-       [ -f $(TAR_ARCH) ] && $(RM) $(TAR_ARCH); \
-       $(CAT) junkbuster-rh.spec | \
-               $(SED) 's/^Version:.*/Version: $(RPM_VERSION)/g;s/^Release:.*/Release: $(RPM_PACKAGEV)/g' > abc && \
-               $(MV) -f abc junkbuster-rh.spec; \
-       $(CAT) junkbuster.init | \
-               $(SED) 's#JB_PID=.*/\(.*\.pid\).*#JB_PID=@PID_FILE_PATH@/\1#g' > abc && \
-               $(MV) -f abc junkbuster.init; \
-       $(TAR) --exclude "CVS" --exclude "junkbuster-suse.spec" -cvzf $(TAR_ARCH) . ; \
-       $(RPM) --clean -ta  $(TAR_ARCH); \
-       [ -f $(TAR_ARCH) ] && $(RM) $(TAR_ARCH)
+       done; \
+
+       $(MAKE) clobber
+       if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+
+       TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
+       if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+             -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
+              junkbusterng-rh.spec > $$TMPFILE ; then \
+      $(MV) -f $$TMPFILE junkbusterng-rh.spec; \
+   else \
+      $(ECHO) "Could not set version info in specfile."; \
+      exit 1;\
+   fi
+
+       $(TAR) --exclude "CVS" --exclude "junkbuster-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/junkbuster-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+       ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/junkbusterng-$(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/*/junkbuster-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+       ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/junkbusterng-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
        @$(ECHO) -------------------------------------------------------
        @$(ECHO) Now goto
        @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
@@ -423,26 +492,39 @@ solaris-dist:
 #############################################################################
 
 suse-dist:
-       @make clobber
-# verify that i'm root needs to be done
-       rm -f ../ijbswa.tar.gz
-# verify all version strings, FLAGS, etc. in the spec file
-       cat junkbuster-suse.spec | sed 's/^Version:.*/Version: $(RPM_VERSION)/g' | sed 's/^Release:.*/Release: $(RPM_PACKAGEV)/g' > abc && mv -f abc junkbuster-suse.spec
-       tar --exclude "CVS" --exclude "junkbuster-rh.spec" -cvzf ../ijbswa.tar.gz .
-# verify all files in their correct location needs to be done
-# never use buildroot to define the location inside the spec
-# file or suse will fuck up the build process.
-       cd .. && rpm -ta --buildroot /tmp/xxx ijbswa.tar.gz
-       chmod a+r /usr/src/packages/SRPMS/*
-       chmod a+r /usr/src/packages/RPMS/i386/*
+       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
+
+       TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
+       if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+             -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
+              junkbuster-suse.spec > $$TMPFILE ; then \
+      $(MV) -f $$TMPFILE junkbuster-suse.spec; \
+   else \
+      $(ECHO) "Could not set version info in specfile."; \
+      exit 1;\
+   fi
+
+       $(TAR) --exclude "CVS" --exclude "junkbuster-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 /usr/src/packages/SRPMS/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm
+       ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/junkbuster-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 /usr/src/packages/RPMS/*/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+       ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/junkbuster-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
        @$(ECHO) -------------------------------------------------------
        @$(ECHO) Now goto
        @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
@@ -453,6 +535,8 @@ suse-upload:
 suse-clean:
        rpm -e junkbuster-suse
        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
@@ -473,8 +557,8 @@ 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 ../ijb-distribution-$(VERSION).tar.gz ijb/
-       chmod a+r ../../ijb-distribution-$(VERSION).tar.gz
+       cd .. && $(RM) ijb/a.out ijb/core ijb/*.@OBJEXT@ && tar --exclude "ijb/CVS" -cvzf ../JunkbusterNG-distribution-$(VERSION).tar.gz ijb/
+       chmod a+r ../../JunkbusterNG-distribution-$(VERSION).tar.gz
        @$(ECHO) Tarball with binary created.
 
 #############################################################################
@@ -484,20 +568,50 @@ tarball-dist:
 # converts doc/source/*.sgml into html, text and man pages
 #
 #############################################################################
-dok:
+dok: doc/source/ldpOK.dsl
        mkdir -p doc/text doc/man
 #  user manual
        rm -rf doc/webserver/user-manual
-       cd doc/source && db2html -s ldp.dsl user-manual.sgml && mv user-manual ../webserver
-       cd doc/source && db2html -s ldp.dsl --nochunks user-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/user-manual.txt && rm -rf tmp.html 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 && db2html -s ldp.dsl developer-manual.sgml && mv developer-manual ../webserver
-       cd doc/source && db2html -s ldp.dsl --nochunks developer-manual.sgml > tmp.html && lynx -dump tmp.html > ../text/developer-manual.txt && rm -rf tmp.html 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 && db2html -s ldp.dsl faq.sgml && mv faq ../webserver
-       cd doc/source && db2html -s ldp.dsl --nochunks faq.sgml > tmp.html && lynx -dump tmp.html > ../text/faq.txt && rm -rf tmp.html 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
+
+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
 
 #############################################################################
 #
@@ -508,7 +622,7 @@ dok:
 #############################################################################
 webserver:
        @$(ECHO) -------------------------------------------------------
-       @$(ECHO) You have run make dok before, right?
+       @$(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) -------------------------------------------------------
@@ -538,6 +652,7 @@ loaders.@OBJEXT@:   loaders.c   loaders.h   config.h $(PROJECT_H_DEPS) errlog.h
 miscutil.@OBJEXT@:  miscutil.c  miscutil.h  config.h
 parsers.@OBJEXT@:   parsers.c   parsers.h   config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h jbsockets.h jcc.h loadcfg.h loaders.h miscutil.h ssplit.h
 ssplit.@OBJEXT@:    ssplit.c    ssplit.h    config.h miscutil.h
+urlmatch.@OBJEXT@:  urlmatch.c  urlmatch.h  config.h $(PROJECT_H_DEPS) errlog.h miscutil.h ssplit.h
 
 # GNU regex
 gnu_regex.@OBJEXT@: gnu_regex.c gnu_regex.h config.h
@@ -589,9 +704,9 @@ tags: $(SRCS) $(HDRS)
        etags $(SRCS) $(HDRS)
 
 tarball-src: clobber
-       $(LN) -s current ../ijb-$(VERSION)-$(CODE_STATUS)
-       $(TAR) -C.. -cvhzf ijb-$(VERSION)-$(CODE_STATUS)-src.tar.gz ijb-$(VERSION)-$(CODE_STATUS)
-       $(RM) ../ijb-$(VERSION)-$(CODE_STATUS)
+       $(LN) -s current ../JunkbusterNG-$(VERSION)-$(CODE_STATUS)
+       $(TAR) -C.. -cvhzf JunkbusterNG-$(VERSION)-$(CODE_STATUS)-src.tar.gz JunkbusterNG-$(VERSION)-$(CODE_STATUS)
+       $(RM) ../JunkbusterNG-$(VERSION)-$(CODE_STATUS)
 
 install: all
        #
@@ -608,7 +723,7 @@ install: all
        $(INSTALL) config ijb.action re_filterfile trust $(DEST)
        # FIXME $(ECHO) junkbuster.logrotate junkbuster.monthly junkbuster.weekly
        # FIXME: Need new manual! $(GZIP_PROG) -c junkbuster.1 > $(MAN_DEST)/junkbuster.1.gz
-       $(INSTALL) junkbuster.init /etc/init.d/junkbuster
+       $(INSTALL) junkbusterng.init /etc/init.d/junkbusterng
 
 
 #############################################################################