# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.41 2002/03/28 20:43:00 swa Exp $
+# $Id: GNUmakefile.in,v 1.47 2002/03/30 09:05:21 swa Exp $
#
# Written by and Copyright (C) 2001 the SourceForge
# Privoxy team. http://www.privoxy.org/
# 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@
G2H_CMD = groff -mandoc -Thtml
TARGET_OS = @host@
+#User Group paras
+USER = @USER@
+GROUP = @GROUP@
+
# Program to do LF->CRLF
#
# The sed version should be the most portable, but it doesn't for for me,
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
+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
#############################################################################
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)
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
# w3m http://sourceforge.net/project/admin/editpackages.php?group_id=11118
#############################################################################
-# generic distribution
+# suse distribution. works fine. no need to be root.
#############################################################################
+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
+
+ $(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
+ ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/privoxy-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
+ @$(ECHO) -------------------------------------------------------
+ @$(ECHO) Now goto
+ @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
+ @$(ECHO) ... and release the files.
+ @$(ECHO) -------------------------------------------------------
+# handle with care. use with root.
+suse-clean:
+ rpm -e junkbuster-suse || true
+ rm -rf /etc/junkbuster
+ rm -rf /etc/rc.d/junkbuster*
+ rm -rf /var/run/junkbuster.pid
+ rm -rf /var/log/junkbuster
+ rm -f /etc/init.d/junkbuster
+ rm -f /usr/sbin/junkbuster
+ rm -f /usr/sbin/rcjunkbuster
+ rm -f /usr/share/man/man1/junkbuster.1.gz
+ rpm -e privoxy-suse || true
+ rm -rf /etc/privoxy
+ rm -rf /etc/rc.d/privoxy*
+ rm -rf /var/run/privoxy.pid
+ rm -rf /var/log/privoxy
+ rm -f /etc/init.d/privoxy
+ rm -f /usr/sbin/privoxy
+ 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?"
$(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)
+ 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 \
- $(TAR) -C.. --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo; \
+ 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 \
- $(TAR) -C.. --exclude "CVS" --exclude "#*" --exclude ".#*" --exclude ".cvsignore" -uvhf privoxy-$(TARGET_OS)-$(VERSION)-$(CODE_STATUS)-src.tar privoxy-$(VERSION)-$(CODE_STATUS)/$$foo; \
+ 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 tarball to sourceforge
+# 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) -------------------------------------------------------
#############################################################################
solaris-dist: gen-dist
@$(ECHO) Done.
-# anonymously ncftps the tarball to sourceforge
+# anonymously ncftps the package to sourceforge
solaris-upload: gen-upload
@$(ECHO) Done.
# use with care
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 \
- $(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
-
- TMPFILE=$$(mktemp -q /tmp/$(PROGRAM).XXXXXX); \
- 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; \
- 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
- ncftpput -u anonymous -p ijbswa-developers@lists.sourceforge.net upload.sourceforge.net /incoming $(RPM_BASE)/RPMS/*/privoxy-suse-$(RPM_VERSION)-$(RPM_PACKAGEV).*.rpm
- @$(ECHO) -------------------------------------------------------
- @$(ECHO) Now goto
- @$(ECHO) http://sourceforge.net/project/admin/editpackages.php?group_id=11118
- @$(ECHO) ... and release the files.
- @$(ECHO) -------------------------------------------------------
-
-# handle with care. use with root.
-suse-clean:
- rpm -e junkbuster-suse || true
- rm -rf /etc/junkbuster
- rm -rf /etc/rc.d/junkbuster*
- rm -rf /var/run/junkbuster.pid
- rm -rf /var/log/junkbuster
- rm -f /etc/init.d/junkbuster
- rm -f /usr/sbin/junkbuster
- rm -f /usr/sbin/rcjunkbuster
- rm -f /usr/share/man/man1/junkbuster.1.gz
- rpm -e privoxy-suse || true
- rm -rf /etc/privoxy
- rm -rf /etc/rc.d/privoxy*
- rm -rf /var/run/privoxy.pid
- rm -rf /var/log/privoxy
- rm -f /etc/init.d/privoxy
- rm -f /usr/sbin/privoxy
- rm -f /usr/sbin/rcprivoxy
- rm -f /usr/share/man/man1/privoxy.1.gz
-
#############################################################################
# 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 (without 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 man2html-swa
- 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
-## kludge to force recreation on next run. Rodgrigo?
- @rm -f doc/source/ldpOK.dsl
-man2html-swa:
+## 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; \
$(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
## kludge to force recreation on next run. Rodgrigo?
@rm -f doc/source/ldpOK.dsl
-
-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
-
# For those with man2html ala RH7's.
man2html:
mkdir -p doc/webserver/man-page
$(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 664 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) $(PROGRAM) junkbuster
+ $(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.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
#