# (http://opensource.franz.com/preamble.html), also known as the LLGPL.
##############################################################################
-
-DOCFILE_BASE_DEFAULT=uffi
-DOCFILE_EXT_DEFAULT=xml
+OS:=debian
+DOCFILE_BASE_DEFAULT:=uffi
+DOCFILE_EXT_DEFAULT:=xml
# Standard docfile processing
DOCFILE_EXT=${DOCFILE_EXT_DEFAULT}
endif
-DOCFILE=${DOCFILE_BASE}.${DOCFILE_EXT}
-FOFILE=${DOCFILE_BASE}.fo
-PDFFILE=${DOCFILE_BASE}.pdf
-PSFILE=${DOCFILE_BASE}.ps
-DVIFILE=${DOCFILE_BASE}.dvi
-TXTFILE=${DOCFILE_BASE}.txt
-TMPFILES=${DOCFILE_BASE}.aux ${DOCFILE_BASE}.out ${DOCFILE_BASE}.log
-DOCFILES=$(shell echo *.sgml)
+DOCFILE:=${DOCFILE_BASE}.${DOCFILE_EXT}
+FOFILE:=${DOCFILE_BASE}.fo
+PDFFILE:=${DOCFILE_BASE}.pdf
+PSFILE:=${DOCFILE_BASE}.ps
+DVIFILE:=${DOCFILE_BASE}.dvi
+TXTFILE:=${DOCFILE_BASE}.txt
+TMPFILES:=${DOCFILE_BASE}.aux ${DOCFILE_BASE}.out ${DOCFILE_BASE}.log
+DOCFILES:=$(shell echo *.xml *.xsl)
+
+CATALOG:=`pwd`/catalog-${OS}.xml
+CHECK:=XML_CATALOG_FILES="$(CATALOG)" xmllint --noout --xinclude --postvalid $(DOCFILE) || exit 1
.PHONY: all
all: html pdf
.PHONY: html
html: html.tar.gz
-html.tar.gz: $(DOCFILES) Makefile
+html.tar.gz: $(DOCFILES) Makefile
@rm -rf html
- @xmlto -o html xhtml $(DOCFILE)
+ @mkdir html
+ @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output html/ html.xsl $(DOCFILE)
@GZIP='-9' tar czf html.tar.gz html
.PHONY: fo
fo: ${FOFILE}
-${FOFILE}: $(DOCFILES) Makefile
- @xmlto fo $(DOCFILE)
+${FOFILE}: $(DOCFILES) Makefile
+ @XML_CATALOG_FILES="$(CATALOG)" xsltproc --xinclude --output $(FOFILE) fo.xsl $(DOCFILE)
.PHONY: pdf
pdf: ${PDFFILE}
-${PDFFILE}: ${FOFILE}
+${PDFFILE}: ${DOCFILES} Makefile
+ @$(MAKE) fo
@fop $(FOFILE) -pdf $(PDFFILE) > /dev/null
.PHONY: dvi
.PHONY: ps
ps: ${PSFILE}
-${PSFILE}: ${FOFILE}
+${PSFILE}: ${DOCFILES} Makefile
+ @$(MAKE) fo
@fop $(FOFILE) -ps $(PSFILE) > /dev/null