]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/Makefile
- we begin the new site based on ld_web
[helm.git] / helm / www / lambdadelta / Makefile
index 388070cd0daab79da8e2958ddf4f5e943dbf77b2..3533cb02eb53a004e2aa070e4b3e51c7efd04218 100644 (file)
@@ -3,26 +3,32 @@ H=@
 TAGS = www up \
        lint-xml index lddl install-xml \
        test-html html install-html \
-       install-jed install-bib \
+       install-jed install-bib install-contrib \
 
-LDDLURL = http://lambdadelta.info/static/lddl
+LDURL   = http://lambdadelta.info/
 
-ETCDIR   = etc
-DOWNDIR  = download
-XSLTDIR  = xslt
-XMLDIR   = xml
-HTMLDIR  = $(HOME)/public_html/lddl
-JEDDIR   = $(HOME)/mps/jed
-BIBDIR   = $(HOME)/texmf/bibtex/bib
-XHTBLDIR = bin/xhtbl
+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
+
+WEBDIRS  = $(SRCDIR) $(ETCDIR)
 
 REMOTE   = helm.cs.unibo.it
 RDIR     = /projects/helm/public_html/lambdadelta
 RXMLDIR  = $(REMOTE):$(RDIR)/xml
 RHTMLDIR = $(REMOTE):$(RDIR)/static/lddl
 
-SLS = helena.sl automath.sl
-BIB = lambdadelta.bib
+SLS     = helena.sl automath.sl
+BIB     = lambdadelta.bib
+CONTRIB = lambdadelta_2.tar.gz
 
 XMLS = brg_si/grundlagen/l/not.ld.xml \
        brg_si/grundlagen/l/et.ld.xml \
@@ -36,11 +42,54 @@ XMLS = brg_si/grundlagen/l/not.ld.xml \
        crg_si/grundlagen/l/e/st/eq/landau/n/327/t25.ld.xml \
        brg_si/grundlagen/ccs.ldc.xml
 
+LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl
+
 XMLLINT = xmllint --noout
-XSLT    = xsltproc
+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) -O $(XSLTDIR) $(TBLS)
+
+   $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
+endif
 
 all: www
 
+www: $(HTMLS)
+
 lint-xml: $(XMLS:%=$(XMLDIR)/%)
        @echo XMLLINT --valid
        $(H)$(XMLLINT) --valid $^ 
@@ -78,19 +127,18 @@ install-bib: $(BIB:%=$(BIBDIR)/%)
        $(H)scp $< $(DOWNDIR)
        $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
 
-www: 
-       $(H)$(MAKE) --no-print-directory -C $(XHTBLDIR) www
+install-contrib: $(CONTRIB:%=$(CONTRIBDIR)/%)
+       @echo "  INSTALL $(CONTRIB)"
+       $(H)scp $< $(DOWNDIR)
 
 up:
        @echo "  UPDATE $(REMOTE):$(RDIR)"
        $(H)ssh $(REMOTE) "svn up $(RDIR)"
 
-%.ld: BASEURL = --stringparam baseurl $(LDDLURL)
-
 %.ld:
        @echo "  XSLT $@"
        $(H)mkdir -p $(HTMLDIR)/$(@D)
-       $(H)$(XSLT) -o $(HTMLDIR)/$@.html $(BASEURL) $(XSLTDIR)/lddl.xsl $(XMLDIR)/$@.xml
+       $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml
 
 %.ldc:
        @echo "  SKIP $@"