X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=GNUmakefile.in;h=4b29204445f12aacb734e04c9a7c79bad1974654;hb=d41f6d4cb807ee120d38e3108ef724f5053894bf;hp=c5b660a4c0c3f334fca167ffaeacd1c036466c7f;hpb=bf89dd055d81a17607b51beebb15d56aa491a3f3;p=privoxy.git diff --git a/GNUmakefile.in b/GNUmakefile.in index c5b660a4..4b292044 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -1,9 +1,9 @@ # Note: Makefile is built automatically from Makefile.in # -# $Id: GNUmakefile.in,v 1.28 2002/03/24 16:19:48 swa Exp $ +# $Id: GNUmakefile.in,v 1.48 2002/03/30 19:04:06 swa Exp $ # # Written by and Copyright (C) 2001 the SourceForge -# Privoxy team. http://ijbswa.sourceforge.net +# Privoxy team. http://www.privoxy.org/ # # Based on the Internet Junkbuster originally written # by and Copyright (C) 1997 Anonymous Coders and @@ -28,6 +28,11 @@ # Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +############################################################################# +# Set make command correctly +############################################################################# +@SET_MAKE@ + ############################################################################# # Version number (for RPM) ############################################################################# @@ -46,9 +51,10 @@ RPM_PACKAGEV = @VERSION_RPM_PACKAGE@ # Directories for "make install" ############################################################################# -DEST = @sysconfdir@/privoxy -SBIN_DEST = @sbindir@ -MAN_DEST = @mandir@ +DEST = @prefix@ +CONFDEST = @prefix@@sysconfdir@ +SBIN_DEST = @prefix@@sbindir@ +MAN_DEST = @prefix@@mandir@ ############################################################################# @@ -59,7 +65,11 @@ PROGRAM = privoxy@EXEEXT@ CC = @CC@ ECHO = echo GZIP_PROG = gzip -INSTALL = cp -f +#INSTALL = cp -f +INSTALL = @INSTALL@ +INSTALL_P = -m 0750 -g @GROUP@ -o @USER@ -b +INSTALL_T = -m 0640 -g @GROUP@ -o @USER@ -b +INSTALL_D = -m 0750 -g @GROUP@ -o @USER@ -d LD = @CC@ RM = rm -f STRIP_PROG = strip @@ -68,13 +78,19 @@ CAT = cat 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@ +MAN2HTML = @MAN2HTML@ +G2H_CMD = groff -mandoc -Thtml +TARGET_OS = @host@ + +#User Group paras +USER = @USER@ +GROUP = @GROUP@ # Program to do LF->CRLF # @@ -92,6 +108,21 @@ DOSFILTER = perl -p -e 's/\n/\r\n/' TAR_ARCH = /tmp/privoxy-$(RPM_VERSION).tar.gz RPM_BASE = @RPM_BASE@ +############################################################################# +# We include these files in our distributions +############################################################################# +# take care that no CVS .cvsignore or other crappy files +# are included here +# and escape every '#' in the find. doh. +CONFIG_FILES = config trust \ + default.action \ + basic.action intermediate.action advanced.action \ + default.filter \ + `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 + ############################################################################# # Filenames and libraries ############################################################################# @@ -211,12 +242,10 @@ trust.txt: trust re_filterfile.txt: re_filterfile $(DOSFILTER) < $< > $@ - ############################################################################# -# redhat distribution alpha and x86 +# RPM specifice stuff (SuSE or Redhat, ..) ############################################################################# - -redhat-dist: +rpm-stuff: 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."; \ @@ -229,23 +258,25 @@ redhat-dist: $(MAKE) clobber if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi +############################################################################# +# redhat distribution alpha and x86 +############################################################################# +redhat-dist: rpm-stuff TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \ -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \ privoxy-rh.spec > $$TMPFILE ; then \ - $(MV) -f $$TMPFILE privoxy-rh.spec; \ - else \ - $(ECHO) "Could not set version info in specfile."; \ - exit 1;\ - fi + $(MV) -f $$TMPFILE privoxy-rh.spec; \ + else \ + $(ECHO) "Could not set version info in specfile."; \ + exit 1;\ + fi $(TAR) --exclude "CVS" --exclude "privoxy-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 -# redhat-upload: ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/privoxy-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm # better should use `arch` here instead of ix86 to support other platforms too @@ -258,45 +289,24 @@ redhat-upload: # w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118 ############################################################################# -# sun solaris distribution -############################################################################# -solaris-dist: - @$(ECHO) coming soon. - -############################################################################# -# suse distribution (need to be root to build) +# suse distribution. works fine. no need to be root. ############################################################################# - -suse-dist: - 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 - +suse-dist: rpm-stuff TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \ -e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \ privoxy-suse.spec > $$TMPFILE ; then \ - $(MV) -f $$TMPFILE privoxy-suse.spec; \ - else \ - $(ECHO) "Could not set version info in specfile."; \ - exit 1;\ - fi + $(MV) -f $$TMPFILE privoxy-suse.spec; \ + else \ + $(ECHO) "Could not set version info in specfile."; \ + exit 1;\ + fi $(TAR) --exclude "CVS" --exclude "privoxy-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 -# suse-upload: ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/SRPMS/privoxy-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).src.rpm # better should use `arch` here instead of ix86 to support other platforms too @@ -328,6 +338,96 @@ suse-clean: rm -f /usr/sbin/rcprivoxy rm -f /usr/share/man/man1/privoxy.1.gz +############################################################################# +# generic distribution +############################################################################# +gen-dist: + @$(ECHO) "" + @$(ECHO) "You have run autoconf && autoheader && ./configure right?" + @$(ECHO) "" + $(MAKE) $(PROGRAM) + $(STRIP_PROG) $(PROGRAM) + $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS) +# add program + (cd .. && $(TAR) -cvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$(PROGRAM)) +# add config files + for foo in $(CONFIG_FILES); do \ + (cd .. && $(TAR) -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \ + done; +# add documentation + for foo in $(DOC_FILES); do \ + (cd .. && $(TAR) -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo;) \ + done; +# and zip the archive + $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) + $(GZIP_PROG) ../privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar + @$(ECHO) Distribution with binary created. + +# anonymously ncftps the package to sourceforge +gen-upload: + ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming ../privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar.gz + @$(ECHO) ------------------------------------------------------- + @$(ECHO) Now goto + @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118 + @$(ECHO) ... and release the files. + @$(ECHO) ------------------------------------------------------- + +# use with care +gen-clean: + $(RM) privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar* + +############################################################################# +# solaris distribution +############################################################################# +solaris-dist: gen-dist + @$(ECHO) Done. +# anonymously ncftps the package to sourceforge +solaris-upload: gen-upload + @$(ECHO) Done. +# use with care +solaris-clean: gen-clean + @$(ECHO) Done. + +############################################################################# +# hpux distribution +############################################################################# +hpux-dist: + @$(ECHO) coming soon. +hpux-upload: + @$(ECHO) coming soon. + +############################################################################# +# debian distribution +############################################################################# +debian-dist: + @$(ECHO) coming soon. +debian-upload: + @$(ECHO) coming soon. + +############################################################################# +# macosx distribution +############################################################################# +macosx-dist: + @$(ECHO) coming soon. +macosx-upload: + @$(ECHO) coming soon. + +############################################################################# +# amiga distribution +############################################################################# +amiga-dist: + @$(ECHO) coming soon. +amiga-upload: + @$(ECHO) coming soon. + +############################################################################# +# freebsd distribution +############################################################################# +freebsd-dist: + @$(ECHO) coming soon. +freebsd-upload: + @$(ECHO) coming soon. + ############################################################################# # Windows distribution ############################################################################# @@ -338,13 +438,25 @@ win-dist: ############################################################################# # Tarball distribution ############################################################################# -tarball-dist: - @make clean - make $(PROGRAM) -# remove all objects and create the tarball with the binary - cd .. && $(RM) ijb/a.out ijb/core ijb/*.@OBJEXT@ && tar --exclude "ijb/CVS" -cvzf ../privoxy-distribution-$(VERSION).tar.gz current/ - chmod a+r ../../privoxy-distribution-$(VERSION).tar.gz - @$(ECHO) Tarball with binary created. +tarball-dist: clobber + $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS) + cd .. && find privoxy-$(VERSION)-$(CODE_STATUS) +# cd .. && $(TAR) --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -cvhzf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz privoxy-$(VERSION)-$(CODE_STATUS) +# $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) + @$(ECHO) Tarball without any binary 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 + @$(ECHO) ------------------------------------------------------- + @$(ECHO) Now goto + @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118 + @$(ECHO) ... and release the files. + @$(ECHO) ------------------------------------------------------- + +# handle with care +tarball-clean: + $(RM) privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz ############################################################################# # @@ -353,22 +465,62 @@ tarball-dist: # converts doc/source/*.sgml into html, text and man pages # ############################################################################# -dok: doc/source/ldpOK.dsl - mkdir -p doc/text doc/man -# user manual - rm -rf doc/webserver/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 + +# our style file +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 + +# Otherwise we get plain groff conversion. +groff2html: + $(G2H_CMD) ./privoxy.1 > doc/webserver/man-page/privoxy-man-page.html + ## developer manual +dok-devel: doc/source/ldpOK.dsl + mkdir -p doc/text rm -rf doc/webserver/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 + +## user manual +dok-user: doc/source/ldpOK.dsl + mkdir -p doc/text + rm -rf doc/webserver/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 + ## faq +dok-faq: doc/source/ldpOK.dsl + mkdir -p doc/text rm -rf doc/webserver/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 +## man page +dok-man: doc/source/ldpOK.dsl + mkdir -p doc/man + mkdir -p doc/webserver/man-page + if [ "$(MAN2HTML)" != "false" ]; then \ + $(ECHO) "Privoxy|Doc/Man page

NAME

" > doc/webserver/man-page/privoxy-man-page.html; \ + man ./privoxy.1 | $(MAN2HTML) -bare \ + >> doc/webserver/man-page/privoxy-man-page.html; \ + $(ECHO) "" >> doc/webserver/man-page/privoxy-man-page.html; \ + else \ + $(MAKE) groff2html; \ + fi + +dok: dok-devel dok-user dok-faq dok-man +## kludge to force recreation on next run. Rodgrigo? + @rm -f doc/source/ldpOK.dsl + @$(ECHO) Documentation created. + +# +# an alternative to the above dok +# +redhat-dok: doc/source/ldpOK.dsl man2html mkdir -p doc/text doc/man doc/source/user-manual \ doc/source/developer-manual doc/source/faq ## user manual @@ -390,12 +542,17 @@ redhat-dok: doc/source/ldpOK.dsl 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; \ +## kludge to force recreation on next run. Rodgrigo? + @rm -f doc/source/ldpOK.dsl + +# For those with man2html ala RH7's. +man2html: + mkdir -p doc/webserver/man-page + if [ "$(MAN2HTML)" != "false" ]; then \ + $(MAN2HTML) privoxy.1 |grep -v "^Content-type" > doc/webserver/man-page/privoxy-man-page.html; \ + perl -pi -e 's///; s//man2html/' doc/webserver/man-page/privoxy-man-page.html; \ + else \ + $(MAKE) groff2html; \ fi ############################################################################# @@ -411,10 +568,20 @@ webserver: @$(ECHO) Note that this command scps all stuff to the webserver, @$(ECHO) it will not remove obsolete documents. @$(ECHO) ------------------------------------------------------- - chmod -R a+r doc/webserver + find doc/webserver -type f -exec chmod 664 {} \; +# not sure if we need next line.swa. + chmod 775 doc/webserver/redirect.php find doc/webserver -type d -exec chmod a+rx {} \; cd doc/webserver && scp -Cr . ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ +webquick: + find doc/webserver -type f -exec chmod 664 {} \; +# not sure if we need next line.swa. + chmod 775 doc/webserver/redirect.php + find doc/webserver -type d -exec chmod a+rx {} \; + cd doc/webserver/submit && scp -Cr . ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/submit + + ############################################################################# # Source file dependencies ############################################################################# @@ -480,19 +647,14 @@ $(PROGRAM): $(OBJS) $(W32_FILES) $(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) clean: - $(RM) a.out core $(OBJS) $(W32_FILES) $(W32_INIS) + $(RM) a.out core $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) junkbuster config.log clobber: clean - $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` `find . -name TAGS` config.status config.h.in config.log junkbuster.log privoxy.log config.cache *~ *.tar.gz configure + $(RM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` `find . -name TAGS` config.status config.h.in config.log junkbuster.log privoxy.log config.cache *~ *.tar.gz configure tags: $(SRCS) $(HDRS) etags $(SRCS) $(HDRS) -tarball-src: clobber - $(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS) - $(TAR) -C.. -cvhzf privoxy-$(VERSION)-$(CODE_STATUS)-src.tar.gz privoxy-$(VERSION)-$(CODE_STATUS) - $(RM) ../privoxy-$(VERSION)-$(CODE_STATUS) - install: all # # FIXME: This is a dirty hack to have an install target @@ -500,15 +662,17 @@ install: all # to be fixed! # $(STRIP_PROG) $(PROGRAM) - $(INSTALL) $(PROGRAM) $(SBIN_DEST) - mkdir -p $(DEST)/user-manual - mkdir -p $(DEST)/templates - cp -r doc/webserver/user-manual $(DEST) - cp -r templates $(DEST) - $(INSTALL) config default.action default.filter trust $(DEST) + $(INSTALL) $(INSTALL_D) $(SBIN_DEST) + $(INSTALL) $(INSTALL_D) $(DEST)/user-manual + $(INSTALL) $(INSTALL_D) $(DEST)/templates + $(INSTALL) $(INSTALL_D) $(CONFDEST) + $(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 + $(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 - $(INSTALL) privoxy.init /etc/init.d/privoxy + $(INSTALL) $(INSTALL_P) privoxy.init /etc/init.d/privoxy ############################################################################# @@ -518,6 +682,68 @@ install: all ## end: # $Log: GNUmakefile.in,v $ +# Revision 1.48 2002/03/30 19:04:06 swa +# people release differently. no good. +# I want to make parts of the docs only. +# +# Revision 1.47 2002/03/30 09:05:21 swa +# better packaging. better rpm building. +# tar failed on sun (no exclude there). +# +# Revision 1.46 2002/03/29 20:09:01 swa +# al's patch +# +# Revision 1.45 2002/03/29 19:45:45 swa +# for lazy swa +# +# Revision 1.44 2002/03/29 17:42:44 gliptak +# Correcting for Solaris tar limitations +# +# Revision 1.43 2002/03/29 07:40:03 swa +# fixed make webserver. doh +# +# Revision 1.42 2002/03/29 06:59:04 swa +# other users could not modify files on webserver +# +# Revision 1.41 2002/03/28 20:43:00 swa +# set make correctly +# +# Revision 1.40 2002/03/28 04:22:44 hal9 +# More on man2html stuff. +# +# Revision 1.39 2002/03/28 01:04:14 hal9 +# More man2html stuff for docs. +# +# Revision 1.38 2002/03/27 16:02:30 swa +# have a generic target +# +# Revision 1.37 2002/03/27 15:30:26 swa +# have a consistent appearance +# +# Revision 1.36 2002/03/27 14:58:08 swa +# can be used by mutilple targets +# +# Revision 1.35 2002/03/27 14:53:19 swa +# added solaris-dist +# +# Revision 1.34 2002/03/27 10:30:11 swa +# we want a html man file on the webserver +# +# Revision 1.33 2002/03/27 03:05:35 hal9 +# Added man2html target for docs (redhat-dok only for now) +# +# Revision 1.32 2002/03/26 22:29:54 swa +# we have a new homepage! +# +# Revision 1.31 2002/03/26 14:00:18 swa +# fixed make tarball, tarball-dist, tarball-clean +# +# Revision 1.30 2002/03/25 12:52:25 swa +# new targets +# +# Revision 1.29 2002/03/24 17:03:55 jongfoster +# Name change +# # Revision 1.28 2002/03/24 16:19:48 swa # configure needs to be generated. #