X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=GNUmakefile.in;h=5d8ea54f5ce2250af3a91d700029f0cfbd16e001;hp=64c3805d70a45634bbdc7acdde00d9426346456f;hb=7108ed08f291dac9f317a2f723cf281eadb2564e;hpb=dcd0697f82133864e459774116055509faad4e89 diff --git a/GNUmakefile.in b/GNUmakefile.in index 64c3805d..5d8ea54f 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,8 +1,8 @@ # Note: Makefile is built automatically from Makefile.in # -# $Id: GNUmakefile.in,v 1.141 2006/08/12 03:54:37 david__schmidt Exp $ +# $Id: GNUmakefile.in,v 1.161 2008/03/30 13:19:13 fabiankeil Exp $ # -# Written by and Copyright (C) 2001 - 2004 the SourceForge +# Written by and Copyright (C) 2001 - 2007 the SourceForge # Privoxy team. http://www.privoxy.org/ # # Based on the Internet Junkbuster originally written @@ -153,7 +153,7 @@ DOC_STATUS = @DOC_STATUS@ #DOSFILTER = $(SED) -e $$'s,$$,\r,' #DOSFILTER = gawk -v ORS='\r\n' '{print $0;}' DOSFILTER = $(PERL) -p -e 's/\n/\r\n/' -CVSROOT = :pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa +CVSROOT = :pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa #TMPDIR := $(shell mktemp -d /tmp/$(PROGRAM).XXXXXX) ############################################################################# @@ -185,7 +185,7 @@ DOC_FILES = AUTHORS LICENSE README ChangeLog INSTALL \ ############################################################################# 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 \ + errlog.c filters.c gateway.c jbsockets.c jcc.c \ list.c loadcfg.c loaders.c miscutil.c parsers.c ssplit.c \ urlmatch.c @@ -246,7 +246,7 @@ OTHER_CFLAGS = CFLAGS = @CFLAGS@ @CPPFLAGS@ $(OTHER_CFLAGS) $(SPECIAL_CFLAGS) -Wall \ @STATIC_PCRE_ONLY@ -Ipcre -LDFLAGS = $(DEBUG_CFLAGS) $(SPECIAL_CFLAGS) +LDFLAGS = @LDFLAGS@ $(DEBUG_CFLAGS) $(SPECIAL_CFLAGS) ############################################################################# @@ -333,12 +333,12 @@ dist-check: # This creates a tar.gz and spec-file for a Red Hat 6.x version. ############################################################################# create-snapshot: - TMPDIR=$(shell mktemp -d /tmp/$(PROGRAM).XXXXXX) @tag=`cvs -d $(CVSROOT) status Makefile | awk ' /Sticky Tag/ { print $$3 } '` 2> /dev/null; \ [ x"$$tag" = x"(none)" ] && tag=HEAD; \ echo "*** Creating package from $$tag!"; \ - cd $(TMPDIR) ; cvs -Q -d $(CVSROOT) export -r $$tag current || echo "Um... export aborted." - @cd $(TMPDIR)/current; \ + TMPDIR=$(shell mktemp -d /tmp/$(PROGRAM).XXXXXX); \ + cd $$TMPDIR ; cvs -Q -d $(CVSROOT) export -r $$tag current || echo "Um... export aborted."; \ + cd $$TMPDIR/current; \ TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \ -e 's/^\(Release:\).*/\1 $(SNAPVERSION)/g' \ @@ -356,17 +356,12 @@ create-snapshot: $(ECHO) "Could not set version info in specfile."; \ exit 1;\ fi; \ - $(RM) $(TMPFILE); \ - cd $(TMPDIR)/current; \ - $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude \ - "privoxy-suse.spec" -czf $(TMPDIR)/$(PROGRAM)-rh-$(VERSION).tar.gz .; \ - $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude \ - "privoxy-rh.spec" -czf $(TMPDIR)/$(PROGRAM)-suse-$(VERSION).tar.gz . - @$(MV) -f $(TMPDIR)/$(PROGRAM)-rh-$(VERSION).tar.gz . - @$(MV) -f $(TMPDIR)/$(PROGRAM)-suse-$(VERSION).tar.gz . - @$(RM) -rf $(TMPDIR) - @echo "Resulting files are $(PROGRAM)-rh-$(VERSION).tar.gz and" - @echo " $(PROGRAM)-suse-$(VERSION).tar.gz" + $(RM) $$TMPFILE; \ + cd $$TMPDIR/current; \ + $(TAR) --exclude ".cvsignore" --exclude "CVS" \ + -czf /tmp/$(PROGRAM)-$(VERSION).tar.gz .; \ + $(RM) -rf $$TMPDIR + @echo "Resulting file is /tmp/$(PROGRAM)-$(VERSION).tar.gz" ############################################################################# @@ -469,7 +464,6 @@ redhat-upload: check-release ############################################################################# redhat-srpm: make create-archive - $(MV) $(PROGRAM)-rh-$(VERSION).tar.gz $(PROGRAM)-$(VERSION).tar.gz $(RPMBUILD) -ts --nodeps $(PROGRAM)-$(VERSION).tar.gz @@ -488,7 +482,7 @@ suse-dist: rpm-stuff # fi $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-rh.spec" --exclude "privoxy-cl.spec" --exclude "PACKAGERS" -czf $(TAR_ARCH) . - $(RPM) --clean -ta $(TAR_ARCH) + $(RPMBUILD) --clean -ta $(TAR_ARCH) if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi # anonymously ncftps the rpms to sourceforge @@ -660,7 +654,7 @@ tarball-clean: # # Documentation # -# converts doc/source/*.sgml into html, text and man pages +# converts doc/source/*.sgml into html, text, pdf and man pages # ############################################################################# @@ -670,7 +664,7 @@ dok-devel: $(RM) -r doc/source/developer-manual mkdir -p doc/text doc/source/developer-manual cd doc/source/developer-manual && $(DB) ../developer-manual.sgml && cd .. && cp developer-manual/*.html ../webserver/developer-manual/ - cd doc/source && $(DB) -V nochunks developer-manual.sgml > tmp.html && $(WDUMP) tmp.html > ../text/developer-manual.txt && $(RM) -r tmp.html developer-manual + cd doc/source && $(DB) -V nochunks developer-manual.sgml > tmp.html && env -u LANG $(WDUMP) tmp.html > ../text/developer-manual.txt && $(RM) -r tmp.html developer-manual # user manual dok-user: @@ -678,7 +672,11 @@ dok-user: $(RM) -r doc/source/user-manual/ mkdir -p doc/text doc/source/user-manual cd doc/source/user-manual && $(DB) -iuser-man ../user-manual.sgml && cd .. && cp user-manual/*.html ../webserver/user-manual/ - cd doc/source && $(DB) -iuser-man -V nochunks user-manual.sgml > tmp.html && $(WDUMP) tmp.html > ../text/user-manual.txt && $(RM) -r tmp.html user-manual + @#FIXME: temp fix so same stylesheet gets in more than one place so it works \ + @# for all doc set-ups, including the 'user manual' config option in local \ + @#system where it MUST be in same directory as html. + $(PERL) -pi.bak -e 's/<\/head/\n\n<\/head/i' doc/webserver/user-manual/*html + cd doc/source && $(DB) -iuser-man -V nochunks user-manual.sgml > tmp.html && env -u LANG $(WDUMP) tmp.html > ../text/user-manual.txt && $(RM) -r tmp.html user-manual # faq dok-faq: @@ -686,7 +684,7 @@ dok-faq: $(RM) -r doc/source/faq mkdir -p doc/text doc/source/faq cd doc/source/faq && $(DB) ../faq.sgml && cd .. && cp faq/*.html ../webserver/faq/ - cd doc/source && $(DB) -V nochunks faq.sgml > tmp.html && $(WDUMP) tmp.html > ../text/faq.txt && $(RM) -r tmp.html faq + cd doc/source && $(DB) -V nochunks faq.sgml > tmp.html && env -u LANG $(WDUMP) tmp.html > ../text/faq.txt && $(RM) -r tmp.html faq # man page, one variation. Try to use the next target, just 'make man'. dok-man: @@ -733,9 +731,9 @@ groff2html: # readme page and INSTALL file dok-readme: dok-release cd doc/source && $(DB)-notoc -V nochunks readme.sgml > tmp.html &&\ - $(WDUMP) tmp.html > ../../README ;\ + env -u LANG $(WDUMP) tmp.html > ../../README ;\ $(DB)-notoc -V nochunks install.sgml > tmp.html &&\ - $(WDUMP) tmp.html > ../../INSTALL ;\ + env -u LANG $(WDUMP) tmp.html > ../../INSTALL ;\ $(RM) tmp.* # index.sgml is used to create both the Home Page, and a local index @@ -778,7 +776,7 @@ redhat-readme: ## Make AUTHORS file dok-authors: - cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && $(WDUMP) \ + cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && env -u LANG $(WDUMP) \ tmp.html > ../../AUTHORS && $(RM) tmp.html # Set doc entities for VERSION and CODE_STATUS in sgml docs. Toggle content @@ -823,7 +821,7 @@ dok-pdf: dok-shtml if htmldoc --version ; then : ; \ else $(ECHO) "WARNING: could not get htmldoc version" ; fi cd utils/ldp_print && $(RM) *html *bak *jpg *tmp *pdf *zip - cp -f doc/source/temp/*html doc/webserver/images/*jpg utils/ldp_print + cp -f doc/source/temp/*html doc/webserver/user-manual/*jpg utils/ldp_print cd utils/ldp_print ;\ $(PERL) -pi.bak -e 's/\.\.\/images\///; s/(<\/?)SUB/$$1small/i;\ s/\.\.\/user-manual\/index\.html/privoxy-user-manual.pdf/;\ @@ -851,26 +849,31 @@ dok-pdf: dok-shtml # NOTE: This will require some hand editing. The new file is outputted # as config.new so that problem sections can be compared to previous # version. This is hardcored to w3m for html/text conversion. Also, -# requires the shell util 'fmt'. +# requires the shell util 'fmt'. 2007-11-14: note the perl below dies +# with perl 5.8.8. The same code pasted into a free standing script, +# without the makefile-isms, works fine. config-file: dok-release cd doc/source && $(DB)-notoc -iconfig-file -V nochunks config.sgml > __tmp.html &&\ w3m -dump __tmp.html |fmt -w 70 > ../../config.new && $(RM) -r __tmp.* - $(PERL) -pi.bak -e 's/^1\. \@\@TITLE\@\@/ /i;\ - /^\d\.\d\.\s+/ && tr/[a-z]/[A-Z]/;\ - $$header_len=0 unless $$hit_header;\ - if ($$hit_header) {\ - print "# ";\ - for ($$i=1; $$i < $$header_len; $$i++) {print "=";}\ - print "\n";\ - };\ - $$hit_header=0;\ - $$hit_header=1 if m/^(\d\.)(\d\.)(\d\.)?\s/ && s/^(\d\.)//;\ - $$header_len = length($$_);\ - s/^/# /; /^# #{12,}/ && s/^# #/####/;\ - s/^.*$$// if $$hit_option;\ - $$hit_option=0;\ - s/^\n//; s/^#\s*-{20,}//; s/ *$$//;\ - $$hit_option=1 if s/^#\s+@@//;' config.new + $(PERL) -pi.bak -e 's/^1\. \@\@TITLE\@\@/ /i;\ + /^\d\.\d\.\s+/ && tr/[a-z]/[A-Z]/;\ + my $$hit_header;\ + $$header_len=0 unless $$hit_header;\ + if ($$hit_header) {\ + print "# ";\ + for ($$i=1; $$i < $$header_len; $$i++) {print "=";}\ + print "\n";\ + };\ + my $$hit_header;\ + $$hit_header=0;\ + $$hit_header=1 if m/^(\d\.)(\d\.)(\d\.)?\s/ && s/^(\d\.)//;\ + $$header_len = length($$_);\ + s/^/# /; /^# #{12,}/ && s/^# #/####/;\ + s/^.*$$// if $$hit_option;\ + $$hit_option=0;\ + s/^\n//; s/^#\s*-{20,}//; s/ *$$//;\ + $$hit_option=1 if s/^#\s+@@//;' config.new + $(RM) *.bak @$(ECHO) "****************************************************" @$(ECHO) "The output file is config.new." @@ -952,8 +955,8 @@ dok-get: ############################################################################# actions.@OBJEXT@: actions.c actions.h config.h $(PROJECT_H_DEPS) errlog.h jcc.h list.h loaders.h miscutil.h actionlist.h ssplit.h -cgi.@OBJEXT@: cgi.c cgi.h config.h $(PROJECT_H_DEPS) cgiedit.h cgisimple.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h -cgiedit.@OBJEXT@: cgiedit.c cgiedit.h config.h $(PROJECT_H_DEPS) cgi.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h +cgi.@OBJEXT@: cgi.c cgi.h config.h $(PROJECT_H_DEPS) cgiedit.h cgisimple.h jbsockets.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h +cgiedit.@OBJEXT@: cgiedit.c cgiedit.h config.h $(PROJECT_H_DEPS) cgi.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actionlist.h actions.h errlog.h miscutil.h cgisimple.@OBJEXT@: cgisimple.c cgisimple.h config.h $(PROJECT_H_DEPS) cgi.h list.h pcrs.h encode.h ssplit.h jcc.h filters.h actions.h errlog.h miscutil.h deanimate.@OBJEXT@: deanimate.c deanimate.h config.h $(PROJECT_H_DEPS) encode.@OBJEXT@: encode.c encode.h config.h @@ -961,10 +964,9 @@ errlog.@OBJEXT@: errlog.c errlog.h config.h $(PROJECT_H_DEPS) @WIN_ONLY filters.@OBJEXT@: filters.c filters.h config.h $(PROJECT_H_DEPS) errlog.h encode.h gateway.h jbsockets.h jcc.h loadcfg.h parsers.h ssplit.h cgi.h deanimate.h @WIN_ONLY@win32.h gateway.@OBJEXT@: gateway.c gateway.h config.h $(PROJECT_H_DEPS) errlog.h jbsockets.h jcc.h loadcfg.h jbsockets.@OBJEXT@: jbsockets.c jbsockets.h config.h $(PROJECT_H_DEPS) filters.h -jcc.@OBJEXT@: jcc.c jcc.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h killpopup.h loadcfg.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h w32svrapi.h cgi.h -killpopup.@OBJEXT@: killpopup.c killpopup.h config.h $(PROJECT_H_DEPS) jcc.h loadcfg.h +jcc.@OBJEXT@: jcc.c jcc.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h loadcfg.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h w32svrapi.h cgi.h list.@OBJEXT@: list.c list.h config.h $(PROJECT_H_DEPS) list.h miscutil.h -loadcfg.@OBJEXT@: loadcfg.c loadcfg.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h jcc.h killpopup.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h +loadcfg.@OBJEXT@: loadcfg.c loadcfg.h config.h $(PROJECT_H_DEPS) errlog.h filters.h gateway.h jbsockets.h jcc.h loaders.h miscutil.h parsers.h @WIN_ONLY@w32log.h win32.h loaders.@OBJEXT@: loaders.c loaders.h config.h $(PROJECT_H_DEPS) errlog.h encode.h filters.h gateway.h jcc.h loadcfg.h miscutil.h parsers.h ssplit.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 @@ -1002,9 +1004,13 @@ w32.res: w32.rc w32res.h icons/ico00001.ico icons/ico00002.ico icons/ico00003.ic # AmigaOS @AMIGAOS_ONLY@OBJS += amiga.o +@AMIGAOS_ONLY@ifeq ($(shell $(CC) -dumpmachine), m68k-amigaos) @AMIGAOS_ONLY@CFLAGS += -D__AMIGAVERSION__=\"$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_POINT)\" -D__AMIGADATE__=\"`date +%d.%m.%Y`\" -W -m68020 -noixemul -fbaserel -msmall-code @AMIGAOS_ONLY@LDFLAGS += -m68020 -noixemul -fbaserel @AMIGAOS_ONLY@LIBS = -lm /gg/lib/libb/libm020/libnix/swapstack.o +@AMIGAOS_ONLY@else +@AMIGAOS_ONLY@CFLAGS += -D__AMIGAVERSION__=\"$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_POINT)\" -D__AMIGADATE__=\"`date +%d.%m.%Y`\" -Wextra -D__USE_INLINE__ -D__NO_INTUITION_RJ_MACROS +@AMIGAOS_ONLY@endif @AMIGAOS_ONLY@amiga.o: amiga.c amiga.h config.h @@ -1012,7 +1018,7 @@ $(PROGRAM): $(OBJS) $(W32_FILES) $(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) clean: - $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) default.action `find . -name TAGS -o -name tags` + $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) default.action `find . -name TAGS -o -name tags` config.base config.tmp tidy: $(RM) `find . -name "*~"` @@ -1021,7 +1027,7 @@ tidy: clobber: tidy $(RM) GNUmakefile configure config.h.in config.h config.cache config.status config.log logfile \ - privoxy.log core *.tar.gz *.tar privoxy-cl.spec doc/source/ldp.dsl + privoxy.log core *.tar.gz *.tar privoxy-cl.spec doc/source/ldp.dsl config.new $(RM) -r autom4te.cache # @@ -1074,7 +1080,7 @@ install-strip: # FIXME: id handling needs help, probably via configure, since 'id -u' is not # universally reliable (eg Solaris). Group handling could be better. # Perhaps the whole user/group validation should be done here, and simplified. -PROGRAM_V = Privoxy $(VERSION) +PROGRAM_V = Privoxy $(VERSION) $(CODE_STATUS) install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T @# Quick test for valid USER. @if [ -n "$(USER)" ]; then \ @@ -1088,43 +1094,46 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T @$(ECHO) "Creating directories, and preparing $(PROGRAM_V) installation" $(CHMOD) $(DIR_MODE) $(MKDIR) - @$(MKDIR) $(SBIN_DEST) $(prefix) $(CONF_DEST) $(CONF_DEST)/templates $(SHARE_DEST) \ - $(LOG_DEST) $(PID_DEST) + @$(MKDIR) $(DESTDIR)$(SBIN_DEST) $(DESTDIR)$(prefix) $(DESTDIR)$(CONF_DEST) \ + $(DESTDIR)$(CONF_DEST)/templates $(DESTDIR)$(SHARE_DEST) \ + $(DESTDIR)$(LOG_DEST) $(DESTDIR)$(PID_DEST) @# Install the executable binary, strip if invoked as install-strip @test -n "$(STRIP)" &&\ $(ECHO) Installing $(PROGRAM) stripped executable to $(SBIN_DEST) ||\ - $(ECHO) Installing $(PROGRAM) executable to $(SBIN_DEST) - $(INSTALL) $(INSTALL_P) $(STRIP) $(PROGRAM) $(SBIN_DEST) + $(ECHO) Installing $(PROGRAM) executable to $(DESTDIR)$(SBIN_DEST) + $(INSTALL) $(INSTALL_P) $(STRIP) $(PROGRAM) $(DESTDIR)$(SBIN_DEST) @# Install the DOCS and man page. install-sh only does one file at a time. + @# FIXME: only handles jpegs. -@if [ $(check_doc) = 0 ]; then \ DOC=$(DOC_DEST) ;\ else \ DOC=$(prefix)/doc/privoxy ;\ fi;\ - $(MKDIR) $$DOC $$DOC/user-manual $$DOC/faq $$DOC/developer-manual \ - $$DOC/man-page $$DOC/images $(MAN_DEST) ;\ + $(MKDIR) $(DESTDIR)$$DOC $(DESTDIR)$$DOC/user-manual $(DESTDIR)$$DOC/faq $(DESTDIR)$$DOC/developer-manual \ + $(DESTDIR)$$DOC/man-page $(DESTDIR)$$DOC/images $(DESTDIR)$(MAN_DEST) ;\ if [ -d "$(DOK_WEB)" ]; then \ - $(ECHO) Installing FAQ, Manual, and other docs to $$DOC;\ + $(ECHO) Installing FAQ, Manual, and other docs to $(DESTDIR)$$DOC;\ for i in user-manual developer-manual faq; do \ for ii in $(DOK_WEB)/$$i/*html; do \ - $(INSTALL) $(INSTALL_T) $$ii $$DOC/$$i;\ + $(INSTALL) $(INSTALL_T) $$ii $(DESTDIR)$$DOC/$$i;\ done ;\ done ;\ - for i in $(DOK_WEB)/images/*jpg; do \ - $(INSTALL) $(INSTALL_T) $$i $$DOC/images;\ + for i in $(DOK_WEB)/user-manual/*jpg; do \ + $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$$DOC/user-manual;\ done ;\ - $(INSTALL) $(INSTALL_T) $(DOK_WEB)/man-page/*html $$DOC/man-page;\ - $(INSTALL) $(INSTALL_T) $(DOK_WEB)/privoxy-index.html $$DOC/index.html;\ - $(INSTALL) $(INSTALL_T) AUTHORS $$DOC;\ - $(INSTALL) $(INSTALL_T) LICENSE $$DOC;\ - $(INSTALL) $(INSTALL_T) README $$DOC;\ - $(INSTALL) $(INSTALL_T) ChangeLog $$DOC;\ - $(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $$DOC;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/man-page/*html $(DESTDIR)$$DOC/man-page;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/privoxy-index.html $(DESTDIR)$$DOC/index.html;\ + $(INSTALL) $(INSTALL_T) AUTHORS $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) LICENSE $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) README $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) ChangeLog $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $(DESTDIR)$$DOC;\ + $(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $(DESTDIR)$$DOC/user-manual;\ fi @# Not all platforms support gzipped man pages. - @$(ECHO) Installing man page to $(MAN_DEST)/privoxy.1 - -$(INSTALL) $(INSTALL_T) privoxy.1 $(MAN_DEST)/privoxy.1 + @$(ECHO) Installing man page to $(DESTDIR)$(MAN_DEST)/privoxy.1 + -$(INSTALL) $(INSTALL_T) privoxy.1 $(DESTDIR)$(MAN_DEST)/privoxy.1 @# Change the config file default directories according to the configured ones @$(ECHO) Rewriting config for this installation @@ -1132,17 +1141,22 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T $(CAT) config >config~ ;\ $(MV) config.base config ;\ fi - $(SED) 's+confdir .+confdir $(CONF_DEST)+' config | \ - $(SED) 's+logdir .+logdir $(LOG_DEST)+' >config.updated + $(SED) 's+^confdir \.+confdir $(CONF_DEST)+' config | \ + $(SED) 's+^logdir \.+logdir $(LOG_DEST)+' >config.tmp + -@if [ $(check_doc) = 0 ]; then \ + $(SED) 's+^#\?user-manual .*+user-manual $(DOC_DEST)/user-manual/+' config.tmp >config.updated ;\ + else \ + $(SED) 's+^#\?user-manual .*+user-manual $(prefix)/doc/privoxy/user-manual/+' config.tmp >config.updated ;\ + fi;\ $(MV) config config.base $(MV) config.updated config @# Install the config support files. Test for root install, and abort @# if there is no privoxy user, and no other user was enabled during @# configure. Later, install init script if appropriate. - @$(ECHO) Installing templates to $(CONF_DEST)/templates + @$(ECHO) Installing templates to $(DESTDIR)$(CONF_DEST)/templates @for i in `find templates -type f`; do \ - $(INSTALL) $(INSTALL_T) $$i $(CONF_DEST)/templates ;\ + $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$(CONF_DEST)/templates ;\ done @# FIXME: group/user validation is overly convoluted. @@ -1180,40 +1194,44 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T fi ;\ INSTALL_CONF="$(INSTALL_R)" ;\ fi ;\ - $(ECHO) Installing configuration files to $(CONF_DEST);\ + $(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\ for i in $(CONFIGS); do \ - if [ -s "$(CONF_DEST)/$$i" ] ; then \ + if [ "$$i" = "default.action" ] || [ "$$i" = "default.filter" ] || [ "$$i" = "standard.action" ]; then \ + $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\ + $(ECHO) Installing fresh $$i;\ + $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\ + elif [ -s "$(CONF_DEST)/$$i" ]; then \ $(ECHO) Installing $$i as $$i.new ;\ - $(INSTALL) $$INSTALL_CONF $$i $(CONF_DEST)/$$i.new || exit 1;\ + $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\ NEW=1;\ else \ - $(INSTALL) $$INSTALL_CONF $$i $(CONF_DEST) || exit 1;\ + $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\ fi ;\ done ;\ if [ -n "$$NEW" ]; then \ - $(CHMOD) $(RWD_MODE) $(CONF_DEST)/*.new || exit 1 ;\ + $(CHMOD) $(RWD_MODE) $(DESTDIR)$(CONF_DEST)/*.new || exit 1 ;\ $(ECHO) "Warning: Older config files are preserved. Check new versions for changes!" ;\ fi ;\ - [ ! -f $(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in $(LOG_DEST) || \ - $(ECHO) Checking logfiles in $(LOG_DEST) ;\ - $(TOUCH) $(LOG_DEST)/logfile $(LOG_DEST)/jarfile || exit 1 ;\ + [ ! -f $(DESTDIR)$(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in $(DESTDIR)$(LOG_DEST) || \ + $(ECHO) Checking logfiles in $(DESTDIR)$(LOG_DEST) ;\ + $(TOUCH) $(DESTDIR)$(LOG_DEST)/logfile $(DESTDIR)$(LOG_DEST)/jarfile || exit 1 ;\ if [ x$$USER != x ]; then \ - $(CHOWN) $$USER $(LOG_DEST)/logfile $(LOG_DEST)/jarfile || \ + $(CHOWN) $$USER $(DESTDIR)$(LOG_DEST)/logfile $(DESTDIR)$(LOG_DEST)/jarfile || \ $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\ fi ;\ if [ x$$GROUP_T != x ]; then \ - $(CHGRP) $$GROUP_T $(LOG_DEST)/logfile $(LOG_DEST)/jarfile || \ + $(CHGRP) $$GROUP_T $(DESTDIR)$(LOG_DEST)/logfile $(DESTDIR)$(LOG_DEST)/jarfile || \ $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\ fi ;\ - $(CHMOD) $(RWD_MODE) $(LOG_DEST)/logfile $(LOG_DEST)/jarfile || exit 1 ;\ + $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile $(DESTDIR)$(LOG_DEST)/jarfile || exit 1 ;\ if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \ if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \ $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.orig | \ $(SED) 's+%SBIN_DEST%+$(SBIN_DEST)+' | \ $(SED) 's+%CONF_DEST%+$(CONF_DEST)+' | \ - $(SED) 's+%USER%+$$USER+' | \ + $(SED) 's+%USER%+$(USER)+' | \ $(SED) 's+%GROUP%+$(GROUP_T)+' >slackware/rc.privoxy ;\ - $(INSTALL) $(INSTALL_P) slackware/rc.privoxy /etc/rc.d/ ;\ + $(INSTALL) $(INSTALL_P) slackware/rc.privoxy $(DESTDIR)/etc/rc.d/ ;\ $(ECHO) "Installing for Slackware." ;\ $(ECHO) "Dont forget to add the rc.privoxy to rc.local if you want it started at every boot" ;\ elif [ -f /etc/redhat-release ] && [ -d /etc/rc.d/init.d/ ] && [ -w /etc/rc.d/init.d/ ] ; then \ @@ -1221,110 +1239,115 @@ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T $(SED) 's,^PRIVOXY_BIN=.*,PRIVOXY_BIN="/usr/local/sbin/$(PROGRAM)",' privoxy.init |\ $(SED) 's,^PRIVOXY_CONF=.*,PRIVOXY_CONF="$(CONF_DEST)/config",' |\ $(SED) "s,^PRIVOXY_USER=.*,PRIVOXY_USER=$$USER," > init.tmp ;\ - $(INSTALL) $(INSTALL_P) init.tmp /etc/rc.d/init.d/privoxy && $(RM) init.tmp;\ - $(MKDIR) /etc/logrotate.d/ ;\ - $(ECHO) "Installing logrotate script to /etc/logrotate.d/" ;\ - $(INSTALL) -m 0644 privoxy.logrotate /etc/logrotate.d/privoxy ;\ - elif [ -d /etc/init.d ] && [ -w /etc/init.d ] ; then \ - $(ECHO) "Installing generic init script to /etc/init.d/privoxy" ;\ + $(INSTALL) $(INSTALL_P) init.tmp $(DESTDIR)/etc/rc.d/init.d/privoxy && $(RM) init.tmp;\ + $(MKDIR) $(DESTDIR)/etc/logrotate.d/ ;\ + $(ECHO) "Installing logrotate script to $(DESTDIR)/etc/logrotate.d/" ;\ + $(INSTALL) -m 0644 privoxy.logrotate $(DESTDIR)/etc/logrotate.d/privoxy ;\ + elif [ -d $(DESTDIR)/etc/init.d ] && [ -w $(DESTDIR)/etc/init.d ] ; then \ + $(ECHO) "Installing generic init script to $(DESTDIR)/etc/init.d/privoxy" ;\ $(ECHO) "Please check that the PATHs are correct, and edit if needed." ;\ - $(INSTALL) $(INSTALL_P) privoxy-generic.init /etc/init.d/privoxy ;\ + $(INSTALL) $(INSTALL_P) privoxy-generic.init $(DESTDIR)/etc/init.d/privoxy ;\ fi ;\ else \ $(ECHO) "No init script installed, install it manually if needed" ;\ fi + $(RM) config.base config.tmp @# mmmmm, good. @$(ECHO) "$(PROGRAM_V) installation succeeded!" - @$(ECHO) "The Privoxy configuration files have been installed in $(CONF_DEST)" + @$(ECHO) "The Privoxy configuration files have been installed in $(DESTDIR)$(CONF_DEST)" # rmdir is used as a precaution since it will not remove non-empty # directories. RH init script creates lock file and pid file. uninstall: CONF_DEST LOG_DEST PID_DEST check_doc @$(ECHO) Starting Privoxy uninstallation @# KILL privoxy if running - -@if [ -f /etc/redhat-release ] && [ -x /etc/rc.d/init.d/privoxy ]; then \ - /etc/rc.d/init.d/privoxy stop >/dev/null 2>/dev/null ;\ + @# XXX: the chkconfig line may need a DESTDIR prefix. + -@if [ -f $(DESTDIR)/etc/redhat-release ] && [ -x $(DESTDIR)/etc/rc.d/init.d/privoxy ]; then \ + $(DESTDIR)/etc/rc.d/init.d/privoxy stop >/dev/null 2>/dev/null ;\ chkconfig --del $(PROGRAM) 2>/dev/null;\ fi - -@test -f $(PID_DEST)/privoxy.pid && $(ECHO) Stopping $(PROGRAM) &&\ - $(KILL) `$(CAT) $(PID_DEST)/privoxy.pid` || : - -@test -f /var/run/privoxy.pid && $(ECHO) Stopping $(PROGRAM) &&\ - $(KILL) `$(CAT) /var/run/privoxy.pid ` || : + -@test -f $(DESTDIR)$(PID_DEST)/privoxy.pid && $(ECHO) Stopping $(PROGRAM) &&\ + $(KILL) `$(CAT) $(DESTDIR)$(PID_DEST)/privoxy.pid` || : + -@test -f $(DESTDIR)/var/run/privoxy.pid && $(ECHO) Stopping $(PROGRAM) &&\ + $(KILL) `$(CAT) $(DESTDIR)/var/run/privoxy.pid ` || : @# Program binary @$(ECHO) Removing $(PROGRAM) binary - $(RM) $(SBIN_DEST)/$(PROGRAM) $(SBIN_DEST)/$(PROGRAM)~ + $(RM) $(DESTDIR)$(SBIN_DEST)/$(PROGRAM) $(SBIN_DEST)/$(PROGRAM)~ @# config files and dir, and maybe old install backups - -@if [ -d $(CONF_DEST) ]; then \ - $(ECHO) Saving $(PROGRAM) config files to /tmp/$(PROGRAM)-save ;\ - $(MKDIR) /tmp/$(PROGRAM)-save ;\ - cd $(CONF_DEST) ;\ - for i in $(CONFIGS); do \ - [ -f $$i ] && $(CP) $$i /tmp/$(PROGRAM)-save ;\ + -@if [ -d $(DESTDIR)$(CONF_DEST) ]; then \ + $(ECHO) Saving $(PROGRAM) config files to $(DESTDIR)/tmp/$(PROGRAM)-save ;\ + $(MKDIR) $(DESTDIR)/tmp/$(PROGRAM)-save ;\ + cd $(DESTDIR)$(CONF_DEST) ;\ + for i in $(DESTDIR)$(CONFIGS); do \ + [ -f $$i ] && $(CP) $$i $(DESTDIR)/tmp/$(PROGRAM)-save ;\ done ;\ fi @$(ECHO) Removing $(PROGRAM) config files - -@for i in $(CONFIGS); do \ + -@for i in $(DESTDIR)$(CONFIGS); do \ test -f $(CONF_DEST)/$$i && $(ECHO) Removing $$i ;\ - $(RM) $(CONF_DEST)/$$i $(CONF_DEST)/$$i~ $(CONF_DEST)/$$i.new ;\ + $(RM) $(DESTDIR)$(CONF_DEST)/$$i $(DESTDIR)$(CONF_DEST)/$$i~ $(DESTDIR)$(CONF_DEST)/$$i.new ;\ done - -@test -d $(CONF_DEST)/templates && $(RM) -r $(CONF_DEST)/templates &&\ - $(ECHO) "Removing $(CONF_DEST)/templates/*" + -@test -d $(DESTDIR)$(CONF_DEST)/templates && $(RM) -r $(DESTDIR)$(CONF_DEST)/templates &&\ + $(ECHO) "Removing $(DESTDIR)$(CONF_DEST)/templates/*" @# man page and docs @$(ECHO) Removing $(PROGRAM) docs - -$(RM) $(MAN_DEST)/privoxy.1* - -$(RM) -r $(DOC_DEST) || $(RM) -r $(prefix)/doc/privoxy + -$(RM) $(DESTDIR)$(MAN_DEST)/privoxy.1* + -$(RM) -r $(DESTDIR)$(DOC_DEST) || $(RM) -r $(DESTDIR)$(prefix)/doc/privoxy @# Log and jarfile and pidfile @$(ECHO) Removing $(PROGRAM) logs - -$(RM) $(LOG_DEST)/logfile $(PID_DEST)/privoxy.pid $(LOG_DEST)/jarfile + -$(RM) $(DESTDIR)$(LOG_DEST)/logfile $(DESTDIR)$(PID_DEST)/privoxy.pid $(DESTDIR)$(LOG_DEST)/jarfile @# Final clean up of unused directories. Special handling of CONF and LOG # destinations. @$(ECHO) Removing $(PROGRAM) directories - @for i in $(LOG_DEST) $(CONF_DEST); do \ + @for i in $(DESTDIR)$(LOG_DEST) $(DESTDIR)$(CONF_DEST); do \ if test -d $$i; then \ $(ECHO) Removing $$i ;\ $(RMDIR) $$i || $(ECHO) "$$i is not empty, not removed" ;\ fi;\ done @if [ ! "$(prefix)" = "/usr/local" ] ;then \ - for i in $(MAN_DEST) $(MAN_DIR) $(SHARE_DEST)/doc $(SHARE_DEST) $(SBIN_DEST); do \ + for i in $(DESTDIR)$(MAN_DEST) $(DESTDIR)$(MAN_DIR) $(DESTDIR)$(SHARE_DEST)/doc \ + $(DESTDIR)$(SHARE_DEST) $(DESTDIR)$(SBIN_DEST); do \ if test -d $$i; then \ $(ECHO) Removing $$i ;\ $(RMDIR) $$i || $(ECHO) "$$i is not empty, not removed" ;\ fi;\ done;\ - if test $(LOG_DEST) != /var/log/privoxy && test -d $(prefix)/var/log; then \ - $(ECHO) Removing $(prefix)/var/log ;\ - $(RMDIR) $(prefix)/var/log || $(ECHO) "$(prefix)/var/log is not empty, not removed";\ + if test $(LOG_DEST) != /var/log/privoxy && test -d $(DESTDIR)$(prefix)/var/log; then \ + $(ECHO) Removing $(DESTDIR)$(prefix)/var/log ;\ + $(RMDIR) $(DESTDIR)$(prefix)/var/log || $(ECHO) "$(DESTDIR)$(prefix)/var/log is not empty, not removed";\ fi ;\ - if test $(PID_DEST) != /var/run && test -d $(prefix)/var/run; then \ - $(ECHO) Removing $(prefix)/var/run ;\ - $(RMDIR) $(prefix)/var/run || $(ECHO) "$(prefix)/var/run is not empty, not removed";\ + if test $(PID_DEST) != /var/run && test -d $(DESTDIR)$(prefix)/var/run; then \ + $(ECHO) Removing $(DESTDIR)$(prefix)/var/run ;\ + $(RMDIR) $(DESTDIR)$(prefix)/var/run || $(ECHO) "$(DESTDIR)$(prefix)/var/run is not empty, not removed";\ fi ;\ - if test $(prefix)/var != /var && test -d $(prefix)/var; then \ - $(ECHO) Removing $(prefix)/var ;\ - $(RMDIR) $(prefix)/var || $(ECHO) "$(prefix)/var is not empty, not removed" ;\ + if test $(prefix)/var != /var && test -d $(DESTDIR)$(prefix)/var; then \ + $(ECHO) Removing $(DESTDIR)$(prefix)/var ;\ + $(RMDIR) $(DESTDIR)$(prefix)/var || $(ECHO) "$(DESTDIR)$(prefix)/var is not empty, not removed" ;\ fi ;\ - if test $(prefix) != / && test $(prefix) != /usr && test -d $(prefix); then \ - $(ECHO) Removing $(prefix) ;\ - $(ECHO) Removing installation directory $(prefix) ;\ - $(RMDIR) $(prefix) || $(ECHO) "$(prefix) is not empty, not removed" ;\ + if test $(prefix) != / && test $(prefix) != /usr && test -d $(DESTDIR)$(prefix); then \ + $(ECHO) Removing $(DESTDIR)$(prefix) ;\ + $(ECHO) Removing installation directory $(DESTDIR)$(prefix) ;\ + $(RMDIR) $(DESTDIR)$(prefix) || $(ECHO) "$(DESTDIR)$(prefix) is not empty, not removed" ;\ fi;\ fi @# init scripts and logrotate @if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \ $(ECHO) Removing $(PROGRAM) init script ;\ - if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \ - $(RM) /etc/rc.d/rc.privoxy ;\ - elif [ -f /etc/redhat-release ] && [ -d /etc/rc.d/init.d/ ] && [ -w /etc/rc.d/init.d/ ] ; then \ - $(RM) /etc/rc.d/init.d/privoxy /etc/logrotate.d/privoxy;\ - elif [ -d /etc/init.d ] && [ -w /etc/init.d ] ; then \ - $(RM) /etc/init.d/privoxy ;\ + if [ -f $(DESTDIR)/etc/slackware-version ] && \ + [ -d $(DESTDIR)/etc/rc.d/ ] && [ -w $(DESTDIR)/etc/rc.d/ ] ; then \ + $(RM) $(DESTDIR)/etc/rc.d/rc.privoxy ;\ + elif [ -f $(DESTDIR)/etc/redhat-release ] && [ -d $(DESTDIR)/etc/rc.d/init.d/ ] \ + && [ -w $(DESTDIR)/etc/rc.d/init.d/ ] ; then \ + $(RM) $(DESTDIR)/etc/rc.d/init.d/privoxy $(DESTDIR)/etc/logrotate.d/privoxy;\ + elif [ -d $(DESTDIR)/etc/init.d ] && [ -w $(DESTDIR)/etc/init.d ] ; then \ + $(RM) $(DESTDIR)/etc/init.d/privoxy ;\ else \ $(ECHO) "Unable to remove privoxy init script, not installed or permission denied" ;\ fi ;\ @@ -1345,6 +1368,81 @@ coffee: ## end: # $Log: GNUmakefile.in,v $ +# Revision 1.161 2008/03/30 13:19:13 fabiankeil +# Add DESTDIR support for the install target. Closes PR#1910612. +# Patch by Radoslaw Zielinski with minor modifications. +# +# Revision 1.160 2008/03/27 18:27:19 fabiankeil +# Remove kill-popups action. +# +# Revision 1.159 2008/03/21 11:13:53 fabiankeil +# Only gather host information if it's actually needed. +# Also move the code out of accept_connection() so it's less likely +# to delay other incoming connections if the host is misconfigured. +# +# Revision 1.158 2007/12/11 21:29:25 fabiankeil +# Fix dependency list for cgiedit.c. +# +# Revision 1.157 2007/12/10 02:28:02 hal9 +# Unset $LANG for text processing of docs so we get pure text. +# +# Revision 1.156 2007/11/15 03:17:43 hal9 +# Some workaround changes to the config file perl stuff and comments, which is +# broken here all by itself on perl 5.8.8. +# +# Revision 1.155 2007/09/22 16:23:25 fabiankeil +# Update copyright line. +# +# Revision 1.154 2007/02/07 11:52:40 fabiankeil +# Fix suse-dist as described in BR#1654052. +# (I didn't test it, but it's done the same +# way in redhat-dist which is known to work). +# +# Revision 1.153 2007/01/07 07:36:36 joergs +# Added AmigaOS4 support. +# +# Revision 1.152 2006/12/13 14:53:51 etresoft +# Include any existing LDFLAGS environment when linking so that a MacOS X Universal Binary can be created. +# +# Revision 1.151 2006/11/30 01:08:55 hal9 +# Fix problem with variable declarations in the Slackware section. Thanks to higuita. +# +# Revision 1.150 2006/10/25 11:55:45 fabiankeil +# Fix sed regexes for rewriting "confdir ." and "logdir .". +# Thanks to Darel Henman for reporting this. +# +# Revision 1.149 2006/10/11 01:40:28 hal9 +# Apply patch from Neil McCalden to fix syntax issue. +# +# Revision 1.148 2006/09/26 10:57:58 hal9 +# Including Karsten's patch to fix make create-snapshot. +# +# Revision 1.147 2006/09/13 01:25:16 hal9 +# Make sure install forces in new default.action, default.filter, and +# standard.filter. These are privoxy files, not user files. +# +# Revision 1.146 2006/09/08 23:57:19 hal9 +# User manual images are now user-manual doc directory, and fix make install +# target accordingly. +# +# Revision 1.145 2006/09/08 02:32:00 hal9 +# Various changes to implement building and installing docs to be compatible +# with the new "user-manual" settings in config from Roland. Docbook does not +# seem to like dealing with more than one css file, so workaround that here. +# Change 'make install' so it provides p_doc.css in the user-manual doc +# directory so that functions well, and lastly modify 'make install' so that the +# PATH is automatically set, and the 'user-manual' directive should done during +# the install. +# +# Revision 1.144 2006/09/07 22:53:20 hal9 +# Make sure config sgml build related artifacts are cleaned out. +# +# Revision 1.143 2006/09/02 15:59:40 hal9 +# Add to code status to make install output. +# +# Revision 1.142 2006/08/29 01:46:24 hal9 +# Add user.filter to $CONFIGS. +# # Revision 1.141 2006/08/12 03:54:37 david__schmidt # Windows service integration #