]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/help/C/Makefile
distribute more stuff
[helm.git] / helm / software / matita / help / C / Makefile
index 95fe3e3c696c9b381948d6ffdfe5e46361a84d04..dab6f2b4cf1d6b7e75da774a1b0a3b9e274afdb0 100644 (file)
@@ -1,32 +1,95 @@
+
+include ../../../Makefile.defs
+
 XSLTPROC=xsltproc
-XHTML_XSL=http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl
-FO_XSL=http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl
+XHTML_XSL=matita-xhtml.xsl
+FO_XSL=matita-fo.xsl
+TEX_XSL=matita-tex.xsl
+TEX_UNICODE_PATH=$(SRCROOT)/share/texmf/unicode
+TEX_ENV=TEXINPUTS=.:$(TEX_UNICODE_PATH):$(TEX_UNICODE_PATH)/data:
+MAIN=matita.xml
+DEPS := $(wildcard *.xml)
+
+DESTDIR = /usr/local/share/doc/matita/
 
 all: html txt
 
+# one of: "fop", "pdflatex"
+PDF_METHOD=pdflatex
+
+# one of: "docbook2tex", "xsl"
+TEX_METHOD=xsl
+
+clean:
+       rm -f *.html *.fo *.pdf
+       rm -rf $(filter-out version.txt,$(wildcard *.txt))
+       rm -f *-stamp
+       rm -f matita.out matita.log matita.glo matita.dvi matita.idx
+       rm -f matita.aux matita.tex
+
+# test (dumb implementation)
+test:
+       SP_ENCODING=UTF-8 docbook2txt matita.xml
+
+# XHTMLs generation
+
 .PHONY: html
 html: html-stamp
-html-stamp: matita.html
-       ./split.ml $<
+html-stamp: $(MAIN) $(DEPS) $(XHTML_XSL)
+       xsltproc $(XHTML_XSL) $<
        touch $@
 
+# TXTs generation
+
 TXTS = $(patsubst %.html,%.txt,$(wildcard *.html))
 .PHONY: txt
 txt: txt-stamp
 txt-stamp: html-stamp
        $(MAKE) $(TXTS)
        touch $@
-
 %.txt: %.html
-       w3m -dump $< > $@
-%.html: %.xml
-       xsltproc $(XHTML_XSL) $< | xmllint --format - > $@
+       w3m -dump -no-graph $< > $@
+
+# PDF generation
+
+pdf: pdf-stamp
+pdf-stamp: $(patsubst %.xml,%.pdf,$(MAIN))
+       touch $@
+
 %.fo: %.xml
        xsltproc $(FO_XSL) $< | xmllint --format - > $@
+ifeq ($(TEX_METHOD),docbook2tex)
+%.tex: %.xml $(DEPS)
+       docbook2tex $<
+else ifeq ($(TEX_METHOD),xsl)
+%.tex: %.xml $(TEX_XSL) $(DEPS)
+       xsltproc $(TEX_XSL) $< > $@
+endif
+
+ifeq ($(PDF_METHOD),fop)
 %.pdf: %.fo
        fop $< $@
-clean:
-       rm -f *.html *.fo *.pdf
-       rm -rf $(filter-out version.txt,$(wildcard *.txt))
-       rm -f *-stamp
+else ifeq ($(PDF_METHOD),pdflatex)
+%.pdf: %.tex
+       $(TEX_ENV) pdflatex $<
+endif
+
+%.dvi: %.tex
+       $(TEX_ENV) latex $<
+%.ps: %.dvi
+       dvips $<
+
+# installation
+
+install: install-html
+install-html: html-stamp
+       cp *.html *.css $(DESTDIR)
+
+# shotcuts
+
+tex: $(patsubst %.xml,%.tex,$(MAIN))
+dvi: $(patsubst %.xml,%.dvi,$(MAIN))
+ps: $(patsubst %.xml,%.ps,$(MAIN))
+
+.PRECIOUS: matita.tex matita.dvi