# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.30 2002/03/25 12:52:25 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
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
+#############################################################################
+# Set make command correctly
+#############################################################################
+@SET_MAKE@
+
#############################################################################
# Version number (for RPM)
#############################################################################
# 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@
#############################################################################
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
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
#
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
#############################################################################
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."; \
$(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
@$(ECHO) -------------------------------------------------------
# w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
-#############################################################################
-# sun solaris distribution
-#############################################################################
-solaris-dist:
- @$(ECHO) coming soon.
-solaris-upload:
- @$(ECHO) coming soon.
-
-#############################################################################
-# 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.
-
#############################################################################
# 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
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
#############################################################################
#############################################################################
tarball-dist: clobber
$(LN) -s current ../privoxy-$(VERSION)-$(CODE_STATUS)
- $(TAR) -C.. --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 (with any binary) created.
+ 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:
# 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) "<html><head><title>Privoxy|Doc/Man page</title><link rel=\"stylesheet\" type=\"text/css\" href=\"../p_web.css\"></head><body><H2>NAME</H2>" > doc/webserver/man-page/privoxy-man-page.html; \
+ man ./privoxy.1 | $(MAN2HTML) -bare \
+ >> doc/webserver/man-page/privoxy-man-page.html; \
+ $(ECHO) "</body></html>" >> 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
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/<A .*Contents<\/A>//; s/<A .*man2html<\/A>/man2html/' doc/webserver/man-page/privoxy-man-page.html; \
+ else \
+ $(MAKE) groff2html; \
fi
#############################################################################
@$(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
#############################################################################
$(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)
# 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
#############################################################################
## 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
#