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 \ LDWEBURL = http://helm.cs.unibo.it/lambdadelta/ SITEDIR = html HTMLDIR = html/lddl SRCDIR = web/home LDDLDIR = web/lddl XHTBLDIR = bin/xhtbl INDEXDIR = bin/index ETCDIR = etc DOWNDIR = download XSLTDIR = xslt XMLDIR = xml JEDDIR = $(HOME)/mps/jed BIBDIR = $(HOME)/texmf/bibtex/bib CONTRIBDIR = $(ETCDIR)/lambdadelta HELENADIR = ../../software/helena WEBDIRS = $(SRCDIR) $(ETCDIR) REMOTE = helm.cs.unibo.it RDIR = /projects/helm/public_html/lambdadelta RHOMEDIR = $(REMOTE):$(RDIR) 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 XMLS = Environment/grundlagen_2/l/not.ld.xml \ Environment/grundlagen_2/l/et.ld.xml \ Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \ Environment/grundlagen_2/l/e/pairis1.ld.xml \ Environment/grundlagen_2/l/e/st/eq/landau/n/327/t25.ld.xml \ LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl AUTOMATH = examples/automath/grundlagen_2.aut COQ = coq/grundlagen_2.v MATITA = matita/root matita/grundlagen_2.ma XMLLINT = xmllint --noout XSLT = xsltproc XHTBL = $(XHTBLDIR)/xhtbl.native INDEX = $(INDEXDIR)/index.native XHTBLOPTS = ifeq ($(XSLT), xsltproc) XSLT_PARAM := --param XSLT_OUT := -o XSLT_XSL := XSLT_IN := endif ifeq ($(XSLT), xalan) XSLT_PARAM := -param XSLT_OUT := -out XSLT_XSL := -xsl XSLT_IN := -in XSLT += -indent 2 endif XSLT += $(XSLT_PARAM) baseurl '"$(LDWEBURL)"' $(XSLT_PARAM) date '"$(shell date -R)"' all: # UPDATE HTML LDDL ########################################################### $(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 $@" up-html: $(ETCDIR)/html_lddl.tar.bz2 # UPDATE HTML IX LDDL ######################################################## $(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 $(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 $@ 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: @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 $(DOWNDIR)/lddl.tar.bz2 lddl: $(ETCDIR)/exclude.txt $(XMLDIR)/index.txt @echo " GENERATE lddl.tar.bz2" $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR) install-xml: $(DOWNDIR)/lddl.tar.bz2 @echo " INSTALL xml" $(H)scp $^ $(RDOWNDIR) $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2" test-html: @$(MAKE) --no-print-directory $(XMLS:%.xml=%) # html: $(ETCDIR)/make_html.sh # @echo " MAKE */*.ld" # $(H). $< install-jed: $(SLS:%=$(JEDDIR)/%) @echo " INSTALL $(SLS)" $(H)scp $^ $(DOWNDIR) install-bib: $(BIB:%=$(BIBDIR)/%) @echo " INSTALL $(BIB)" $(H)scp $< $(DOWNDIR) $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt) install-2: $(CONTRIB:%=$(CONTRIBDIR)/%) @echo " INSTALL $(CONTRIB)" $(H)scp $< $(DOWNDIR) install-automath: $(HELENADIR)/$(AUTOMATH) @echo " INSTALL $(notdir $<)" $(H)scp $< $(DOWNDIR) install-matita: $(MATITA:%=$(HELENADIR)/%) @echo " INSTALL matita" $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA) install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz @echo " INSTALL $<" $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz install-coq: @echo " INSTALL coq" $(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-css: @echo " UPDATE $(RHOMEDIR)/css/" $(H)scp -q -r css $(RHOMEDIR) up-images: @echo " UPDATE $(RHOMEDIR)/images/" $(H)scp -q -r images $(RHOMEDIR) up-download: @echo " UPDATE $(RHOMEDIR)/download/" $(H)scp -q -r download $(RHOMEDIR) #%.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: