- Fixing stylesheet checking on configure. If it is found, no further checks
[privoxy.git] / GNUmakefile.in
index 45a4874..c19129e 100644 (file)
@@ -1,6 +1,6 @@
 # Note:  Makefile is built automatically from Makefile.in
 #
-# $Id: GNUmakefile.in,v 1.1 2001/12/01 11:22:57 jongfoster Exp $
+# $Id: GNUmakefile.in,v 1.16 2002/03/14 22:32:32 hal9 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.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)
+# - Add creation of pidfile (unix)
+# - Add action 'top' in rc file (RH)
+# - Add entry 'SIGNALS' to manpage
+# - Add exit message to logfile (unix)
+#
 # Revision 1.1  2001/12/01 11:22:57  jongfoster
 # Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
 # make break in a more obvious way.
 VERSION_MAJOR = @VERSION_MAJOR@
 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  = 2
+RPM_PACKAGEV  = 3
 
 
 #############################################################################
@@ -231,6 +284,12 @@ RPM        = rpm
 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
 #
@@ -246,7 +305,7 @@ DOSFILTER  = perl -p -e 's/\n/\r\n/'
 #############################################################################
 
 TAR_ARCH = /tmp/ijbswa-$(RPM_VERSION).tar.gz
-RPM_BASE = /usr/src/redhat
+RPM_BASE = @RPM_BASE@
 
 #############################################################################
 # Filenames and libraries
@@ -254,7 +313,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
@@ -331,7 +391,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
 
 
 #############################################################################
@@ -370,23 +431,31 @@ 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' \
+              junkbuster-rh.spec > $$TMPFILE ; then \
+      $(MV) -f $$TMPFILE junkbuster-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
@@ -413,18 +482,31 @@ 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
@@ -443,6 +525,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
@@ -474,20 +558,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 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 && $(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 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 && $(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
+
+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
 
 #############################################################################
 #
@@ -498,7 +612,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) -------------------------------------------------------
@@ -528,6 +642,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
@@ -573,11 +688,16 @@ clean:
        $(RM) a.out core $(OBJS) $(W32_FILES) $(W32_INIS)
 
 clobber: clean
-       $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` TAGS junkbuster.log config.cache
+       $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` TAGS junkbuster.log config.cache *~ *.tar.gz
 
 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)
+
 install: all
        #
        # FIXME: This is a dirty hack to have an install target