Add a web-sponsors target to only update the sponsoring page
[privoxy.git] / GNUmakefile.in
index 9dc0c39..892ce38 100644 (file)
@@ -1,6 +1,6 @@
 # Note:  GNUmakefile is built automatically from GNUmakefile.in
 #
-# $Id: GNUmakefile.in,v 1.255 2017/01/12 14:19:13 fabiankeil Exp $
+# $Id: GNUmakefile.in,v 1.263 2017/06/01 13:22:46 ler762 Exp $
 #
 # Written by and Copyright (C) 2001-2017 members of the
 # Privoxy team. https://www.privoxy.org/
@@ -44,6 +44,8 @@ CODE_STATUS   = @CODE_STATUS@
 VERSION       = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT)
 SNAPVERSION   = $(VERSION)-$(shell date "+%Y%m%d")
 
+SOURCE_DATE_EPOCH = @SOURCE_DATE_EPOCH@
+MTREE_SPEC_FILE = privoxy-$(VERSION)-$(CODE_STATUS).spec
 
 #############################################################################
 # "make install" directories and variables
@@ -419,6 +421,27 @@ tarball-dist: dist-check clean clobber
        $(GZIP_PROG) ../privoxy-$(VERSION)-$(CODE_STATUS)-src.tar
        @$(ECHO) Tarball distribution created.
 
+# Create a mtree spec file that can be used to get a reproducible tar ball
+mtree-spec:
+       $(LN) -s `pwd` ../privoxy-$(VERSION)-$(CODE_STATUS)
+       $(ECHO) "#mtree 2.0" > $(MTREE_SPEC_FILE)
+       for i in `find . -type f -a -not \( -path "*/CVS*" -o -name ".*" \
+       -o -path "*/debian/*" -o -path "*/actions/*" -o -name "*.php" -o \
+       -name "PACKAGERS" -o -path "*.git/*" -o -name "*.spec" \) | env -i sort`; do \
+          $(ECHO) "privoxy-$(VERSION)-$(CODE_STATUS)/$$i time=$(SOURCE_DATE_EPOCH) type=file uname=privoxy gname=privoxy mode=0555"; \
+       done >> $(MTREE_SPEC_FILE)
+       $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS)
+
+# Create a reproducible tarball.
+# Requires a tar implementation with mtree support.
+reproducible-tarball-dist: dist-check clean clobber mtree-spec
+       $(LN) -s `pwd` ../privoxy-$(VERSION)-$(CODE_STATUS)
+
+       $(TAR) cvhf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar -C .. @privoxy-$(VERSION)-$(CODE_STATUS)/$(MTREE_SPEC_FILE)
+       $(GZIP_PROG) -n privoxy-$(VERSION)-$(CODE_STATUS)-src.tar
+       $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) $(MTREE_SPEC_FILE)
+       @$(ECHO) Reproducible 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
@@ -529,10 +552,7 @@ dok-webserver:
        s/<\/HEAD/\n<meta name=\"description\" content=\"Privoxy helps users to protect their privacy.\"><\/HEAD/;\
        s/\.\d\. //;\
        s/__copy/&copy;/;\
-       s@(<SUB)@<p style="text-align: center">\1@; s@(</SUB)@\1></p@;\
-        s@ChameleonJohn@<br><a href="http://www.chameleonjohn.com/"><img align="middle"\
- src="images/sponsors/chameleonjohn.png" alt="ChameleonJohn Coupons"></a><br>\n\
-<a title="Privoxy FAQ: How to become a sponsor" href="/faq/general.html#SPONSOR">Sponsor FAQ</a>@' \
+       s@(<SUB)@<p style="text-align: center">\1@; s@(</SUB)@\1></p@' \
      doc/webserver/index.html && $(RM) doc/webserver/*.bak
 
 # privoxy-index.html for local documentation:
@@ -545,7 +565,7 @@ dok-index:
      doc/webserver/privoxy-index.html && $(RM) doc/webserver/*.bak
 
 # Main documentation target.
-dok: dok-release dok-devel dok-user dok-faq dok-readme dok-webserver dok-authors dok-index
+dok: dok-release dok-devel dok-user dok-faq dok-readme dok-webserver dok-authors dok-index dok-tidy
        @$(ECHO) Documentation created.
 
 ## Make AUTHORS file
@@ -631,10 +651,18 @@ web-actions:
        @$(ECHO) Updating the actions on the webserver ...
        @$(RSYNC) doc/webserver/actions/*.php shell.sourceforge.net:$(WWW_ROOT)/htdocs/actions
 
+web-homepage:
+       @$(ECHO) "Updating the home page (index.html) only (be careful in case of version changes) ..."
+       @$(RSYNC) doc/webserver/index.html shell.sourceforge.net:$(WWW_ROOT)/htdocs/
+
 web-faq:
        @$(ECHO) Updating the FAQ on the webserver ...
        @$(RSYNC) doc/webserver/faq/*.html shell.sourceforge.net:$(WWW_ROOT)/htdocs/faq
 
+web-sponsors:
+       @$(ECHO) "Updating the sponsor page (index.html) only ..."
+       @$(RSYNC) doc/webserver/sponsors/index.html shell.sourceforge.net:$(WWW_ROOT)/htdocs/sponsors/
+
 web-user-manual:
        @$(ECHO) Updating the user manual on the webserver (do not use in case of version changes) ...
        @$(RSYNC) doc/webserver/user-manual/*.html shell.sourceforge.net:$(WWW_ROOT)/htdocs/user-manual/
@@ -678,6 +706,8 @@ miscutil.@OBJEXT@:  miscutil.c  miscutil.h  config.h
 parsers.@OBJEXT@:   parsers.c   parsers.h   config.h $(PROJECT_H_DEPS) errlog.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
+client-tags.@OBJEXT@: client-tags.c client-tags.h config.h $(PROJECT_H_DEPS) errlog.h miscutil.h ssplit.h
+fuzz.@OBJEXT@: fuzz.c config.h $(PROJECT_H_DEPS) errlog.h miscutil.h ssplit.h
 
 # GNU regex
 gnu_regex.@OBJEXT@: gnu_regex.c gnu_regex.h config.h
@@ -706,7 +736,7 @@ w32taskbar.@OBJEXT@: w32taskbar.c config.h w32log.h w32taskbar.h
 win32.@OBJEXT@: win32.c config.h jcc.h loadcfg.h pcre/pcre.h pcre/pcreposix.h pcrs.h project.h w32log.h win32.h w32svrapi.h
 
 w32.res: w32.rc w32res.h icons/radar-01.ico icons/radar-02.ico icons/radar-03.ico icons/radar-04.ico icons/radar-05.ico icons/radar-06.ico icons/radar-07.ico icons/radar-08.ico icons/idle.ico icons/privoxy.ico config.h
-       windres -D__MINGW32__=0.2 -O coff -i $< -o $@
+       windres -F pe-i386 -D__MINGW32__=0.2 -O coff -i $< -o $@
 
 # AmigaOS
 @AMIGAOS_ONLY@OBJS += amiga.o