X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fwww%2Flambdadelta%2FMakefile;h=1acebccc52d8f7354264b9d9e7295f06e67c64fa;hb=d2545ffd201b1aa49887313791386add78fa8603;hp=e9008a950c30a13b68e2dba934c0aa5991b00610;hpb=3c6ff3987c3cc5e2df03fb76d07697c28c89c0a8;p=helm.git diff --git a/helm/www/lambdadelta/Makefile b/helm/www/lambdadelta/Makefile index e9008a950..1acebccc5 100644 --- a/helm/www/lambdadelta/Makefile +++ b/helm/www/lambdadelta/Makefile @@ -1,22 +1,26 @@ +SHELL := $(shell which bash) H=@ +TAGS = up-html up-html-ix up-home html html-ix home ldw ldw-ix + TAGS = www up-html up-css up-images up-download \ lint-xml index lddl install-xml \ test-html html install-html \ install-jed install-bib install-2 install-1 install-coq \ install-automath install-v install-matita \ -LDURL = http://lambdadelta.info/ +LDWEBURL = http://helm.cs.unibo.it/lambdadelta/ SITEDIR = html +HTMLDIR = html/lddl +SRCDIR = web/home +LDDLDIR = web/lddl ETCDIR = etc +XHTBLDIR = $(ETCDIR)/lambdadelta/bin/xhtbl +INDEXDIR = $(ETCDIR)/lambdadelta/bin/index DOWNDIR = download XSLTDIR = xslt XMLDIR = xml -SRCDIR = web/home -LDDLDIR = web/lddl -XHTBLDIR = bin/xhtbl -HTMLDIR = static/lddl JEDDIR = $(HOME)/mps/jed BIBDIR = $(HOME)/texmf/bibtex/bib CONTRIBDIR = $(ETCDIR)/lambdadelta @@ -31,6 +35,15 @@ RXMLDIR = $(RHOMEDIR)/xml RDOWNDIR = $(RHOMEDIR)/download RSTATICDIR = /projects/helm/public_html/lambda-delta/static +HTMLSTAMP = $(ETCDIR)/html.stamp +HTMLIXSTAMP = $(ETCDIR)/html_ix.stamp +HOMESTAMP = $(ETCDIR)/home.stamp +LDWSTAMP = $(ETCDIR)/ldw.stamp +LDWIXSTAMP = $(ETCDIR)/ldw_ix.stamp + +SITEMAP = $(XSLTDIR)/sitemap.xsl +TABLES = $(XSLTDIR)/xhtbl.xsl + SLS = helena.sl automath.sl BIB = lambdadelta.bib CONTRIB = lambdadelta_2.tar.gz @@ -49,8 +62,9 @@ COQ = coq/grundlagen_2.v MATITA = matita/root matita/grundlagen_2.ma XMLLINT = xmllint --noout -XSLT = xalan +XSLT = xsltproc XHTBL = $(XHTBLDIR)/xhtbl.native +INDEX = $(INDEXDIR)/index.native XHTBLOPTS = @@ -69,39 +83,115 @@ ifeq ($(XSLT), xalan) XSLT += -indent 2 endif -XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"' +XSLT += $(XSLT_PARAM) baseurl '"$(LDWEBURL)"' $(XSLT_PARAM) date '"$(shell date -R)"' -define HTML_TEMPLATE - HTML_$(2) = $$(SITEDIR)/$(2).html - HTMLS += $$(HTML_$(2)) +all: - $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%) - @echo " XSLT $$(notdir $$<)" - $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$< -endef +# UPDATE HTML LDDL ########################################################### -ifeq ($(MAKECMDGOALS), www) - LDWS = $(shell find -L $(WEBDIRS) -name "*.ldw.xml") - TBLS = $(shell find -L $(WEBDIRS) -name "*.tbl") - XSLS = $(addprefix $(XSLTDIR)/,xhtbl.xsl $(notdir $(TBLS:%.tbl=%.xsl))) +$(ETCDIR)/html_lddl.tar.bz2: $(HTMLSTAMP) + @echo " UPDATE $(RHOMEDIR)/$(HTMLDIR)/" + $(H)tar -cjf $@ $(HTMLDIR) + $(H)scp $@ $(RHOMEDIR)/$(ETCDIR) + $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@" - $(XSLS): $(TBLS) $(XHTBL) - @echo " XHTBL $(XHTBLOPTS) *.tbl" - $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS) +up-html: $(ETCDIR)/html_lddl.tar.bz2 + +# UPDATE HTML IX LDDL ######################################################## - $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%))))) +$(ETCDIR)/html_lddl_ix.tar.bz2: $(HTMLIXSTAMP) + @echo " UPDATE $(RHOMEDIR)/$(HTMLDIR)/*/index.html" + $(H)tar -cjf $@ `find $(HTMLDIR) -name index.html` + $(H)scp $@ $(RHOMEDIR)/$(ETCDIR) + $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@" + +up-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2 + +# UPDATE HTML HOME ########################################################### + +up-home: $(HOMESTAMP) + @echo " UPDATE $(RHOMEDIR)/$(SITEDIR)/" + $(H)scp -q html/*.html $(RHOMEDIR)/$(SITEDIR)/ + +# GENERATE HTML LDDL ######################################################### + +ifeq ($(MAKECMDGOALS),html) + LDWS = $(shell find $(LDDLDIR) -name *.ldw.xml) endif -all: - @echo $(HTMLS) +$(HTMLSTAMP): $(LDWSTAMP) $(SITEMAP) $(LDWEB:%=$(XSLTDIR)/%) + $(H)for LDW in $(LDWS); do \ + TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \ + echo " XSLT $$LDW"; \ + mkdir -p $${HTML%/*}; \ + $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \ + done + $(H)touch $@ + $(H)touch $(HTMLIXSTAMP) + +html: $(HTMLSTAMP) + +# GENERATE HTML IX LDDL ###################################################### + +$(HTMLIXSTAMP): LDWS = `find $(LDDLDIR) -name index.ldw.xml` + +$(HTMLIXSTAMP): $(LDWIXSTAMP) $(SITEMAP) $(LDWEB:%=$(XSLTDIR)/%) + $(H)for LDW in $(LDWS); do \ + TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \ + echo " XSLT $$LDW"; \ + mkdir -p $${HTML%/*}; \ + $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \ + done + $(H)touch $@ -www: $(HTMLS) $(TBLS) $(XHTBL) +html-ix: $(HTMLIXSTAMP) + +# GENERATE HTML HOME ######################################################### + +ifeq ($(MAKECMDGOALS),home) + LDWS = $(shell find -L $(WEBDIRS) -name *.ldw.xml) +endif + +$(HOMESTAMP): $(LDWS) $(TABLES) $(LDWEB:%=$(XSLTDIR)/%) + $(H)for LDW in $(LDWS); do \ + TMP=$${LDW##*/};HTML=$${TMP/ldw.xml/html}; \ + echo " XSLT $$LDW"; \ + $(XSLT) $(XSLT_OUT) $(SITEDIR)/$$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \ + done + $(H)touch $@ + +home: $(HOMESTAMP) + +# GENERATE XSL ############################################################### + +TBLS = $(shell find -L $(WEBDIRS) -name *.tbl) + +$(TABLES) $(SITEMAP): $(TBLS) $(XHTBL) + @echo " XHTBL $(XHTBLOPTS) *.tbl" + $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDWEBURL) -O $(XSLTDIR) $(TBLS) + +# GENERATE LDW LDDL ########################################################## + +$(LDWSTAMP): + $(H)touch $@ + +ldw: $(LDWSTAMP) + +# GENERATE LDW IX LDDL ####################################################### + +$(LDWIXSTAMP): $(INDEX) + $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) . + $(H)touch $@ + +ldw-ix: $(LDWIXSTAMP) + +############################################################################## lint-xml: $(XMLS:%=$(XMLDIR)/%) @echo XMLLINT --valid $(H)$(XMLLINT) --valid $^ -$(ETCDIR)/make-html.sh $(XMLDIR)/index.txt index: +$(ETCDIR)/make_html.sh $(XMLDIR)/index.txt index: @echo " GENERATE INDEXES" $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh @@ -118,15 +208,9 @@ install-xml: $(DOWNDIR)/lddl.tar.bz2 test-html: @$(MAKE) --no-print-directory $(XMLS:%.xml=%) -html: $(ETCDIR)/make_html.sh - @echo " MAKE */*.ld" - $(H). $< - -install-html $(DOWNDIR)/static_lddl.tar.bz2: $(ETCDIR)/exclude.txt $(ETCDIR)/make_html.sh - @echo " INSTALL html" - $(H)tar -cjf $(DOWNDIR)/static_lddl.tar.bz2 -C static -X $< lddl - $(H)scp $(DOWNDIR)/static_lddl.tar.bz2 $(RDOWNDIR) - $(H)ssh $(REMOTE) "cd $(RSTATICDIR) && tar -xjf ../../lambdadelta/download/static_lddl.tar.bz2 +# html: $(ETCDIR)/make_html.sh +# @echo " MAKE */*.ld" +# $(H). $< install-jed: $(SLS:%=$(JEDDIR)/%) @echo " INSTALL $(SLS)" @@ -155,16 +239,12 @@ install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz install-coq: @echo " INSTALL coq" - $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xzf ../../../lambdadelta/download/lambdadelta_1.tar.gz && . ../../../lambdadelta/etc/to_text.sh v" + $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v" install-v: $(HELENADIR)/$(COQ) @echo " INSTALL $(notdir $<)" $(H)scp $< $(DOWNDIR) -up-html: - @echo " UPDATE $(RHOMEDIR)/html/" - $(H)scp -q -r html $(RHOMEDIR) - up-css: @echo " UPDATE $(RHOMEDIR)/css/" $(H)scp -q -r css $(RHOMEDIR) @@ -177,11 +257,11 @@ up-download: @echo " UPDATE $(RHOMEDIR)/download/" $(H)scp -q -r download $(RHOMEDIR) -%.ld: - @echo " XSLT $@" - $(H)mkdir -p $(LDDLDIR)/$(@D) - $(H)$(XSLT) $(XSLT_OUT) $(LDDLDIR)/$@.ldw.xml $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml - $(H)mkdir -p $(HTMLDIR)/$(@D) - $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $(LDDLDIR)/$@.ldw.xml +#%.ld: +# @echo " XSLT $@" +# $(H)mkdir -p $(LDDLDIR)/$(@D) +# $(H)$(XSLT) --novalid $(XSLT_OUT) $(LDDLDIR)/$@.ldw.xml $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml .PHONY: $(TAGS) + +.SUFFIXES: