H=@ TAGS = www up \ lint-xml index lddl install-xml \ test-html html install-html \ install-jed install-bib install-contrib \ install-automath install-matita \ LDURL = http://lambdadelta.info/ HOMEDIR = . ETCDIR = etc DOWNDIR = download XSLTDIR = xslt XMLDIR = xml SRCDIR = web/home XHTBLDIR = bin/xhtbl HTMLDIR = $(HOME)/public_html/lddl 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 RHTMLDIR = $(RHOMEDIR)/static/lddl RDOWNDIR = $(RHOMEDIR)/download 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 AUTOMATH = examples/automath/grundlagen_2.aut MATITA = matita/root matita/grundlagen_2.ma XMLLINT = xmllint --noout XSLT = xalan XHTBL = $(XHTBLDIR)/xhtbl.native 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 '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"' define HTML_TEMPLATE HTML_$(2) = $$(HOMEDIR)/$(2).html HTMLS += $$(HTML_$(2)) $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%) @echo " XSLT $$(notdir $$<)" $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$< endef 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))) $(XSLS): $(TBLS) $(XHTBL) @echo " XHTBL *.tbl" $(H)$(XHTBL) -b $(LDURL) -O $(XSLTDIR) $(TBLS) $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%))))) endif all: www www: $(HTMLS) $(TBLS) $(XHTBL) 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" # $(H)scp -r $(XMLDIR) $(RXMLDIR) test-html: @$(MAKE) --no-print-directory $(XMLS:%.xml=%) html: $(ETCDIR)/make_html.sh @echo " MAKE */*.ld" $(H). $< install-html: $(ETCDIR)/make_html.sh @echo " INSTALL html" $(H)scp -r $(HTMLDIR)/* $(RHTMLDIR) 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-contrib: $(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) up: @echo " UPDATE $(RHOMEDIR)" $(H)ssh $(REMOTE) "svn up $(RDIR)" %.ld: @echo " XSLT $@" $(H)mkdir -p $(HTMLDIR)/$(@D) $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml %.ldc: @echo " SKIP $@" .PHONY: $(TAGS)