fix tar options typo
[privoxy.git] / GNUmakefile.in
index 9ce5476..7fdd77e 100644 (file)
@@ -1,6 +1,6 @@
 # Note:  Makefile is built automatically from Makefile.in
 #
-# $Id: GNUmakefile.in,v 1.70 2002/04/07 08:59:40 swa Exp $
+# $Id: GNUmakefile.in,v 1.77 2002/04/09 13:28:53 swa Exp $
 #
 # Written by and Copyright (C) 2001 the SourceForge
 # Privoxy team. http://www.privoxy.org/
@@ -55,7 +55,7 @@ DEST        = @prefix@
 CONFDEST    = @prefix@@sysconfdir@
 SBIN_DEST   = @prefix@@sbindir@
 MAN_DEST    = @prefix@@mandir@
-
+DOK_WEB_USEM=doc/webserver/user-manual
 
 #############################################################################
 # Build tools
@@ -123,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
@@ -241,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 "want to continue: "; \
+           read answer; \
+           if [ "$$answer" != "yes i am sure" ]; then exit 1; fi \
+         fi;
+
+
 #############################################################################
 # RPM specifice stuff (SuSE or Redhat, ..)
 #############################################################################
-rpm-stuff: clean clobber
+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."; \
@@ -268,7 +296,7 @@ redhat-dist: rpm-stuff
        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
 
@@ -298,7 +326,7 @@ suse-dist: rpm-stuff
        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
 
@@ -337,7 +365,7 @@ suse-clean:
 #############################################################################
 # generic distribution
 #############################################################################
-gen-dist:
+gen-dist: dist-check
        @$(ECHO) ""
        @$(ECHO) "You have run autoconf && autoheader && ./configure right?"
        @$(ECHO) ""
@@ -441,7 +469,7 @@ win-dist:
 
 MISC_FILES = install-sh config.sub configure.in GNUmakefile.in config.h.in config.guess privoxy*
 
-tarball-dist:
+tarball-dist: dist-check
        $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
 # add source files
        for foo in `find . -name "*.c"`; do \
@@ -549,7 +577,9 @@ dok-webserver: doc/source/ldpOK.dsl
        s/<\/HEAD/\n<meta name="MSSmartTagsPreventParsing" content="TRUE"><\/HEAD/'\
      doc/webserver/index.html
 
-dok: dok-devel dok-user dok-faq dok-man dok-readme dok-webserver
+# Removed dok-man 04/08/02, hal. Added authors and dok-release. And
+# dok-webserver!
+dok: dok-release dok-devel dok-user dok-faq dok-readme dok-webserver authors
 # kludge to force recreation on next run. Rodgrigo?
        @rm -f doc/source/ldpOK.dsl
        @$(ECHO) Documentation created.
@@ -557,7 +587,7 @@ dok: dok-devel dok-user dok-faq dok-man dok-readme dok-webserver
 #
 # an alternative to the above dok. disabled man page creation for the moment
 #
-redhat-dok: dok-devel dok-user dok-faq redhat-readme dok-webserver
+redhat-dok: dok-release dok-devel dok-user dok-faq redhat-readme dok-webserver authors
 # kludge to force recreation on next run. Rodgrigo?
        @rm -f doc/source/ldpOK.dsl
        @$(ECHO) Documentation created.
@@ -582,7 +612,6 @@ redhat-readme: doc/source/ldpOK.dsl
        # kludge to force recreation on next run. Rodgrigo?
        @rm -f doc/source/ldpOK.dsl
 
-#### WIP targets HB ##################
 ## Make AUTHORS file
 authors: doc/source/ldpOK.dsl
        cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && $(WDUMP) \
@@ -591,18 +620,24 @@ authors: doc/source/ldpOK.dsl
        @rm -f doc/source/ldpOK.dsl
 
 # make a man page, and then (lousy) HTML version.
+# Requires docbook2man (short perl script), see CVS
+# http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
+# perl module. This target is not invoked from other dok targets. It is 
+# built separately due to dependencies on perl scripts.
 man: doc/source/ldpOK.dsl
        mkdir -p doc/source/man
        cd doc/source/man && docbook2man ../privoxy-man-page.sgml &&\
-       $(PERL) -pi -e 's/ <URL:.*>//; s/\[ /\[/g' privoxy.1
+       perl -pi -e 's/ <URL:.*>//; s/\[ /\[/g' privoxy.1
        cd doc/source/man && $(DB) ../privoxy-man-page.sgml &&\
        mv -f index.html privoxy-man-page.html
-       # kludge to force recreation on next run. Rodgrigo?
-       @rm -f doc/source/ldpOK.dsl
-
-# Set doc entities for VERSION and CODE_STATUS. Toggle content 
-# exceptions accordingly. When 'make dok' gets stable, this 
-# needs to go before any doc building (doh).
+     # This html is not used. See make man2html.
+       mv -f doc/source/man/privoxy.1 privoxy.1
+       $(MAKE) man2html
+     # kludge to force recreation on next run. Rodgrigo?
+       @rm -fr doc/source/ldpOK.dsl doc/source/man
+
+# Set doc entities for VERSION and CODE_STATUS in sgml docs. Toggle content
+# exceptions accordingly. This needs to go before any doc building (doh).
 make dok-release:
        @$(ECHO) Setting doc version and status to $(VERSION), $(CODE_STATUS)
        @$(PERL) -pi -e 's/<!entity +p-version.*>/<!entity p-version "$(VERSION)">/;\
@@ -637,20 +672,22 @@ webserver: tidy
        @$(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 xv'
+          $(TAR) c $$upload | ssh ijbswa.sourceforge.net 'cd /home/groups/i/ij/ijbswa/htdocs/; tar xvm'
 
        @$(ECHO) Fixing permissions
-       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/* -type d | xargs chmod 775 2>/dev/null'
-       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/* -type f | xargs chmod 664 2>/dev/null'
+       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/ -type d | xargs chmod 775 2>/dev/null'
+       @ssh ijbswa.sourceforge.net 'find /home/groups/i/ij/ijbswa/htdocs/ -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'
 
 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 xv'
+          $(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 '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
@@ -720,7 +757,9 @@ clean:
        $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) `find . -name TAGS -o -name tags` 
 
 tidy:
-       $(RM) `find . -name "*~" -o -name "#*#"`
+       $(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
@@ -743,11 +782,11 @@ 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
@@ -761,6 +800,31 @@ install: all
 ## end:
 
 # $Log: GNUmakefile.in,v $
+# 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.