diff --git a/en/Makefile b/en/Makefile
index 7c2b618c90..7167ce462f 100644
--- a/en/Makefile
+++ b/en/Makefile
@@ -1,123 +1,93 @@
-# $FreeBSD: www/en/Makefile,v 1.122 2005/05/27 08:50:10 brueffer Exp $
+# $FreeBSD: www/en/Makefile,v 1.123 2005/07/16 09:58:16 hrs Exp $
.if exists(Makefile.conf)
.include "Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
# These are turned into validated, normalized HTML files.
DOCS= applications.sgml
DOCS+= art.sgml
DOCS+= availability.sgml
DOCS+= docs.sgml
DOCS+= features.sgml
DOCS+= internet.sgml
DOCS+= mailto.sgml
DOCS+= publish.sgml
DOCS+= relnotes.sgml
DOCS+= send-pr.sgml
DOCS+= support.sgml
DOCS+= where.sgml
DOCS+= y2kbug.sgml
+XMLDOCS= index:xsl:${XML_NEWS_NEWS}:
+DEPENDSET.index=transtable mirrors news press \
+ navigation advisories notices
+
+XMLDOCS+= usergroups:${XSL_USERGROUPS}:${XML_USERGROUPS}:
+DEPENDSET.usergroups=transtable usergroups
+PARAMS.usergroups= --param pagename "'FreeBSD User Groups'"
+
# These will be directly installed.
DATA= favicon.ico
DATA+= freebsd.css
DATA+= index.css
DATA+= robots.txt
DATA+= vendors.html
# Subdirectories
# SGML
SUBDIR= FAQ
SUBDIR+= advocacy
SUBDIR+= commercial
SUBDIR+= copyright
SUBDIR+= docproj
SUBDIR+= donations
SUBDIR+= events
SUBDIR+= gnome
SUBDIR+= handbook
SUBDIR+= internal
SUBDIR+= java
SUBDIR+= kse
SUBDIR+= marketing
SUBDIR+= news
SUBDIR+= platforms
SUBDIR+= portmgr
SUBDIR+= projects
SUBDIR+= prstats
SUBDIR+= releases
SUBDIR+= releng
SUBDIR+= search
SUBDIR+= security
SUBDIR+= smp
SUBDIR+= snapshots
SUBDIR+= tutorials
.if !defined(WEB_ONLY) || empty(WEB_ONLY)
SUBDIR+= doc
SUBDIR+= ports
.endif
.if defined(BUILD_RELNOTES)
SUBDIR+= relnotes
.endif
# Non-SGML
SUBDIR+= cgi
SUBDIR+= gifs
WEB_LANG?= da de es fr it ja nl pt_BR ru tr zh
# Non-English
.if !defined(ENGLISH_ONLY) || empty(ENGLISH_ONLY)
.for DIR in ${WEB_LANG}
SUBDIR+= ../${DIR}
.endfor
.endif
WEBDIR?= data
-# these files are generated by using separate rules.
-DATA+= index.html usergroups.html
-CLEANFILES+= index.html usergroups.html
-
.include "${WEB_PREFIX}/share/mk/web.site.mk"
-
-index.html: index.xsl ${XML_INCLUDES}\
- ${XML_NEWS_INCLUDES} \
- ${XML_NEWS_NEWS} ${XML_NEWS_NEWS_MASTER} \
- ${XML_NEWS_PRESS} ${XML_NEWS_PRESS_MASTER} \
- ${XML_MIRRORS} ${XML_TRANSTABLE} \
- ${XML_ADVISORIES} ${XML_NOTICES} \
- ${XML_NAVIGATION}
- ${XSLTPROC} ${XSLTPROCOPTS} \
- -o $@ \
- --param advisories.xml "'${XML_ADVISORIES}'" \
- --param mirrors.xml "'${XML_MIRRORS}'" \
- --param navigation.xml "'${XML_NAVIGATION}'" \
- --param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
- --param news.press.xml "'${XML_NEWS_PRESS}'" \
- --param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
- --param news.project.xml "'${XML_NEWS_NEWS}'" \
- --param notices.xml "'${XML_NOTICES}'" \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/index.xsl ${XML_NEWS_NEWS}
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-usergroups.html: ${XML_INCLUDES} ${XML_TRANSTABLE} \
- ${XSL_USERGROUPS} ${XML_USERGROUPS}
- ${XSLTPROC} ${XSLTPROCOPTS} \
- -o $@ \
- --param pagename "'FreeBSD User Groups'" \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${XSL_USERGROUPS} ${XML_USERGROUPS}
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
diff --git a/en/commercial/Makefile b/en/commercial/Makefile
index 0af42d82f8..263db461c3 100644
--- a/en/commercial/Makefile
+++ b/en/commercial/Makefile
@@ -1,94 +1,43 @@
-# $FreeBSD: www/en/commercial/Makefile,v 1.15 2004/05/02 21:53:07 josef Exp $
+# $FreeBSD: www/en/commercial/Makefile,v 1.16 2004/05/05 07:56:31 josef Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-DOCS= commercial.sgml
+DOCS= commercial.sgml
-DATA= consult.html
-DATA+= consult_bycat.html
-DATA+= hardware.html
-DATA+= isp.html
-DATA+= misc.html
-DATA+= software.html
-DATA+= software_bycat.html
+INDEXLINK= commercial.html
-CLEANFILES= commercial.html
-CLEANFILES+= consult.html
-CLEANFILES+= consult_bycat.html
-CLEANFILES+= hardware.html
-CLEANFILES+= isp.html
-CLEANFILES+= misc.html
-CLEANFILES+= software.html
-CLEANFILES+= software_bycat.html
+SRCS.DEFAULT= ../includes.xsl
+XSLT.DEFAULT= entries.xsl
-INDEXLINK= commercial.html
+XMLDOCS= consult
+PARAMS.consult= --param pagename "'Consulting Services'"
-XMLLINT?= /usr/local/bin/xmllint # Part of textproc/libxml2.
+XMLDOCS+= consult_bycat::consult.xml:
-consult.html: entries.xsl consult.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param pagename "'Consulting Services'" \
- ${.CURDIR}/entries.xsl ${.CURDIR}/consult.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= hardware
+PARAMS.hardware= --param pagename "'Hardware Vendors'"
-consult_bycat.html: consult_bycat.xsl consult.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${.CURDIR}/consult_bycat.xsl ${.CURDIR}/consult.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= isp
+PARAMS.isp= --param pagename "'Internet Service Providers'"
-hardware.html: entries.xsl hardware.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param pagename "'Hardware Vendors'" \
- ${.CURDIR}/entries.xsl ${.CURDIR}/hardware.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= misc
+PARAMS.misc= --param pagename "'Miscellaneous Vendors'"
-isp.html: entries.xsl isp.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param pagename "'Internet Service Providers'" \
- ${.CURDIR}/entries.xsl ${.CURDIR}/isp.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= software
+PARAMS.software=--param pagename "'Software Vendors'"
-misc.html: entries.xsl misc.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param pagename "'Miscellaneous Vendors'" \
- ${.CURDIR}/entries.xsl ${.CURDIR}/misc.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-software.html: entries.xsl software.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param pagename "'Software Vendors'" \
- ${.CURDIR}/entries.xsl ${.CURDIR}/software.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-software_bycat.html: soft_bycat.xsl software.xml ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${.CURDIR}/soft_bycat.xsl ${.CURDIR}/software.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= software_bycat:soft_bycat.xsl:software.xml:
lint:
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/consult.xml
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/hardware.xml
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/isp.xml
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/misc.xml
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/software.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/consult.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/hardware.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/isp.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/misc.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/software.xml
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/events/Makefile b/en/events/Makefile
index fae19692e9..c1efad56e3 100644
--- a/en/events/Makefile
+++ b/en/events/Makefile
@@ -1,59 +1,49 @@
-# $FreeBSD: www/en/events/Makefile,v 1.7 2004/04/06 11:36:12 phantom Exp $
+# $FreeBSD: www/en/events/Makefile,v 1.8 2005/08/17 14:50:45 ceri Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
SUBDIR= 2002
SUBDIR+= 2003
DATA= events.css
-DATA+= events.html
-DATA+= events.ics
-CLEANFILES+= events.html
-CLEANFILES+= events.ics
CLEANFILES+= curdate.xml
INDEXLINK= events.html
DATE?= /bin/date
TR?= /usr/bin/tr
XMLLINT?= /usr/local/bin/xmllint # Part of textproc/libxml2.
-events.html: events.xsl events.xml ../includes.xsl curdate.xml
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${.CURDIR}/events.xsl ${.CURDIR}/events.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS= events
+SRCS.events= ../includes.xsl curdate.xml
-events.ics: events.xml
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${WEB_PREFIX}/share/sgml/events2ics.xsl ${.CURDIR}/events.xml
+XMLDOCS= events_ics:${WEB_PREFIX}/share/sgml/events2ics.xsl:events.xml:events.ics
lint:
- ${XMLLINT} --valid -o /dev/null ${.CURDIR}/events.xml
+ ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/events.xml
.if !make(install)
.PHONY: curdate.xml
.endif
curdate.xml:
@${ECHO} "Generating ${.TARGET}"
@${ECHO_CMD} '' > ${.TARGET}
@${ECHO_CMD} '' >> ${.TARGET}
@${ECHO_CMD} -n ' ' >> ${.TARGET}
@${DATE} +%Y | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '' >> ${.TARGET}
@${ECHO_CMD} -n ' ' >> ${.TARGET}
@${DATE} +%m | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '' >> ${.TARGET}
@${ECHO_CMD} -n ' ' >> ${.TARGET}
@${DATE} +%d | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '' >> ${.TARGET}
@${ECHO_CMD} '' >> ${.TARGET}
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/gnome/Makefile b/en/gnome/Makefile
index ee5762d0d7..da9fb94c8f 100644
--- a/en/gnome/Makefile
+++ b/en/gnome/Makefile
@@ -1,43 +1,28 @@
-# $FreeBSD: www/en/gnome/Makefile,v 1.19 2004/11/10 13:57:24 ceri Exp $
+# $FreeBSD: www/en/gnome/Makefile,v 1.20 2004/11/25 04:29:18 marcus Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
SUBDIR= docs
SUBDIR+= images
DOCS= screenshots.sgml
DOCS+= contact.sgml
-DATA= index.html newsflash.html news.rdf gnome_upgrade.sh gnomelogalyzer.sh
+DATA= gnome_upgrade.sh
+DATA+= gnomelogalyzer.sh
-CLEANFILES= index.html
-CLEANFILES+= newsflash.html
-CLEANFILES+= news.rdf
+SRCS.DEFAULT= includes.xsl
+XML.DEFAULT= news.xml
-index.html! index.xsl news.xml includes.xsl ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS:N-nonet} -o index.html \
- ${.CURDIR}/index.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} index.html
-.endif
-
-news.rdf: rss.xsl news.xml includes.xsl ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o news.rdf \
- ${.CURDIR}/rss.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} -xml -wrap 0 ${TIDYOPTS} news.rdf
-.endif
+XMLDOCS= index
+XSLTPROCOPTS.index= ${XSLTPROCOPTS:N--nonet}
-newsflash.html: newsflash.xsl news.xml includes.xsl ../includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= newsflash
+XMLDOCS+= news:rss.xsl::news.rdf
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/1998/Makefile b/en/news/1998/Makefile
index afe6cfbc2c..0b197c2e20 100644
--- a/en/news/1998/Makefile
+++ b/en/news/1998/Makefile
@@ -1,24 +1,16 @@
-# $FreeBSD: www/en/news/1998/Makefile,v 1.2 2001/10/29 10:14:32 murray Exp $
+# $FreeBSD: www/en/news/1998/Makefile,v 1.3 2004/04/07 11:41:47 phantom Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= index.sgml
-DATA= press.html
-CLEANFILES+= press.html
-
-press.html: ../oldpress.xsl press.xml\
- ../includes.xsl ../../includes.xsl ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/1999/Makefile b/en/news/1999/Makefile
index cce6ca6cbd..9c533ba559 100644
--- a/en/news/1999/Makefile
+++ b/en/news/1999/Makefile
@@ -1,25 +1,16 @@
-# $FreeBSD: www/en/news/1999/Makefile,v 1.2 2001/10/29 10:14:32 murray Exp $
+# $FreeBSD: www/en/news/1999/Makefile,v 1.3 2004/04/07 11:41:47 phantom Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= index.sgml
-DATA= press.html
-CLEANFILES+= press.html
-
-press.html: ../oldpress.xsl press.xml\
- ../includes.xsl ../../includes.xsl ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
+XMLDOCS= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/2000/Makefile b/en/news/2000/Makefile
index 047249616d..babb0210ca 100644
--- a/en/news/2000/Makefile
+++ b/en/news/2000/Makefile
@@ -1,24 +1,16 @@
-# $FreeBSD: www/en/news/2000/Makefile,v 1.2 2001/10/29 10:14:32 murray Exp $
+# $FreeBSD: www/en/news/2000/Makefile,v 1.3 2004/04/07 11:41:47 phantom Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= index.sgml
-DATA= press.html
-CLEANFILES+= press.html
-
-press.html: ../oldpress.xsl press.xml\
- ../includes.xsl ../../includes.xsl ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/2001/Makefile b/en/news/2001/Makefile
index 4c578e436a..e2742695e7 100644
--- a/en/news/2001/Makefile
+++ b/en/news/2001/Makefile
@@ -1,31 +1,21 @@
-# $FreeBSD: www/en/news/2001/Makefile,v 1.3 2004/04/07 11:41:47 phantom Exp $
+# $FreeBSD: www/en/news/2001/Makefile,v 1.4 2004/12/31 07:24:04 hrs Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-DATA= index.html press.html
-CLEANFILES+= index.html press.html
+DATA= index.html
+CLEANFILES+= index.html
-index.html: ../oldnewsflash.xsl news.xml \
- ${XML_INCLUDES} ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldnewsflash.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS= index:../oldpress.xsl:news.xml:
+SRCS.index= ../includes.xsl
+DEPENDSET.index= transtable
-press.html: ../oldpress.xsl press.xml\
- ../includes.xsl ../../includes.xsl ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/2002/Makefile b/en/news/2002/Makefile
index 3429e5c19f..67958c84e9 100644
--- a/en/news/2002/Makefile
+++ b/en/news/2002/Makefile
@@ -1,31 +1,18 @@
-# $FreeBSD: www/en/news/2002/Makefile,v 1.3 2004/04/07 11:41:47 phantom Exp $
+# $FreeBSD: www/en/news/2002/Makefile,v 1.4 2004/12/31 07:24:04 hrs Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-DATA= index.html press.html
-CLEANFILES+= index.html press.html
+XMLDOCS= index:../oldpress.xsl:news.xml:
+SRCS.index= ../includes.xsl
+DEPENDSET.index= transtable
-index.html: ../oldnewsflash.xsl news.xml \
- ${XML_INCLUDES} ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldnewsflash.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-press.html: ../oldpress.xsl press.xml \
- ${XML_INCLUDES} ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/2003/Makefile b/en/news/2003/Makefile
index d3ecc18d63..11ed70abbf 100644
--- a/en/news/2003/Makefile
+++ b/en/news/2003/Makefile
@@ -1,31 +1,18 @@
-# $FreeBSD$
+# $FreeBSD: www/en/news/2003/Makefile,v 1.1 2005/04/19 21:19:03 brueffer Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-DATA= index.html press.html
-CLEANFILES+= index.html press.html
+XMLDOCS= index:../oldpress.xsl:news.xml:
+SRCS.index= ../includes.xsl
+DEPENDSET.index= transtable
-index.html: ../oldnewsflash.xsl news.xml \
- ${XML_INCLUDES} ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldnewsflash.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-press.html: ../oldpress.xsl press.xml \
- ${XML_INCLUDES} ${XML_TRANSTABLE}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/../oldpress.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS+= press:../oldpress.xsl::
+SRCS.press= ../includes.xsl
+DEPENDSET.press= transtable
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/news/Makefile b/en/news/Makefile
index 4fadb307b0..9e30787e90 100644
--- a/en/news/Makefile
+++ b/en/news/Makefile
@@ -1,69 +1,45 @@
-# $FreeBSD: www/en/news/Makefile,v 1.40 2004/12/30 17:53:43 hrs Exp $
+# $FreeBSD: www/en/news/Makefile,v 1.41 2005/04/19 21:19:03 brueffer Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS+= news.sgml
# press releases
DOCS+= pressreleases.sgml
DOCS+= press-rel-1.sgml
DOCS+= press-rel-2.sgml
DOCS+= press-rel-3.sgml
DOCS+= press-rel-4.sgml
DOCS+= press-rel-5.sgml
DOCS+= press-rel-6.sgml
DOCS+= press-rel-7.sgml
# The yearly State of the Union address
DOCS+= sou1999.sgml
INDEXLINK= news.html
+SRCS.DEFAULT= includes.xsl
+DEPENDSET.DEFAULT= transtable news
+
+XMLDOCS= newsflash::news.xml:
+XMLDOCS+= news-rdf::news.xml:news.rdf
+XMLDOCS+= press
+
SUBDIR= 1993
SUBDIR+= 1996
SUBDIR+= 1997
SUBDIR+= 1998
SUBDIR+= 1999
SUBDIR+= 2000
SUBDIR+= 2001
SUBDIR+= 2002
SUBDIR+= 2003
SUBDIR+= status
-DATA= newsflash.html news.rdf press.html
-CLEANFILES+= newsflash.html news.rdf press.html
-
.include "${WEB_PREFIX}/share/mk/web.site.mk"
-
-newsflash.html: newsflash.xsl news.xml\
- includes.xsl ${XML_INCLUDES}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param "news.project.xml-master" "'${XML_NEWS_NEWS_MASTER}'" \
- --param "news.project.xml" "'${XML_NEWS_NEWS}'" \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/newsflash.xsl ${.CURDIR}/news.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
-
-news.rdf: news-rdf.xsl news.xml\
- includes.xsl ${XML_INCLUDES}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param transtable.xml "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/news-rdf.xsl ${.CURDIR}/news.xml
-
-press.html: press.xsl press.xml\
- includes.xsl ${XML_INCLUDES}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param "news.press.xml-master" "'${XML_NEWS_PRESS_MASTER}'" \
- --param "news.press.xml" "'${XML_NEWS_PRESS}'" \
- --param "transtable.xml" "'${XML_TRANSTABLE}'" \
- ${.CURDIR}/press.xsl ${.CURDIR}/press.xml
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
diff --git a/en/news/status/Makefile b/en/news/status/Makefile
index 25c6e6fef5..53300aabd5 100644
--- a/en/news/status/Makefile
+++ b/en/news/status/Makefile
@@ -1,49 +1,41 @@
-# $FreeBSD: www/en/news/status/Makefile,v 1.27 2005/04/21 17:55:46 scottl Exp $
+# $FreeBSD: www/en/news/status/Makefile,v 1.28 2005/07/23 13:16:32 mlaier Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-.SUFFIXES: .xml .html
-
DOCS= status.sgml
-DATA= report-june-2001.html
-DATA+= report-july-2001.html
-DATA+= report-august-2001.html
-DATA+= report-september-2001.html
-DATA+= report-november-2001.html
-DATA+= report-dec-2001-jan-2002.html
-DATA+= report-feb-2002-apr-2002.html
-DATA+= report-may-2002-june-2002.html
-DATA+= report-july-2002-aug-2002.html
-DATA+= report-sept-2002-oct-2002.html
-DATA+= report-nov-2002-dec-2002.html
-DATA+= report-jan-2003-feb-2003.html
-DATA+= report-mar-2003-sep-2003.html
-DATA+= report-oct-2003-dec-2003.html
-DATA+= report-jan-2004-feb-2004.html
-DATA+= report-mar-2004-apr-2004.html
-DATA+= report-may-2004-june-2004.html
-DATA+= report-july-2004-dec-2004.html
-DATA+= report-jan-2005-mar-2005.html
-DATA+= report-mar-2005-june-2005.html
+XMLDOCS= report-june-2001
+XMLDOCS+= report-july-2001
+XMLDOCS+= report-august-2001
+XMLDOCS+= report-september-2001
+XMLDOCS+= report-november-2001
+XMLDOCS+= report-dec-2001-jan-2002
+XMLDOCS+= report-feb-2002-apr-2002
+XMLDOCS+= report-may-2002-june-2002
+XMLDOCS+= report-july-2002-aug-2002
+XMLDOCS+= report-sept-2002-oct-2002
+XMLDOCS+= report-nov-2002-dec-2002
+XMLDOCS+= report-jan-2003-feb-2003
+XMLDOCS+= report-mar-2003-sep-2003
+XMLDOCS+= report-oct-2003-dec-2003
+XMLDOCS+= report-jan-2004-feb-2004
+XMLDOCS+= report-mar-2004-apr-2004
+XMLDOCS+= report-may-2004-june-2004
+XMLDOCS+= report-july-2004-dec-2004
+XMLDOCS+= report-jan-2005-mar-2005
+XMLDOCS+= report-mar-2005-june-2005
+
+XSLT.DEFAULT= report.xsl
+SRCS.DEFAULT= includes.xsl
# Install a sample entry.
-DATA+= report-sample.xml
-
-CLEANFILES+= ${DATA:M*.html}
-
-.xml.html: report.xsl includes.xsl
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- ${.CURDIR}/report.xsl ${.IMPSRC}
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+DATA= report-sample.xml
INDEXLINK= status.html
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/platforms/ia64/Makefile b/en/platforms/ia64/Makefile
index 0fa99ccdb4..0f2a79297e 100644
--- a/en/platforms/ia64/Makefile
+++ b/en/platforms/ia64/Makefile
@@ -1,25 +1,16 @@
-# $FreeBSD: www/en/platforms/ia64/Makefile,v 1.4 2004/10/19 04:14:05 marcel Exp $
+# $FreeBSD: www/en/platforms/ia64/Makefile,v 1.5 2005/05/25 03:33:45 marcel Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= machines.sgml refs.sgml
DATA= i2inside.png mckinley-die.png merced-die.png montecito-die.png
-_GEN= index.html todo.html
-
-DATA+= ${_GEN}
-CLEANFILES+= ${_GEN}
-
-.SUFFIXES: .xsl .html
-.xsl.html: news.xml
- ${XSLTPROC} ${XSLTPROCOPTS:N-nonet} -o ${.TARGET} ${.ALLSRC}
-.if !defined(NO_TIDY)
- -${TIDY} ${TIDYOPTS} ${.TARGET}
-.endif
+XMLDOCS= index::news.xml:
+XMLDOCS+= todo::news.xml:
.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/en/security/Makefile b/en/security/Makefile
index 29869764db..477872477d 100644
--- a/en/security/Makefile
+++ b/en/security/Makefile
@@ -1,28 +1,26 @@
-# $FreeBSD: www/en/security/Makefile,v 1.12 2004/04/13 17:27:43 trhodes Exp $
+# $FreeBSD: www/en/security/Makefile,v 1.13 2004/05/25 01:19:50 hrs Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= charter.sgml
DOCS+= security.sgml
INDEXLINK= security.html
-DATA+= advisories.rdf
-CLEANFILES+= advisories.html.inc advisories.rdf
-
-.include "${WEB_PREFIX}/share/mk/web.site.mk"
security.html: advisories.html.inc advisories.rdf
-advisories.html.inc: mkindex.xsl ${XML_ADVISORIES} ${XML_INCLUDES}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param "advisories.xml" "'${XML_ADVISORIES}'" \
- ${.CURDIR}/mkindex.xsl ${XML_ADVISORIES}
-advisories.rdf: security-rdf.xsl ${XML_ADVISORIES} ${XML_INCLUDES}
- ${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
- --param "advisories.xml" "'${XML_ADVISORIES}'" \
- ${.CURDIR}/security-rdf.xsl ${XML_ADVISORIES}
+DEPENDSET.DEFAULT= advisories
+XML.DEFAULT= ${XML_ADVISORIES}
+
+XMLDOCS= advisories:mkindex.xsl::advisories.html.inc
+NO_DATA.advisories= yes
+NO_TIDY.advisories= yes
+
+XMLDOCS+= advisories-rdf:security-rdf.xsl::advisories.rdf
+
+.include "${WEB_PREFIX}/share/mk/web.site.mk"
diff --git a/share/mk/doc.xml.mk b/share/mk/doc.xml.mk
new file mode 100644
index 0000000000..b97739713a
--- /dev/null
+++ b/share/mk/doc.xml.mk
@@ -0,0 +1,274 @@
+# doc.xml.mk
+# $FreeBSD$
+
+XML_CATALOG_FILES= file://${DOC_PREFIX}/${LANGCODE}/share/sgml/catalog.xml \
+ file://${DOC_PREFIX}/share/sgml/catalog.xml \
+ file://${DOC_PREFIX}/share/sgml/catalog-common.xml \
+ file://${WEB_PREFIX}/${WWW_LANGCODE}/share/sgml/catalog.xml \
+ file://${WEB_PREFIX}/share/sgml/catalog-common.xml \
+ file://${LOCALBASE}/share/xml/catalog
+
+XML_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/includes.xsl \
+ ${WEB_PREFIX}/share/sgml/includes.header.xsl \
+ ${WEB_PREFIX}/share/sgml/includes.misc.xsl \
+ ${WEB_PREFIX}/share/sgml/includes.release.xsl \
+ ${WEB_PREFIX}/share/sgml/includes.xsl
+
+# Variables used in DEPENDSET
+
+_DEPENDSET.all= transtable mirrors usergroups \
+ news press navigation advisories notices
+
+# DEPENDSET: transtable ......................................................
+_DEPENDSET.transtable= ${XML_TRANSTABLE} ${XSL_TRANSTABLE} \
+ ${XSL_TRANSTABLE_MASTER} ${XSL_TRANSTABLE_COMMON}
+_PARAMS.transtable= --param transtable.xml "'${XML_TRANSTABLE}'"
+XSL_TRANSTABLE_MASTER= ${DOC_PREFIX}/share/sgml/transtable-master.xsl
+XSL_TRANSTABLE_COMMON= ${DOC_PREFIX}/share/sgml/transtable-common.xsl
+
+.if exists(${DOC_PREFIX}/${LANGCODE}/share/sgml/transtable-local.xsl)
+XSL_TRANSTABLE= ${DOC_PREFIX}/${LANGCODE}/share/sgml/transtable-local.xsl
+.else
+XSL_TRANSTABLE= ${DOC_PREFIX}/share/sgml/transtable-local.xsl
+.endif
+
+.if exists(${DOC_PREFIX}/${LANGCODE}/share/sgml/transtable.xml)
+XML_TRANSTABLE= ${DOC_PREFIX}/${LANGCODE}/share/sgml/transtable.xml
+.else
+XML_TRANSTABLE= ${DOC_PREFIX}/share/sgml/transtable.xml
+.endif
+
+# DEPENDSET: mirrors .....................................................
+_DEPENDSET.mirrors= ${XSL_MIRRORS} ${XML_MIRRORS}
+_PARAMS.mirrors= --param mirrors.xml "'${XML_MIRRORS}'"
+XML_MIRRORS_MASTER= ${DOC_PREFIX}/share/sgml/mirrors.xml
+XML_MIRRORS= ${.OBJDIR}/${DOC_PREFIX:S,^${.CURDIR}/,,}/${LANGCODE}/share/sgml/mirrors.xml
+XSL_MIRRORS_MASTER= ${DOC_PREFIX}/share/sgml/mirrors-master.xsl
+.if exists(${DOC_PREFIX}/${LANGCODE}/share/sgml/mirrors-local.xsl)
+XSL_MIRRORS= ${DOC_PREFIX}/${LANGCODE}/share/sgml/mirrors-local.xsl
+.else
+XSL_MIRRORS= ${DOC_PREFIX}/share/sgml/mirrors-local.xsl
+.endif
+${XSL_MIRRORS}: ${XSL_MIRRORS_MASTER} \
+ ${XSL_TRANSTABLE_COMMON}
+
+${XML_MIRRORS}: ${XML_MIRRORS_MASTER} \
+ ${XSL_TRANSTABLE} ${XSL_TRANSTABLE_MASTER} ${XSL_TRANSTABLE_COMMON}
+ ${MKDIR} -p ${@:H}
+ ${XSLTPROC} ${XSLTPROCOPTS} \
+ --param 'transtable.xml' "'${XML_TRANSTABLE}'" \
+ --param 'transtable-target-element' "'country'" \
+ --param 'transtable-word-group' "'country'" \
+ --param 'transtable-mode' "'sortkey'" \
+ ${XSL_TRANSTABLE} ${XML_MIRRORS_MASTER} \
+ | env -i LANG="${LANGCODE}" ${SORT} -f > $@.sort.tmp
+ env -i ${GREP} "^ $@.sort
+ ${ECHO} "" >> $@.sort
+ env -i ${AWK} '/@sortkey@/ {sub(/@sortkey@/, ++line); print;}' < $@.sort.tmp >> $@.sort
+ ${ECHO} '' >> $@.sort
+ ${XSLTPROC} ${XSLTPROCOPTS} -o $@ \
+ --param 'transtable.xml' "'${XML_TRANSTABLE}'" \
+ --param 'transtable-target-element' "'country'" \
+ --param 'transtable-word-group' "'country'" \
+ --param 'transtable-sortkey.xml' "'$@.sort'" \
+ ${XSL_TRANSTABLE} ${XML_MIRRORS_MASTER}
+ ${RM} -f $@.sort $@.sort.tmp
+CLEANFILES+= ${XML_MIRRORS}
+CLEANFILES+= ${XML_MIRRORS}.sort
+CLEANFILES+= ${XML_MIRRORS}.sort.tmp
+
+# DEPENDSET: usergroups ......................................................
+_DEPENDSET.usergroups= ${XML_USERGROUPS} ${XSL_USERGROUPS}
+XML_USERGROUPS= ${WEB_PREFIX}/share/sgml/usergroups.xml
+XSL_USERGROUPS= ${WEB_PREFIX}/share/sgml/templates.usergroups.xsl
+
+# DEPENDSET: news ............................................................
+_DEPENDSET.news= ${XML_NEWS_NEWS_MASTER} ${XML_NEWS_NEWS} \
+ ${XML_NEWS_INCLUDES_MASTER} ${XML_NEWS_INCLUDES}
+_PARAMS.news= --param news.project.xml-master "'${XML_NEWS_NEWS_MASTER}'" \
+ --param news.project.xml "'${XML_NEWS_NEWS}'"
+XML_NEWS_INCLUDES_MASTER=${WEB_PREFIX}/en/news/includes.xsl
+XML_NEWS_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/news/includes.xsl
+XML_NEWS_NEWS_MASTER= ${WEB_PREFIX}/en/news/news.xml
+XML_NEWS_NEWS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/news.xml
+
+# DEPENDSET: press ..........................................................
+_DEPENDSET.press= ${XML_NEWS_PRESS_MASTER} ${XML_NEWS_PRESS} \
+ ${XML_NEWS_INCLUDES_MASTER} ${XML_NEWS_INCLUDES}
+_PARAMS.press= --param news.press.xml-master "'${XML_NEWS_PRESS_MASTER}'" \
+ --param news.press.xml "'${XML_NEWS_PRESS}'"
+XML_NEWS_INCLUDES_MASTER=${WEB_PREFIX}/en/news/includes.xsl
+XML_NEWS_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/news/includes.xsl
+XML_NEWS_PRESS_MASTER= ${WEB_PREFIX}/en/news/press.xml
+XML_NEWS_PRESS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/press.xml
+
+# DEPENDSET: navigation .....................................................
+_DEPENDSET.navigation= ${XML_NAVIGATION}
+_PARAMS.navigation= --param navigation.xml "'${XML_NAVIGATION}'"
+XML_NAVIGATION= ${WEB_PREFIX}/${WWW_LANGCODE}/navigation.xml
+
+# DEPENDSET: advisories .....................................................
+_DEPENDSET.advisories= ${XML_ADVISORIES}
+_PARAMS.advisories= --param advisories.xml "'${XML_ADVISORIES}'"
+XML_ADVISORIES= ${WEB_PREFIX}/share/sgml/advisories.xml
+
+# DEPENDSET: notices ........................................................
+_DEPENDSET.notices= ${XML_NOTICES}
+_PARAMS.notices= --param notices.xml "'${XML_NOTICES}'"
+XML_NOTICES= ${WEB_PREFIX}/share/sgml/notices.xml
+
+# ---
+# .xml -> .html rendering rule
+#
+# The following variables are available:
+#
+# XMLDOCS: (ex. XMLDOCS= doc1 doc2 doc3)
+# Target document identifier, which is usually the same as the
+# base part of the filenames. {XSLT,XML,TARGET}. described below
+# can be specified in a short form like the following:
+# "docid:stylesheet:xml:target".
+#
+# TARGET.: (ex. TARGET.doc1= doc1.html)
+# The target filename. This is optional and .html is defined
+# by default.
+#
+# XSLT.: (ex. XSLT.doc1= doc1.xsl)
+# Filename of the XSLT stylesheet. This is optional and .xsl is
+# defined by default. The following keywords are interpreted specially:
+#
+# `xsl' - .xsl
+#
+# XSLT.DEFAULT:
+# The default filename or keyword of XSLT stylesheet.
+# When XSLT. and one in the quadruplet are not specified,
+# this value is used.
+#
+# XML.: (ex. XML.doc1= doc1.xml data.xml)
+# Filename of the XML document. This is optional and /dev/null is
+# defined by default. XML.DEFAULT is XML document for all s.
+#
+# SRCS.: (ex. SRCS.doc1= includes.xsl)
+# Dependencies. SRCS.DEFAULT is dependencies for all s.
+#
+# DEPENDSET.: (ex. DEPENDSET.doc1= mirror)
+# Depencencies predefined as keywords listed in ${_DEPENDSET.all}.
+# DEPENDSET.DEFAULT is DEPENDSET for all s.
+#
+# PARAMS.: (ex. PARAMS.doc1= --params "foo" "'textproc/foo'")
+# Parameters passed to xsltproc(1).
+#
+# XSLTPROCOPTS.: (ex. XSLTPROCOPTS.doc1= --nonet)
+# Parameters passed to xsltproc(1).
+#
+# NO_DATA.
+# The ${TARGET.} file will not be listed in $DATA if defined.
+# NO_DATA.DEFAULT is the setting for all s.
+#
+# NO_TIDY.
+# The ${TARGET.} file will not be processed by tidy if defined.
+# NO_TIDY.DEFAULT is the setting for all s.
+#
+XSLTPROC_ENV+= SGML_CATALOG_FILES=
+XSLTPROC_ENV+= XML_CATALOG_FILES="${XML_CATALOG_FILES}"
+
+XSLTPROCOPTS= ${XSLTPROC_ARGS}
+XSLTPROCOPTS+= --xinclude
+XSLTPROCOPTS+= --stringparam LOCALBASE ${LOCALBASE}
+XSLTPROCOPTS+= --stringparam WEB_PREFIX ${WEB_PREFIX}
+.if defined(XML_CATALOG_FILES) && !empty(XML_CATALOG_FILES)
+XSLTPROCOPTS+= --nonet --catalogs
+.endif
+XSLTPROC= env ${XSLTPROC_ENV} ${LOCALBASE}/bin/xsltproc
+
+.for D in ${XMLDOCS}
+# parse "docid:xslt:xml:target".
+# XXX: ${__ID} is used because ${A}=B does not work except
+# for the iterate variable in the .for statement.
+__ID=${D:C,:.*$,,}
+
+.for _ID in ${__ID}
+_tmpD= ${D:M*\:*}
+.if !empty(_tmpD)
+XSLT.${_ID}= ${D:C,^[^:]*,,:M*\:*:C,^:,,:C,:.*$,,}
+XML.${_ID}= ${D:C,^[^:]*,,:M*\:*:C,^:,,:C,^[^:]*,,:M*\:*:C,^:,,:C,:.*$,,}
+TARGET.${_ID}= ${D:C,^[^:]*,,:M*\:*:C,^:,,:C,^[^:]*,,:M*\:*:C,^:,,:C,^[^:]*,,:M*\:*:C,^:,,:C,:.*$,,}
+.endif
+
+# Use default value if parameter not specified.
+.if !defined(XSLT.${_ID}) || empty(XSLT.${_ID})
+.if defined(XSLT.DEFAULT)
+XSLT.${_ID}= ${XSLT.DEFAULT}
+.else
+XSLT.${_ID}= ${_ID}.xsl
+.endif
+.endif
+.if !defined(XML.${_ID}) || empty(XML.${_ID})
+.if defined(XML.DEFAULT)
+XML.${_ID}= ${XML.DEFAULT}
+.else
+XML.${_ID}= ${_ID}.xml
+.endif
+.endif
+.if !defined(TARGET.${_ID}) || empty(TARGET.${_ID})
+TARGET.${_ID}= ${_ID}.html
+.endif
+.if !defined(DEPENDSET.${_ID}) || empty(DEPENDSET.${_ID})
+.if defined(DEPENDSET.DEFAULT)
+DEPENDSET.${_ID}= ${DEPENDSET.DEFAULT}
+.else
+DEPENDSET.${_ID}=
+.endif
+.endif
+.if !defined(NO_TIDY.${_ID}) || empty(NO_TIDY.${_ID})
+.if defined(NO_TIDY.DEFAULT)
+NO_TIDY.${_ID}= ${NO_TIDY.DEFAULT}
+.else
+NO_TIDY.${_ID}=
+.endif
+.endif
+.if !defined(NO_DATA.${_ID}) || empty(NO_DATA.${_ID})
+.if defined(NO_DATA.DEFAULT)
+NO_DATA.${_ID}= ${NO_DATA.DEFAULT}
+.else
+NO_DATA.${_ID}=
+.endif
+.endif
+
+XSLTPROCOPTS.${_ID}?= ${XSLTPROCOPTS}
+GENDOCS+= ${TARGET.${_ID}}
+SRCS+= ${TARGET.${_ID}}
+.if !defined(NO_DATA.${_ID}) || empty(NO_DATA.${_ID})
+DATA+= ${TARGET.${_ID}}
+.endif
+CLEANFILES+= ${TARGET.${_ID}}
+
+.if ${XSLT.${_ID}} == xsl
+XSLT.${_ID}= ${_ID}.xsl
+DEPENDS.${_ID}+= ${XSLT.${_ID}}
+.elif ${XSLT.${_ID}:Mhttp\://*} != ""
+DEPENDS.${_ID}+= ${XSLT.${_ID}}
+.else
+DEPENDS.${_ID}+= ${XSLT.${_ID}}
+.endif
+
+.for S in ${_DEPENDSET.all}
+. if ${DEPENDSET.${_ID}:M${S}} != ""
+DEPENDS.${_ID}+=${_DEPENDSET.${S}}
+PARAMS.${_ID}+= ${_PARAMS.${S}}
+. endif
+.endfor
+
+.for S in ${SRCS.DEFAULT} ${SRCS.${_ID}}
+DEPENDS.${_ID}+= ${S}
+.endfor
+${TARGET.${_ID}}: ${XML_INCLUDES} ${XML.${_ID}} ${DEPENDS.${_ID}}
+ ${XSLTPROC} ${XSLTPROCOPTS.${_ID}} \
+ -o ${.TARGET} ${PARAMS.${_ID}} \
+ ${XSLT.${_ID}} ${XML.${_ID}}
+. if !defined(NO_TIDY) || empty(NO_TIDY)
+. if !defined(NO_TIDY.${_ID}) || empty(NO_TIDY.${_ID})
+ -${TIDY} ${TIDYOPTS} ${.TARGET}
+. endif
+. endif
+.endfor
+.endfor
diff --git a/share/mk/web.site.mk b/share/mk/web.site.mk
index 7c700062d8..ff310518f0 100644
--- a/share/mk/web.site.mk
+++ b/share/mk/web.site.mk
@@ -1,377 +1,363 @@
# bsd.web.mk
-# $FreeBSD: www/share/mk/web.site.mk,v 1.66 2005/08/23 11:12:21 pav Exp $
+# $FreeBSD: www/share/mk/web.site.mk,v 1.67 2005/08/30 11:50:05 pav Exp $
#
# Build and install a web site.
#
# Basic targets:
#
# all (default) -- performs batch mode processing necessary
# install -- installs everything
# clean -- remove anything generated by processing
#
.if exists(${.CURDIR}/../Makefile.inc)
.include "${.CURDIR}/../Makefile.inc"
.endif
WEBDIR?= ${.CURDIR:T}
CGIDIR?= ${.CURDIR:T}
DESTDIR?= ${HOME}/public_html
WEBOWN?= ${USER}
WEBGRP?= www
WEBMODE?= 664
CGIOWN?= ${USER}
CGIGRP?= www
CGIMODE?= 775
CP?= /bin/cp
CVS?= /usr/bin/cvs
ECHO_CMD?= echo
FETCH?= /usr/bin/fetch
FIND?= /usr/bin/find
SETENV?= /usr/bin/env
LN?= /bin/ln
MKDIR?= /bin/mkdir
MV?= /bin/mv
PERL?= /usr/bin/perl5
.if !exists(${PERL}) && exists(/usr/local/bin/perl5)
PERL= /usr/local/bin/perl5
.endif
RM?= /bin/rm
SED?= /usr/bin/sed
SH?= /bin/sh
SORT?= /usr/bin/sort
TOUCH?= /usr/bin/touch
TRUE?= /usr/bin/true
LOCALBASE?= /usr/local
PREFIX?= ${LOCALBASE}
.if exists(${PREFIX}/bin/sgmlnorm) && !defined(OPENJADE)
SGMLNORM?= ${PREFIX}/bin/sgmlnorm
.else
SGMLNORM?= ${PREFIX}/bin/osgmlnorm
.endif
CATALOG?= ${PREFIX}/share/sgml/html/catalog
SGMLNORMOPTS?= -d ${SGMLNORMFLAGS} -c ${CATALOG} -D ${.CURDIR}
XSLTPROC?= ${PREFIX}/bin/xsltproc
XSLTPROCOPTS?= ${XSLTPROCFLAGS}
+XMLLINT?= ${PREFIX}/bin/xmllint
+XMLLINTOPTS?= ${XMLLINTFLAGS}
+
TIDY?= ${PREFIX}/bin/tidy
.if defined(TIDY_VERBOSE)
_TIDYLOGFILE= tidyerr.${.TARGET}
CLEANFILES+= tidyerr.*
.else
_TIDYLOGFILE= /dev/null
.endif
TIDYOPTS?= -i -m -raw -preserve -f ${_TIDYLOGFILE} -asxml ${TIDYFLAGS}
HTML2TXT?= ${PREFIX}/bin/w3m
HTML2TXTOPTS?= -dump ${HTML2TXTFLAGS}
ISPELL?= ispell
ISPELLOPTS?= -l -p /usr/share/dict/freebsd ${ISPELLFLAGS}
WEBCHECK?= ${PREFIX}/bin/webcheck
WEBCHECKOPTS?= -ab ${WEBCHECKFLAGS}
WEBCHECKDIR?= /webcheck
WEBCHECKINSTALLDIR?= ${DESTDIR}${WEBCHECKDIR}
.if !defined(WEBCHECKURL)
WEBCHECKURL!= ${ECHO_CMD} http://www.FreeBSD.org/${WEBBASE:S/data//}/${WEBDIR:S/data//}/ | ${SED} -E "s%/+%/%g"
.endif
#
# Install dirs derived from the above.
#
DOCINSTALLDIR= ${DESTDIR}${WEBBASE}/${WEBDIR}
CGIINSTALLDIR= ${DESTDIR}${WEBBASE}/${CGIDIR}
#
# The orphan list contains sources specified in DOCS that there
# is no transform rule for. We start out with all of them, and
# each rule below removes the ones it knows about. If any are
# left over at the end, the user is warned about them and build
# breaks.
#
ORPHANS:= ${DOCS}
#
# Tell install(1) to always copy file being installed.
#
COPY= -C
#
# Where the ports live, if CVS isn't used (ie. NOPORTSCVS is defined)
#
PORTSBASE?= /usr
#
# URL where INDEX can be found (define NOPORTSNET to disable)
#
INDEXURI?= http://www.FreeBSD.org/ports/INDEX
#
# Instruct bsd.subdir.mk to NOT to process SUBDIR directive. It is not
# necessary since web.site.mk does it using own rules.
#
NO_SUBDIR= YES
#
# for dependency
#
.if !defined(WITHOUT_DOC)
#
# When WITHOUT_DOC is not defined, we use doc.common.mk.
#
DOC_PREFIX?= ${WEB_PREFIX}/../doc
.if exists(${DOC_PREFIX}/share/mk/doc.common.mk)
.include "${DOC_PREFIX}/share/mk/doc.common.mk"
+.include "${DOC_PREFIX}/share/mk/doc.xml.mk"
.else
.error ${DOC_PREFIX}/share/mk/doc.common.mk not found.\
Define $$WITHOUT_DOC and $$WEB_ONLY for performing a partial\
build without the doc/ module.
.endif
.else # !defined(WITHOUT_DOC)
#
# When WITHOUT_DOC is defined, we should not use files in doc/ module at all.
#
.if !defined(WWW_LANGCODE) || empty(WWW_LANGCODE)
_WEB_PREFIX!= realpath ${WEB_PREFIX}
WWW_LANGCODE:= ${.CURDIR:S,^${_WEB_PREFIX}/,,:C,^([^/]+)/.*,\1,}
.undef _WEB_PREFIX
+.include "${WEB_PREFIX}/share/mk/doc.xml.mk"
.endif
.endif # !defined(WITHOUT_DOC)
-XML_ADVISORIES?= ${WEB_PREFIX}/share/sgml/advisories.xml
-XML_NOTICES?= ${WEB_PREFIX}/share/sgml/notices.xml
-
-XML_NEWS_NEWS_MASTER= ${WEB_PREFIX}/en/news/news.xml
-XML_NEWS_NEWS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/news.xml
-XML_NEWS_PRESS_MASTER= ${WEB_PREFIX}/en/news/press.xml
-XML_NEWS_PRESS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/press.xml
-XML_NEWS_INCLUDES_MASTER= ${WEB_PREFIX}/en/news/includes.xsl
-XML_NEWS_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/news/includes.xsl
-
-XML_NAVIGATION= ${WEB_PREFIX}/${WWW_LANGCODE}/navigation.xml
-
-XML_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/includes.xsl
-XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.header.xsl
-XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.misc.xsl
-XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.release.xsl
-XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/transtable-common.xsl
-XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.xsl
-
SGML_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/includes.sgml
SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.header.sgml
SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.misc.sgml
SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.release.sgml
SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.sgml
##################################################################
# Transformation rules
###
# file.sgml --> file.html
#
# Runs file.sgml through spam to validate and expand some entity
# references are expanded. file.html is added to the list of
# things to install.
.SUFFIXES: .sgml .html
.if defined(REVCHECK)
PREHTML?= ${WEB_PREFIX}/ja/prehtml
CANONPREFIX0!= cd ${WEB_PREFIX}; ${ECHO_CMD} $${PWD};
CANONPREFIX= ${PWD:S/^${CANONPREFIX0}//:S/^\///}
LOCALTOP!= ${ECHO_CMD} ${CANONPREFIX} | \
${PERL} -pe 's@[^/]+@..@g; $$_.="/." if($$_ eq".."); s@^\.\./@@;'
DIR_IN_LOCAL!= ${ECHO_CMD} ${CANONPREFIX} | ${PERL} -pe 's@^[^/]+/?@@;'
PREHTMLOPTS?= -revcheck "${LOCALTOP}" "${DIR_IN_LOCAL}" ${PREHTMLFLAGS}
.else
DATESUBST?= 's///'
PREHTML?= ${SED} -e ${DATESUBST}
.endif
GENDOCS+= ${DOCS:M*.sgml:S/.sgml$/.html/g}
ORPHANS:= ${ORPHANS:N*.sgml}
.sgml.html: ${SGML_INCLUDES}
${PREHTML} ${PREHTMLOPTS} ${.IMPSRC} | \
${SETENV} SGML_CATALOG_FILES= \
${SGMLNORM} ${SGMLNORMOPTS} > ${.TARGET} || \
(${RM} -f ${.TARGET} && false)
.if !defined(NO_TIDY)
-${TIDY} ${TIDYOPTS} ${.TARGET}
.endif
##################################################################
# Special Targets
#
# Spellcheck all generated documents in the current directory.
#
spellcheck:
.for _entry in ${GENDOCS}
@echo "Spellcheck ${_entry}"
@${HTML2TXT} ${HTML2TXTOPTS} ${.OBJDIR}/${_entry} | ${ISPELL} ${ISPELLOPTS}
.endfor
#
# Check installed page's hypertext references. Checking is done relatively
# to ${.CURDIR} value, i.e. calling 'make webcheck' in www/ru/java
# directory will force checking all URLs at http://www.FreeBSD.org/ru/java/
#
# NOTE: webcheck's output always stored to ${DESTDIR}/webcheck directory.
#
webcheck:
@[ -d ${WEBCHECKINSTALLDIR} ] || ${MKDIR} ${WEBCHECKINSTALLDIR}
${WEBCHECK} ${WEBCHECKOPTS} -o ${WEBCHECKINSTALLDIR} ${WEBCHECKURL}
#
# Check if all directories and files in current directory are listed in
# Makefile as processing source. If anything not listed is found, then
# user is warned about (it can be forgotten file or directory).
#
.if make(checkmissing)
# skip printing '===> ...' while processing SUBDIRs
ECHODIR= ${TRUE}
# detect relative ${.CURDIR}
_CURDIR!= realpath ${.CURDIR}
_PFXDIR!= realpath ${WEB_PREFIX}
CDIR= ${_CURDIR:S/${_PFXDIR}\///}
# populate missing directories list based on $SUBDIR
_DIREXCL= ! -name CVS
.for entry in ${SUBDIR}
_DIREXCL+= ! -name ${entry}
.endfor
MISSDIRS!= ${FIND} ./ -type d ${_DIREXCL} -maxdepth 1 | ${SED} "s%./%%g"
# populate missing files list based on $DOCS, $DATA and $CGI
_FILEEXCL= ! -name Makefile\* ! -name includes.\*
.for entry in ${DOCS} ${DATA} ${CGI}
_FILEEXCL+= ! -name ${entry}
.endfor
MISSFILES!= ${FIND} ./ -type f ${_FILEEXCL} -maxdepth 1 | ${SED} "s%./%%g"
checkmissing: _PROGSUBDIR
.if !empty(MISSDIRS)
@${ECHO_CMD} "===> ${CDIR}"
@${ECHO_CMD} "Directories not listed in SUBDIR:"
.for entry in ${MISSDIRS}
@${ECHO_CMD} " >>> ${entry}"
.endfor
.endif
.if !empty(MISSFILES)
@${ECHO_CMD} "===> ${CDIR}"
@${ECHO_CMD} "Files not listed in DOCS/DATA/CGI:"
.for entry in ${MISSFILES}
@${ECHO_CMD} " >>> ${entry} "
.endfor
.endif
.endif
##################################################################
# Main Targets
#
# If no target is specified, .MAIN is made.
#
.MAIN: all
#
# Build most everything.
#
all: ${COOKIE} orphans ${GENDOCS} ${DATA} ${CGI} _PROGSUBDIR
#
# Warn about anything in DOCS that has no suffix translation rule.
#
.if !empty(ORPHANS)
orphans:
@${ECHO} Warning! I don\'t know what to do with: ${ORPHANS}; \
exit 1
.else
orphans:
.endif
#
# Clean things up.
#
.if !target(clean)
clean: _PROGSUBDIR
${RM} -f Errs errs mklog ${GENDOCS} ${CLEANFILES}
.endif
#
# Install targets: before, real, and after.
#
.if !target(install)
.if !target(beforeinstall)
beforeinstall:
.endif
.if !target(afterinstall)
afterinstall:
.endif
INSTALL_WEB?= \
${INSTALL} ${COPY} ${INSTALLFLAGS} \
-o ${WEBOWN} -g ${WEBGRP} -m ${WEBMODE}
INSTALL_CGI?= \
${INSTALL} ${COPY} ${INSTALLFLAGS} \
-o ${CGIOWN} -g ${CGIGRP} -m ${CGIMODE}
_ALLINSTALL+= ${GENDOCS} ${DATA}
realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR
.if !empty(_ALLINSTALL)
@${MKDIR} -p ${DOCINSTALLDIR}
.for entry in ${_ALLINSTALL}
.if exists(${.CURDIR}/${entry})
${INSTALL_WEB} ${.CURDIR}/${entry} ${DOCINSTALLDIR}
.else
${INSTALL_WEB} ${entry} ${DOCINSTALLDIR}
.endif
.endfor
.if defined(INDEXLINK) && !empty(INDEXLINK)
cd ${DOCINSTALLDIR}; ${LN} -fs ${INDEXLINK} index.html
.endif
.endif
.if defined(CGI) && !empty(CGI)
@${MKDIR} -p ${CGIINSTALLDIR}
.for entry in ${CGI}
${INSTALL_CGI} ${.CURDIR}/${entry} ${CGIINSTALLDIR}
.endfor
.endif
# Set up install dependencies so they happen in the correct order.
install: afterinstall
afterinstall: realinstall2
realinstall: beforeinstall
realinstall2: realinstall
.endif
#
# This recursively calls make in subdirectories.
#
_PROGSUBDIR: .USE
.if defined(SUBDIR) && !empty(SUBDIR)
.for entry in ${SUBDIR}
@${ECHODIR} "===> ${DIRPRFX}${entry}"
@cd ${.CURDIR}/${entry}; \
${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/} \
DIRPRFX=${DIRPRFX}${entry}/
.endfor
.endif
.include
#
# Process 'make obj' recursively (should be declared *after* inclusion
# of bsd.obj.mk)
#
obj: _PROGSUBDIR
# THE END