# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.21 2002/03/24 12:43:57 swa Exp $
+# $Id: GNUmakefile.in,v 1.42 2002/03/29 06:59:04 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)
#############################################################################
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT)
# will automatically be postfixed with -$(RPM_PACKAGEV) in the SPECfile
RPM_VERSION = $(VERSION)
-RPM_PACKAGEV = 1
+RPM_PACKAGEV = @VERSION_RPM_PACKAGE@
#############################################################################
DB = $(JADEBIN) -t sgml -ihtml -D.. -d ldpOK.dsl\#html
DB2HTML = @DB2HTML@
DKPREFIX = @DKPREFIX@
+MAN2HTML = @MAN2HTML@
+G2H_CMD = groff -mandoc -Thtml
+TARGET_OS = @host@
# Program to do LF->CRLF
#
C_OBJS = $(C_SRC:.c=.@OBJEXT@)
C_HDRS = $(C_SRC:.c=.h) project.h actionlist.h
+CONFIG_FILES = config trust \
+ default.action \
+ basic.action intermediate.action advanced.action \
+ default.filter \
+ templates/*
+
+DOC_FILES = AUTHORS LICENSE README ChangeLog doc/text/* privoxy.1
+
W32_SRC = @WIN_ONLY@w32log.c w32taskbar.c win32.c
W32_FILES = @WIN_ONLY@w32.res
W32_OBJS = @WIN_ONLY@$(W32_SRC:.c=.@OBJEXT@) $(W32_FILES)
# w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
#############################################################################
-# sun solaris distribution
+# 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
+ $(TAR) -C.. -cvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$(PROGRAM)
+# add config files
+ for foo in $(CONFIG_FILES); do \
+ $(TAR) -C.. --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo; \
+ done;
+# add documentation
+ for foo in $(DOC_FILES); do \
+ $(TAR) -C.. --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -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 tarball 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 tarball to sourceforge
+solaris-upload: gen-upload
+ @$(ECHO) Done.
+# use with care
+solaris-clean: gen-clean
+ @$(ECHO) Done.
+
#############################################################################
-solaris-dist:
+# 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 (need to be root to build)
+# freebsd distribution
#############################################################################
+freebsd-dist:
+ @$(ECHO) coming soon.
+freebsd-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 \
if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
- if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSION)/g' \
+ if $(SED) -e 's/^\(Version:\).*/\1 $(RPM_VERSIO)/g' \
-e 's/^\(Release:\).*/\1 $(RPM_PACKAGEV)/g' \
privoxy-suse.spec > $$TMPFILE ; then \
$(MV) -f $$TMPFILE privoxy-suse.spec; \
# handle with care. use with root.
suse-clean:
- rpm -e junkbuster-suse
+ rpm -e junkbuster-suse || true
rm -rf /etc/junkbuster
rm -rf /etc/rc.d/junkbuster*
rm -rf /var/run/junkbuster.pid
rm -f /usr/sbin/junkbuster
rm -f /usr/sbin/rcjunkbuster
rm -f /usr/share/man/man1/junkbuster.1.gz
- rpm -e privoxy-suse
+ rpm -e privoxy-suse || true
rm -rf /etc/privoxy
rm -rf /etc/rc.d/privoxy*
rm -rf /var/run/privoxy.pid
#############################################################################
# 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 ijb/
- chmod a+r ../../privoxy-distribution-$(VERSION).tar.gz
- @$(ECHO) Tarball with binary created.
+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 (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
#############################################################################
#
# converts doc/source/*.sgml into html, text and man pages
#
#############################################################################
-dok: doc/source/ldpOK.dsl
+dok: doc/source/ldpOK.dsl man2html-swa
mkdir -p doc/text doc/man
# user manual
rm -rf doc/webserver/user-manual
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
+## kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+
+man2html-swa:
+ 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
-redhat-dok: doc/source/ldpOK.dsl
+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
+## kludge to force recreation on next run. Rodgrigo?
+ @rm -f doc/source/ldpOK.dsl
+
doc/source/ldpOK.dsl:
if [ "$(DKPREFIX)" != "none" ]; then \
cp doc/source/ldp.dsl doc/source/ldpOK.dsl; \
fi
+# 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
+
+# Otherwise we get plain groff conversion.
+groff2html:
+ $(G2H_CMD) ./privoxy.1 > doc/webserver/man-page/privoxy-man-page.html
+
+
#############################################################################
#
# 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/
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
-w32.res: w32.rc w32res.h icons/ico00001.ico icons/ico00002.ico icons/ico00003.ico icons/ico00004.ico icons/ico00005.ico icons/ico00006.ico icons/ico00007.ico icons/ico00008.ico icons/idle.ico icons/junkbust.ico config.h
+w32.res: w32.rc w32res.h icons/ico00001.ico icons/ico00002.ico icons/ico00003.ico icons/ico00004.ico icons/ico00005.ico icons/ico00006.ico icons/ico00007.ico icons/ico00008.ico icons/idle.ico icons/privoxy.ico config.h
windres -D__MINGW32__=0.2 -O coff -i $< -o $@
# AmigaOS
$(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
clobber: clean
- $(RM) $(PROGRAM) cscope.* logfile *.pdb *.lib *.exp `find . -name tags` TAGS junkbuster.log privoxy.log config.cache *~ *.tar.gz
+ $(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
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
## end:
# $Log: GNUmakefile.in,v $
+# 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.
+#
+# Revision 1.27 2002/03/24 16:13:57 swa
+# generated files are a nono in cvs
+#
+# Revision 1.26 2002/03/24 15:36:02 swa
+# did not build.
+#
+# Revision 1.25 2002/03/24 14:31:08 swa
+# remove more crappy files. set RPM
+# release version correctly.
+#
+# Revision 1.24 2002/03/24 14:19:55 swa
+# set rpm package release in configure.in. nowhere else.
+#
+# Revision 1.23 2002/03/24 13:06:49 swa
+# suse-clean now runs fine
+#
+# Revision 1.22 2002/03/24 12:56:21 swa
+# name change related issues.
+#
# Revision 1.21 2002/03/24 12:43:57 swa
# name change
#