You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.8 KiB
124 lines
3.8 KiB
# Environment variables
|
|
export PATH := $(HOME)/bin/fop:$(PATH)
|
|
export CLASSPATH := xsl/xsl-stylesheets/extensions/xalan25.jar
|
|
|
|
# Do you need a proxy ?
|
|
#export FOP_OPTS := -Dhttp.proxyHost=193.100.252.20 -Dhttp.proxyPort=8080
|
|
|
|
# Or any setting
|
|
export FOP_OPTS := -Xmx1G -Djava.awt.headless=true
|
|
|
|
# Target filenames
|
|
PDF_FILE := book.pdf
|
|
RTF_FILE := book.rtf
|
|
TXT_FILE := book.txt
|
|
PS_FILE := book.ps
|
|
XHTML_DIR := book-xhtml
|
|
XHTML1_DIR := onepage-xhtml
|
|
HTML_DIR := book-html
|
|
HTML1_DIR := onepage-html
|
|
XHTML_ARCH := book-xhtml.tar.bz2
|
|
HTML_ARCH := book-html.tar.bz2
|
|
XHTML1_ARCH := onepage-xhtml.tar.bz2
|
|
HTML1_ARCH := onepage-html.tar.bz2
|
|
VALIDITY_FILE := validity
|
|
|
|
|
|
|
|
# Source filenames
|
|
XSL_FO_FILE := xsl/fo.xsl
|
|
XSL_XHTML_FILE := xsl/xhtml-chunked.xsl
|
|
XSL_HTML_FILE := xsl/html-chunked.xsl
|
|
XSL_XHTML1_FILE := xsl/xhtml-onepage.xsl
|
|
XSL_HTML1_FILE := xsl/html-onepage.xsl
|
|
DB_FILE := main.xml
|
|
|
|
# Titlepage customization
|
|
TP_SPEC_FILE := xsl/titlepage.spec.xml
|
|
TP_XSL_FILE := xsl/titlepage.xsl
|
|
TP_TEMPLATE_FILE := ../globals/xsl-stylesheets/template/titlepage.xsl
|
|
|
|
# Do you have a custom titlepage ?
|
|
TP_XSL_REAL := $(shell if test -f $(TP_SPEC_FILE); then echo $(TP_XSL_FILE); fi)
|
|
|
|
# FOP configuration
|
|
FOP := fop
|
|
FOP_CONF := fop.xconf
|
|
|
|
# XSLT configuration
|
|
XSLTPROC := xsltproc
|
|
|
|
# Validity check
|
|
VALIDATOR := xmllint --noout --valid
|
|
|
|
# Extract external entities
|
|
XML_FILES := $(wildcard include/*.xml)
|
|
DEPENDENCIES := $(TP_XSL_REAL) $(VALIDITY_FILE)
|
|
|
|
# Default target
|
|
all: $(PDF_FILE) $(RTF_FILE) $(TXT_FILE) $(PS_FILE) $(XHTML_ARCH) $(HTML_ARCH) $(XHTML1_ARCH) $(HTML1_ARCH)
|
|
|
|
$(VALIDITY_FILE): $(DB_FILE) $(XML_FILES)
|
|
$(VALIDATOR) $<
|
|
touch $(VALIDITY_FILE)
|
|
|
|
$(PDF_FILE): $(DB_FILE) $(XSL_FO_FILE) $(DEPENDENCIES)
|
|
$(FOP) -c $(FOP_CONF) -xsl $(XSL_FO_FILE) -xml $< -pdf $@
|
|
|
|
$(RTF_FILE): $(DB_FILE) $(XSL_FO_FILE) $(DEPENDENCIES)
|
|
$(FOP) -c $(FOP_CONF) -xsl $(XSL_FO_FILE) -xml $< -rtf $@
|
|
|
|
$(TXT_FILE): $(DB_FILE) $(XSL_FO_FILE) $(DEPENDENCIES)
|
|
$(FOP) -c $(FOP_CONF) -xsl $(XSL_FO_FILE) -xml $< -txt $@
|
|
|
|
$(PS_FILE): $(DB_FILE) $(XSL_FO_FILE) $(DEPENDENCIES)
|
|
$(FOP) -c $(FOP_CONF) -xsl $(XSL_FO_FILE) -xml $< -ps $@
|
|
|
|
$(XHTML_DIR): $(DB_FILE) $(XSL_XHTML_FILE) $(DEPENDENCIES)
|
|
if [ ! -e $(XHTML_DIR) ]; then mkdir $(XHTML_DIR); ln -s ../img $(XHTML_DIR)/img; \
|
|
ln -s ../../globals/xsl-stylesheets/images $(XHTML_DIR)/std-img; fi
|
|
$(XSLTPROC) $(XSL_XHTML_FILE) $<
|
|
touch $(XHTML_DIR)
|
|
|
|
$(HTML_DIR): $(DB_FILE) $(XSL_HTML_FILE) $(DEPENDENCIES)
|
|
if [ ! -e $(HTML_DIR) ]; then mkdir $(HTML_DIR); ln -s ../img $(HTML_DIR)/img; \
|
|
ln -s ../../globals/xsl-stylesheets/images $(HTML_DIR)/std-img; fi
|
|
$(XSLTPROC) $(XSL_HTML_FILE) $<
|
|
touch $(HTML_DIR)
|
|
|
|
$(XHTML1_DIR): $(DB_FILE) $(XSL_XHTML1_FILE) $(DEPENDENCIES)
|
|
if [ ! -e $(XHTML_DIR) ]; then mkdir $(XHTML1_DIR); ln -s ../img $(XHTML1_DIR)/img; \
|
|
ln -s ../../globals/xsl-stylesheets/images $(XHTML1_DIR)/std-img; fi
|
|
$(XSLTPROC) -output $@/index.xhtml $(XSL_XHTML1_FILE) $<
|
|
touch $(XHTML1_DIR)
|
|
|
|
$(HTML1_DIR): $(DB_FILE) $(XSL_HTML1_FILE) $(DEPENDENCIES)
|
|
if [ ! -e $(HTML1_DIR) ]; then mkdir $(HTML1_DIR); ln -s ../img $(HTML1_DIR)/img; \
|
|
ln -s ../../globals/xsl-stylesheets/images $(HTML1_DIR)/std-img; fi
|
|
$(XSLTPROC) -output $@/index.html $(XSL_HTML1_FILE) $<
|
|
touch $(HTML1_DIR)
|
|
|
|
$(HTML_ARCH): $(HTML_DIR)
|
|
tar -jcv -h --exclude '.svn' --exclude '*.svg' -f $@ $<
|
|
|
|
$(XHTML_ARCH): $(XHTML_DIR)
|
|
tar -jcv -h --exclude '.svn' --exclude '*.svg' -f $@ $<
|
|
|
|
$(HTML1_ARCH): $(HTML1_DIR)
|
|
tar -jcv -h --exclude '.svn' --exclude '*.svg' -f $@ $<
|
|
|
|
$(XHTML1_ARCH): $(XHTML1_DIR)
|
|
tar -jcv -h --exclude '.svn' --exclude '*.svg' -f $@ $<
|
|
|
|
$(TP_XSL_FILE): $(TP_SPEC_FILE)
|
|
$(XSLTPROC) -output $@ $(TP_TEMPLATE_FILE) $<
|
|
|
|
clean:
|
|
rm -f $(PDF_FILE) $(TP_XSL_FILE) $(VALIDITY_FILE) $(HTML_ARCH) $(XHTML_ARCH) $(RTF_FILE) $(TXT_FILE) $(PS_FILE)
|
|
rm -rf $(XHTML_DIR) $(HTML_DIR) $(HTML1_DIR) $(XHTML1_DIR)
|
|
|
|
test:
|
|
@echo '$(XML_FILES)'
|
|
|
|
.PHONY: all clean test
|
|
|
|
|