# Note: Makefile is built automatically from Makefile.in
#
-# $Id: GNUmakefile.in,v 1.109 2002/05/28 09:16:15 oes Exp $
+# $Id: GNUmakefile.in,v 1.112 2002/06/28 18:30:10 jongfoster Exp $
#
# Written by and Copyright (C) 2001 the SourceForge
# Privoxy team. http://www.privoxy.org/
CODE_STATUS = @CODE_STATUS@
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_POINT)
RPM_VERSION = $(VERSION)
+RPM_PACKAGEV = ""
+SNAPVERSION = $(RPM_VERSION)-$(shell date "+%Y%m%d")
#############################################################################
WDUMP = @WDUMP@ -dump
JADECAT = @JADECAT@
JADEBIN = @JADEBIN@
+DOC_STATUS = @DOC_STATUS@
# Note: Please make sure that -d ldp.dsl\#html stays the last option to
# $(JADEBIN), because for some targets "-notoc" will be appended
# to it (--> "ldp.dsl\#html-notoc").
-DB = $(JADEBIN) $(JADECAT) -ihtml -t sgml -D.. -d ldp.dsl\#html
+DB = $(JADEBIN) $(JADECAT) -i$(DOC_STATUS) -ihtml -t sgml -D.. -d ldp.dsl\#html
MAN2HTML = @MAN2HTML@
G2H_CMD = groff -mandoc -Thtml
TARGET_OS = @host@
PERL = perl
DOC_DIR = doc/source
DOC_TMP = $(DOC_DIR)/tmp
-
+DKPREFIX = @DKPREFIX@
#User Group paras
USER = @USER@
# and escape every '#' in the find. doh.
CONFIG_FILES = config trust \
default.action \
- basic.action intermediate.action advanced.action \
+ standard.action user.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"` \
- `find doc/webserver/ -name "*.html"` \
+ `find doc/webserver/ -name "*.html" | grep -v "\(webserver\|team\)\/index\.html"` \
`find doc/webserver/ -name "*.css"` \
privoxy.1
REGEX_SRC =
@STATIC_PCRE_ONLY@REGEX_SRC = $(DIR_PRIVOXY_SRC_PCRE)/pcreposix.c
-REGEX_OBJS = $(REGEX_SRC:$(DIR_PRIVOXY_SRC_PCRE)/%.c=%.@OBJEXT@)
+REGEX_OBJS = $(REGEX_SRC:$(DIR_PRIVOXY_SRC_PCRE)/%.c=$(DIR_PRIVOXY_OBJ)/%.@OBJEXT@)
REGEX_HDRS = $(REGEX_SRC:.c=.h)
# Dependencies introduced by #include "project.h".
#############################################################################
# Phony targets
#############################################################################
-.PHONY: all inifiles redhat-dist redhat-upload solaris-dist suse-dist \
+.PHONY: all inifiles redhat-dist redhat-upload redhat-test solaris-dist suse-dist \
suse-upload win-dist tarball-dist dok redhat-dok webserver clean clobber tags \
install conectiva-spec conectiva-dist conectiva-upload debian-dist \
debian-upload ensure-wdump ensure-jadebin ensure-dkprefix
# redhat distribution alpha and x86
#############################################################################
redhat-dist: rpm-stuff
+ echo $(CONFIG_FILES)
+ $(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-suse.spec" --exclude "privoxy-cl.spec" --exclude "PACKAGERS" -czf $(TAR_ARCH) .
+ $(RPMBUILD) --clean -ta $(TAR_ARCH)
+ if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+# For testing build issues only! Use redhat-dist for official releases.
+redhat-test:
+ echo $(CONFIG_FILES)
$(TAR) --exclude ".cvsignore" --exclude "CVS" --exclude "privoxy-suse.spec" --exclude "privoxy-cl.spec" --exclude "PACKAGERS" -czf $(TAR_ARCH) .
- $(RPM) --clean -ta $(TAR_ARCH)
+ $(RPMBUILD) --clean -tb $(TAR_ARCH)
if [ -f $(TAR_ARCH) ]; then $(RM) $(TAR_ARCH); fi
+ @echo "WARNING: This target is only for testing. Use redhat-dist for releases!!!"
# anonymously ncftps the rpms to sourceforge
redhat-upload: check-release
#
#############################################################################
-# 3 checks to make sure docs will be generated
-ensure-wdump:
-ifeq (@WDUMP@,false)
- @$(ECHO)
- @$(ECHO) "Cannot build docs; one of w3m, links, or lynx must be installed."
- @$(ECHO) "You should install the appropriate package and rerun ./configure"
- @exit 1
-endif
-
-ensure-jadebin:
-ifeq (@JADEBIN@,false)
- @$(ECHO)
- @$(ECHO) "Cannot build docs; one of openjade or jade must be installed"
- @$(ECHO) "You should install the appropriate package and rerun ./configure"
- @exit 1
-endif
-
-ensure-dkprefix:
-ifeq (@DKPREFIX@,false)
- @$(ECHO)
- @$(ECHO) "Cannot build docs; cannot find docbook-dsssl stylesheets"
- @$(ECHO) "You should install the appropriate package and rerun ./configure"
- @exit 1
-endif
-
-# developer manual
-dok-devel: ensure-dkprefix ensure-jadebin ensure-wdump
- $(RM) doc/webserver/developer-manual/*.html
- $(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
-
-# user manual
-dok-user: ensure-dkprefix ensure-jadebin ensure-wdump
- $(RM) doc/webserver/user-manual/*.html
- $(RM) -r doc/source/user-manual/
- mkdir -p doc/text doc/source/user-manual
- cd doc/source/user-manual && $(DB) ../user-manual.sgml && cd .. && cp user-manual/*.html ../webserver/user-manual/
- cd doc/source && $(DB) -V nochunks user-manual.sgml > tmp.html && $(WDUMP) tmp.html > ../text/user-manual.txt && $(RM) -r tmp.html user-manual
-
-# faq
-dok-faq: ensure-dkprefix ensure-jadebin ensure-wdump
- $(RM) doc/webserver/faq/*.html
- $(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
-
-# man page
-dok-man:
- $(RM) doc/man/* doc/webserver/man-page/*.html
-ifneq ($(MAN2HTML),false)
- $(ECHO) "<html><head><title>Privoxy 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
-endif
-
-# readme page
-dok-readme: ensure-dkprefix ensure-jadebin ensure-wdump
- cd doc/source && $(DB)-notoc -V nochunks readme.sgml > tmp.html &&\
- $(WDUMP) tmp.html > ../../README && $(RM) -r tmp.html
-
-# index.sgml is used to create both the Home Page, and a local index
-# for documentation, etc.
-#
-# index.html for webserver:
-dok-webserver:
- cd doc/source/webserver && $(DB)-notoc -ip-homepage -V nochunks index.sgml > ../../webserver/index.html
- $(PERL) -pi.bak -e 's/..\/p_doc.css/p_doc.css/;\
- s/<\/HEAD/\n<meta name=\"description\" content=\"Privoxy helps consumers reduce unwanted junk email and protect their privacy from direct marketing companies.\"><\/HEAD/;\
- s/<\/HEAD/\n<meta name="MSSmartTagsPreventParsing" content="TRUE"><\/HEAD/;\
- s/\.\d\. //'\
- doc/webserver/index.html && $(RM) doc/webserver/*.bak
-
-# privoxy-index.html for local documentation:
-dok-index:
- cd doc/source/webserver && $(DB)-notoc -ip-index -V nochunks index.sgml > ../../webserver/privoxy-index.html
- $(PERL) -pi.bak -e 's/..\/p_doc.css/p_doc.css/;\
- s/<\/HEAD/\n<meta name=\"description\" content=\"Privoxy helps consumers reduce unwanted junk email and protect their privacy from direct marketing companies.\"><\/HEAD/;\
- s/<\/HEAD/\n<meta name="MSSmartTagsPreventParsing" content="TRUE"><\/HEAD/;\
- s/\.\d\. //'\
- doc/webserver/privoxy-index.html && $(RM) doc/webserver/*.bak
-
-# Main documentation target.
-dok: dok-devel dok-release dok-user dok-faq dok-readme dok-webserver dok-authors dok-index
- @$(ECHO) Documentation created.
-
-#
-# an alternative to the above dok. disabled man page creation for the moment
-#
-redhat-dok: dok-release dok-devel dok-user dok-faq redhat-readme dok-webserver dok-authors
- @$(ECHO) Documentation created.
-
-# For those with man2html ala RH7's.
-man2html:
- mkdir -p doc/webserver/man-page
-ifneq ($(MAN2HTML),false)
- $(MAN2HTML) privoxy.1 |grep -v "^Content-type" > tmp.html
- $(PERL) -pi.bak -e 's/<A .*Contents<\/A>//; s/<A .*man2html<\/A>/man2html/' tmp.html
- $(PERL) -pi.bak -e 's/(<\/HEAD>)/<LINK REL=\"STYLESHEET\" TYPE=\"text\/css\" HREF=\"..\/p_doc.css\"><\/HEAD>/' tmp.html
-# Get rid of spurious \a from conversion. (How to do this with perl?)
- $(SED) -e 's/\a//g' tmp.html > doc/webserver/man-page/privoxy-man-page.html && $(RM) tmp.*
-else
- $(MAKE) groff2html
-endif
-
-# Otherwise we get plain groff conversion.
-groff2html:
- $(G2H_CMD) ./privoxy.1 | $(SED) -e 's@</head>@<link REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></head>@' > doc/webserver/man-page/privoxy-man-page.html
-
-## Make README
-redhat-readme: ensure-dkprefix ensure-jadebin ensure-wdump
- cd doc/source && $(DB) -V nochunks readme.sgml > tmp.html && $(WDUMP) \
- tmp.html > ../../README && $(RM) -r tmp.html
-
-## Make AUTHORS file
-dok-authors: ensure-dkprefix ensure-jadebin ensure-wdump
- cd doc/source && $(DB) -V nochunks authors.sgml > tmp.html && $(WDUMP) \
- tmp.html > ../../AUTHORS && $(RM) tmp.html
-
-# make a man page, and then (lousy) HTML version.
-# Requires docbook2man (short perl script), see comments
-# in privoxy-man-page.sgml. This target is not invoked from other dok targets.
-# It is built separately due to dependencies on perl scripts.
-man:
- mkdir -p doc/source/man
- cd doc/source/man && docbook2man ../privoxy-man-page.sgml &&\
- perl -pi.bak -e 's/ <URL:.*>//; s/\[ /\[/g' privoxy.1
- cd doc/source/man && $(DB) ../privoxy-man-page.sgml &&\
- mv -f index.html privoxy-man-page.html
- # This html is not used. See make man2html.
- mv -f doc/source/man/privoxy.1 privoxy.1
- $(MAKE) man2html
-
-# Set doc entities for VERSION and CODE_STATUS in sgml docs. Toggle content
-# exceptions accordingly. This needs to go before any doc building (doh).
-dok-release:
- @$(ECHO) Setting doc version and status to $(VERSION), $(CODE_STATUS)
- @$(PERL) -pi.bak -e 's/<!entity +p-version.*>/<!entity p-version "$(VERSION)">/;\
- s/<!entity +p-status.*>/<!entity p-status "$(CODE_STATUS)">/' \
- doc/source/*sgml doc/source/*/*sgml
- $(RM) -r doc/source/*bak doc/source/*/*bak
-ifeq ($(CODE_STATUS),stable)
- @$(ECHO) Setting docs to stable $(VERSION)
- @$(PERL) -pi.bak -e 's/<!entity +% +p-stable.*>/<!entity % p-stable "INCLUDE">/;\
- s/<!entity +% +p-not-stable.*>/<!entity % p-not-stable "IGNORE">/' \
- doc/source/*sgml doc/source/*/*sgml
- $(RM) -r doc/source/*bak doc/source/*/*bak
-else
- @$(ECHO) Setting docs to not stable $(VERSION)
- @$(PERL) -pi.bak -e 's/<!entity +% +p-stable.*>/<!entity % p-stable "IGNORE">/;\
- s/<!entity +% +p-not-stable.*>/<!entity % p-not-stable "INCLUDE">/' \
- doc/source/*sgml doc/source/*/*sgml
- $(RM) -r doc/source/*bak doc/source/*/*bak
-endif
-
-dok-pdf: dok-release
- $(RM) doc/pdf/*.pdf
- cp -f doc/source/*.sgml doc/pdf
- cp -f doc/source/*.dsl doc/pdf
- cd doc/pdf && db2pdf --pdf -s ldp.dsl user-manual.sgml && mv user-manual.pdf privoxy-user-manual.pdf > /dev/null 2>&1
- cd doc/pdf && db2pdf --pdf -s ldp.dsl developer-manual.sgml && mv developer-manual.pdf privoxy-developer-manual.pdf > /dev/null 2>&1
- cd doc/pdf && db2pdf --pdf -s ldp.dsl faq.sgml && mv faq.pdf privoxy-faq.pdf > /dev/null 2>&1
- $(RM) doc/pdf/*.sgml doc/pdf/*.dsl doc/pdf/*.out doc/pdf/*.tex doc/pdf/*.log doc/pdf/*.aux
-
-# the layout and style with db2pdf sucks, here is an alternative
-dok-pdf2: dok-release
- mkdir -p doc/source/temp # this directory not in cvs
- cd doc/source && $(DB) -V nochunks user-manual.sgml > temp/privoxy-user-manual.html
- cd doc/source && $(DB) -V nochunks developer-manual.sgml > temp/privoxy-developer-manual.html
- cd doc/source && $(DB) -V nochunks faq.sgml > temp/privoxy-faq.html
-# one could use html2ps and ps2pdf. well, that does not work. htmlps produces incorrect output.
-
-# Create release announcement in text and html, with short and long versions.
-# This is a standalone target, and must be invoked directly.
-announce: dok-release
- mkdir -p $(DOC_TMP)
- cd $(DOC_TMP) && cp -f ../announce.sgml . && $(DB) -iannounce-big announce.sgml &&\
- mv -f index.html announce.html && $(WDUMP) announce.html > announce.txt
- cd $(DOC_TMP) && $(DB) announce.sgml &&\
- mv -f index.html announce-mini.html && $(WDUMP) announce-mini.html > announce-mini.txt &&\
- mv -f *html *txt ../../..
- rm -fr $(DOC_TMP)
+
+dok:
+ cd $(DOC_DIR) && $(MAKE)
#############################################################################
#
# An auxiliary program makes the PCRE default character table source
-$(DIR_PRIVOXY_SRC_PCRE)/chartables.c: $(DIR_PRIVOXY_SRC_PCRE)/dftables@EXEEXT@
+$(DIR_PRIVOXY_SRC_PCRE)/chartables.c: $(DIR_PRIVOXY_OBJ)/dftables@EXEEXT@
$(DIR_PRIVOXY_SRC_PCRE)/dftables@EXEEXT@ >$(DIR_PRIVOXY_SRC_PCRE)/chartables.c
$(DIR_PRIVOXY_OBJ)/dftables@EXEEXT@: $(DIR_PRIVOXY_SRC_PCRE)/dftables.c $(DIR_PRIVOXY_SRC_PCRE)/maketables.c $(DIR_PRIVOXY_SRC_PCRE)/pcre.h $(DIR_PRIVOXY_SRC_PCRE)/internal.h $(DIR_PRIVOXY_SRC_PCRE)/config.h
$(LD) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)
clean:
- $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) `find . -name TAGS -o -name tags`
+ $(RM) a.out $(OBJS) $(W32_FILES) $(W32_INIS) $(PROGRAM) \
+ `find . -name TAGS -o -name tags`
tidy:
$(RM) `find . -name "*~"`
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_DIR)/ldp.dsl \
+ $(DOC_DIR)/GNUmakefile
#
# FIXME: What is all this?
## end:
# $Log: GNUmakefile.in,v $
+# Revision 1.112 2002/06/28 18:30:10 jongfoster
+# Fixing bugs compiling PCRE
+#
+# Revision 1.111 2002/06/05 00:26:21 hal9
+# Move all doc build stuff to doc/source/GNUmakefile, leaving a 'make dok'
+# target only in toplevel. Add DOC_STATUS variable so docs can be built without
+# touching sgml source.
+#
+# Revision 1.110 2002/06/04 14:51:48 jongfoster
+# Updating for new paths:
+# - Source files in src/
+# - Object files in obj/
+#
# Revision 1.109 2002/05/28 09:16:15 oes
# Added comment for -notoc kludge
#