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/
-LDURL = http://helm.cs.unibo.it/lambdadelta/
+LDWEBURL = http://helm.cs.unibo.it/lambdadelta/
SITEDIR = html
-ETCDIR = etc
-DOWNDIR = download
-XSLTDIR = xslt
-XMLDIR = xml
+HTMLDIR = html/lddl
SRCDIR = web/home
LDDLDIR = web/lddl
XHTBLDIR = bin/xhtbl
INDEXDIR = bin/index
-HTMLDIR = html/lddl
+ETCDIR = etc
+DOWNDIR = download
+XSLTDIR = xslt
+XMLDIR = xml
JEDDIR = $(HOME)/mps/jed
BIBDIR = $(HOME)/texmf/bibtex/bib
CONTRIBDIR = $(ETCDIR)/lambdadelta
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
XSLT += -indent 2
endif
-XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
-
-define HTML_TEMPLATE
- HTML_$(2) = $$(SITEDIR)/$(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), home)
- 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 $(XHTBLOPTS) *.tbl"
- $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS)
-
- $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
-endif
+XSLT += $(XSLT_PARAM) baseurl '"$(LDWEBURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
all:
# UPDATE HTML LDDL ###########################################################
$(ETCDIR)/html_lddl.tar.bz2: $(HTMLSTAMP)
- @echo " INSTALL html"
+ @echo " UPDATE $(RHOMEDIR)/$(HTMLDIR)/"
$(H)tar -cjf $@ $(HTMLDIR)
$(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
$(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
# UPDATE HTML IX LDDL ########################################################
$(ETCDIR)/html_lddl_ix.tar.bz2: $(HTMLIXSTAMP)
- @echo " INSTALL html-ix"
+ @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 $@"
# UPDATE HTML HOME ###########################################################
-up-home:
- @echo " UPDATE $(RHOMEDIR)/html/"
- $(H)scp -q html/*.html $(RHOMEDIR)/html/
+up-home: $(HOMESTAMP)
+ @echo " UPDATE $(RHOMEDIR)/$(SITEDIR)/"
+ $(H)scp -q html/*.html $(RHOMEDIR)/$(SITEDIR)/
# GENERATE HTML LDDL #########################################################
-$(HTMLSTAMP): $(LDWSTAMP) $(SITEMAP)
- $(H)for LDW in `find $(LDDLDIR) -name *.ldw.xml`; do \
+$(HTMLSTAMP): LDWS = `find $(LDDLDIR) -name *.ldw.xml`
+
+$(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%/*}; \
# GENERATE HTML IX LDDL ######################################################
-$(HTMLIXSTAMP): $(LDWIXSTAMP) $(SITEMAP)
- $(H)for LDW in `find $(LDDLDIR) -name index.ldw.xml`; do \
+$(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%/*}; \
# GENERATE HTML HOME #########################################################
-home: $(HTMLS) $(TBLS) $(XHTBL)
+$(HOMESTAMP): LDWS = `find -L $(WEBDIRS) -name "*.ldw.xml"`
+
+$(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 ###############################################################
+
+$(TABLES) $(SITEMAP): TBLS = `find -L $(WEBDIRS) -name "*.tbl"`
+
+$(TABLES) $(SITEMAP): $(TBLS) $(XHTBL)
+ @echo " XHTBL $(XHTBLOPTS) *.tbl"
+ $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDWEBURL) -O $(XSLTDIR) $(TBLS)
# GENERATE LDW LDDL ##########################################################
# @echo " XSLT $@"
# $(H)mkdir -p $(LDDLDIR)/$(@D)
# $(H)$(XSLT) --novalid $(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
.PHONY: $(TAGS)