57 lines
1.8 KiB
Makefile
57 lines
1.8 KiB
Makefile
|
topdir = .
|
||
|
manual = $(topdir)/usermanual.xml
|
||
|
# types = pdf txt rtf ps xhtml html man tex texi dvi
|
||
|
# types = pdf txt
|
||
|
types = $(xmltotypes) $(htmltypes)
|
||
|
xmltotypes = pdf txt
|
||
|
htmltypes = html xhtml
|
||
|
htmlxsl = $(if $(filter $@,$(foreach type,$(htmltypes),$(type)-nochunks)),http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl,http://docbook.sourceforge.net/release/xsl/current/$@/chunk.xsl)
|
||
|
htmlcssfile = docbook.css
|
||
|
htmlcss = $(topdir)/html.css
|
||
|
# htmlcssfile =
|
||
|
# htmlcss =
|
||
|
cleanfiles = $(foreach i,$(types),$(topdir)/$(i))
|
||
|
|
||
|
ifdef DEBUG
|
||
|
define command
|
||
|
$(1)
|
||
|
endef
|
||
|
else
|
||
|
define command
|
||
|
@echo $(2) $(3) $(4)
|
||
|
@$(1) >/dev/null
|
||
|
endef
|
||
|
endif
|
||
|
|
||
|
all: $(types)
|
||
|
|
||
|
lint: $(manual) FORCE
|
||
|
$(call command,xmllint --xinclude --postvalid --noout $(manual),XMLLINT $(manual))
|
||
|
|
||
|
$(types) $(foreach type,$(htmltypes),$(type)-nochunks): lint FORCE
|
||
|
|
||
|
$(foreach type,$(htmltypes),$(type)-nochunks): $(if $(htmlcss),$(htmlcss)) $(manual)
|
||
|
@mkdir -p $@
|
||
|
ifdef htmlcss
|
||
|
$(call command,install -m 0644 $(htmlcss) $@/$(htmlcssfile),CP $(htmlcss) $@/$(htmlcssfile))
|
||
|
endif
|
||
|
$(call command,xsltproc --stringparam base.dir $@/ $(if $(htmlcssfile),--stringparam html.stylesheet $(htmlcssfile)) $(htmlxsl) $(manual) > $@/index.$(patsubst %-nochunks,%,$@),XSLTPROC $@ $(manual))
|
||
|
|
||
|
$(htmltypes): $(if $(htmlcss),$(htmlcss)) $(manual)
|
||
|
@mkdir -p $@
|
||
|
ifdef htmlcss
|
||
|
$(call command,install -m 0644 $(htmlcss) $@/$(htmlcssfile),CP $(htmlcss) $@/$(htmlcssfile))
|
||
|
endif
|
||
|
$(call command,xsltproc --stringparam base.dir $@/ $(if $(htmlcssfile),--stringparam html.stylesheet $(htmlcssfile)) $(htmlxsl) $(manual),XSLTPROC $@ $(manual))
|
||
|
|
||
|
$(xmltotypes): $(manual)
|
||
|
$(call command,xmlto --with-dblatex --extensions -o $(topdir)/$@ $@ $(manual),XMLTO $@ $(manual))
|
||
|
|
||
|
clean:
|
||
|
rm -rf $(cleanfiles)
|
||
|
|
||
|
$(foreach i,$(types) $(foreach type,$(htmltypes),$(type)-nochunks),clean-$(i)):
|
||
|
rm -rf $(patsubst clean-%,%,$@)
|
||
|
|
||
|
FORCE:
|