########################################################################## # # Written by and Copyright (C) 2002-2018 the Privoxy team. # https://www.privoxy.org/ # # This script originally written by and Copyright (C) 2002 # Jonathan Foster # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General # Public License as published by the Free Software # Foundation; either version 2 of the License, or (at # your option) any later version. # # This program is distributed in the hope that it will # be useful, but WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # The GNU General Public License should be included with # this file. If not, you can view it at # http://www.gnu.org/copyleft/gpl.html # or write to the Free Software Foundation, Inc., 59 # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ########################################################################## ########################################################################## # External programs ########################################################################## SED = sed PERL = perl AWK = awk WGET = wget STRIP = strip AUTOCONF = autoconf AUTOHEADER = autoheader # Program to copy a directory from a web site to the local disk. WEBMIRROR = $(WGET) -nv -nH -nd -N -r -np # Program to do LF->CRLF # # The sed version should be the most portable, but it doesn't work for me, # the other two do. FIXME. # - Jon # DOSFILTER = $(SED) -e $$'s,$$,\r,' #DOSFILTER = $(AWK) -v ORS='\r\n' '{print $0;}' #DOSFILTER = $(PERL) -p -e 's/\n/\r\n/' # Path to NSIS # MAKENSIS = ./nsis/nsis-2.30.exe MAKENSIS = ./nsis-3.03/makensis.exe ########################################################################## # More configuration ########################################################################## # Directory containing the source code SOURCE = .. # Directory to build an image of the installed file system in. DEST = ./build # The name of the EXE installer (must match the name specified in # the .NSI script) TARGET=privoxy_setup.exe # The NSIS script that generates the installer. NSIFILE=privoxy_winthreads.nsi ########################################################################## # Rules ########################################################################## winrelease: $(TARGET) winbuild: $(DEST)/privoxy.exe templates inifiles doc webdoc clean: rm -rf $(DEST) $(TARGET) clobber: clean rm -f $(TARGET) $(SOURCE)/privoxy.exe .PHONY: winrelease winbuild clean $(TARGET): $(NSIFILE) winbuild $(MAKENSIS) $< $(DEST): mkdir $@ $(DEST)/templates: mkdir $@ $(DEST)/doc: mkdir $@ $(DEST)/%.txt: $(SOURCE)/% $(DEST) $(DOSFILTER) < $< > $@ inifiles: $(DEST)/config.txt $(DEST)/match-all.action $(DEST)/default.action $(DEST)/user.action \ $(DEST)/default.filter $(DEST)/trust.txt $(DEST)/user.filter $(DEST)/config.txt: $(SOURCE)/config $(DEST) $(SED) -e 's!trustfile trust!trustfile trust.txt!' \ -e 's!logfile logfile!logfile privoxy.log!' \ -e 's!#user-manual http://www.privoxy.org/user-manual/!user-manual ./doc/user-manual/!' \ -e 's!#Win32-only: !!' \ < $< | \ $(DOSFILTER) > $@ $(DEST)/match-all.action: $(SOURCE)/match-all.action $(DEST) $(DOSFILTER) < $< > $@ $(DEST)/default.action: $(SOURCE)/default.action $(DEST) $(DOSFILTER) < $< > $@ $(DEST)/user.action: $(SOURCE)/user.action $(DEST) $(DOSFILTER) < $< > $@ $(DEST)/default.filter: $(SOURCE)/default.filter $(DEST) $(DOSFILTER) < $< > $@ $(DEST)/user.filter: $(SOURCE)/user.filter $(DEST) $(DOSFILTER) < $< > $@ $(DEST)/privoxy.exe: $(SOURCE)/privoxy.exe $(DEST) $(STRIP) -o $@ $< $(SOURCE)/configure: $(SOURCE)/configure.in cd $(SOURCE) && $(AUTOCONF) $(SOURCE)/config.h.in: $(SOURCE)/configure $(SOURCE)/acconfig.h cd $(SOURCE) && $(AUTOHEADER) $(SOURCE)/config.h: $(SOURCE)/configure $(SOURCE)/config.h.in ./MYconfigure $(SOURCE)/privoxy.exe: $(SOURCE)/configure $(SOURCE)/config.h cd $(SOURCE) && $(MAKE) clean cd $(SOURCE) && $(MAKE) templates: $(patsubst $(SOURCE)/%,$(DEST)/%,$(wildcard $(SOURCE)/templates/*)) $(DEST)/templates/%: $(SOURCE)/templates/% $(DEST)/templates if test -f $< ; then $(DOSFILTER) < $< > $@ ; fi doc: $(DEST)/AUTHORS.txt $(DEST)/README.txt $(DEST)/LICENSE.txt webdoc: $(DEST)/doc/developer-manual $(DEST)/doc/faq $(DEST)/doc/user-manual cp $(SOURCE)/doc/webserver/p_doc.css $(DEST)/doc cp $(SOURCE)/doc/webserver/p_doc.css $(DEST)/doc/user-manual/ $(DEST)/doc/%.txt : $(SOURCE)/doc/text/%.txt $(DEST)/doc $(DOSFILTER) < $< > $@ $(DEST)/doc/developer-manual: $(DEST)/doc $(SOURCE)/doc/webserver/developer-manual/index.html test -d $(DEST)/doc/developer-manual || mkdir $(DEST)/doc/developer-manual cp $(SOURCE)/doc/webserver/developer-manual/*.html $(DEST)/doc/developer-manual/ $(DEST)/doc/user-manual: $(DEST)/doc $(SOURCE)/doc/webserver/user-manual/index.html test -d $(DEST)/doc/user-manual || mkdir $(DEST)/doc/user-manual cp $(SOURCE)/doc/webserver/user-manual/*.html $(DEST)/doc/user-manual/ cp $(SOURCE)/doc/webserver/user-manual/*.jpg $(DEST)/doc/user-manual/ $(DEST)/doc/faq: $(DEST)/doc $(SOURCE)/doc/webserver/faq/index.html test -d $(DEST)/doc/faq || mkdir $(DEST)/doc/faq cp $(SOURCE)/doc/webserver/faq/*.html $(DEST)/doc/faq/ ########################################################################## # That's all, folks! ##########################################################################