]> matita.cs.unibo.it Git - helm.git/blob - helm/www/lambdadelta/Makefile
- xslt and Makefile improved, web pages regenerated
[helm.git] / helm / www / lambdadelta / Makefile
1 H=@
2
3 TAGS = www up \
4        lint-xml index lddl install-xml \
5        test-html html install-html \
6        install-jed install-bib \
7
8 LDURL   = http://lambdadelta.info/
9
10 HOMEDIR = .
11 ETCDIR   = etc
12 DOWNDIR  = download
13 XSLTDIR  = xslt
14 XMLDIR   = xml
15 SRCDIR   = web/home
16 XHTBLDIR = bin/xhtbl
17 HTMLDIR  = $(HOME)/public_html/lddl
18 JEDDIR   = $(HOME)/mps/jed
19 BIBDIR   = $(HOME)/texmf/bibtex/bib
20
21 WEBDIRS  = $(SRCDIR) $(ETCDIR)
22
23 REMOTE   = helm.cs.unibo.it
24 RDIR     = /projects/helm/public_html/lambdadelta
25 RXMLDIR  = $(REMOTE):$(RDIR)/xml
26 RHTMLDIR = $(REMOTE):$(RDIR)/static/lddl
27
28 SLS = helena.sl automath.sl
29 BIB = lambdadelta.bib
30
31 XMLS = brg_si/grundlagen/l/not.ld.xml \
32        brg_si/grundlagen/l/et.ld.xml \
33        brg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
34        brg_si/grundlagen/l/e/pairis1.ld.xml \
35        brg_si/grundlagen/l/e/st/eq/landau/n/327/t25.ld.xml \
36        crg_si/grundlagen/l/not.ld.xml \
37        crg_si/grundlagen/l/et.ld.xml \
38        crg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
39        crg_si/grundlagen/l/e/pairis1.ld.xml \
40        crg_si/grundlagen/l/e/st/eq/landau/n/327/t25.ld.xml \
41        brg_si/grundlagen/ccs.ldc.xml
42
43 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl
44
45 XMLLINT = xmllint --noout
46 XSLT    = xalan
47 XHTBL   = $(XHTBLDIR)/xhtbl.native
48
49 ifeq ($(XSLT), xsltproc)
50    XSLT_PARAM := --param
51    XSLT_OUT   := -o
52    XSLT_XSL   :=
53    XSLT_IN    :=
54 endif
55
56 ifeq ($(XSLT), xalan)
57    XSLT_PARAM := -param
58    XSLT_OUT   := -out
59    XSLT_XSL   := -xsl
60    XSLT_IN    := -in
61    XSLT       += -indent 2
62 endif
63
64 XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
65
66 define HTML_TEMPLATE
67    HTML_$(2)  = $$(HOMEDIR)/$(2).html
68    HTMLS     += $$(HTML_$(2))
69
70    $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%)
71         @echo "  XSLT $$(notdir $$<)"
72         $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$<
73 endef
74
75 ifeq ($(MAKECMDGOALS), www)
76    LDWS  = $(shell find -L $(WEBDIRS) -name "*.ldw.xml")
77    TBLS  = $(shell find -L $(WEBDIRS) -name "*.tbl")
78    XSLS  = $(addprefix $(XSLTDIR)/,xhtbl.xsl $(notdir $(TBLS:%.tbl=%.xsl)))
79
80    $(XSLS): $(TBLS) $(XHTBL)
81         @echo "  XHTBL *.tbl"
82         $(H)$(XHTBL) -O $(XSLTDIR) $(TBLS)
83
84    $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
85 endif
86
87 all: www
88
89 www: $(HTMLS)
90
91 lint-xml: $(XMLS:%=$(XMLDIR)/%)
92         @echo XMLLINT --valid
93         $(H)$(XMLLINT) --valid $^ 
94
95 $(ETCDIR)/make-html.sh $(XMLDIR)/index.txt index:
96         @echo "  GENERATE INDEXES"
97         $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt
98         $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh
99
100 lddl: $(ETCDIR)/exclude.txt index
101         @echo "  GENERATE lddl.tar.bz2"
102         $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR) 
103
104 install-xml: $(XMLDIR)/index.txt
105         @echo "  INSTALL xml"
106         $(H)scp -r $< $(XMLDIR)/brg_si/ $(XMLDIR)/crg_si/ $(RXMLDIR)
107
108 test-html:
109         @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
110
111 html: $(ETCDIR)/make_html.sh
112         @echo "  MAKE */*.ld"
113         $(H). $<
114
115 install-html: $(ETCDIR)/make_html.sh
116         @echo "  INSTALL html"
117         $(H)scp -r $(HTMLDIR)/* $(RHTMLDIR)
118
119 install-jed: $(SLS:%=$(JEDDIR)/%)
120         @echo "  INSTALL $(SLS)"
121         $(H)scp $^ $(DOWNDIR)
122
123 install-bib: $(BIB:%=$(BIBDIR)/%)
124         @echo "  INSTALL $(BIB)"
125         $(H)scp $< $(DOWNDIR)
126         $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
127 up:
128         @echo "  UPDATE $(REMOTE):$(RDIR)"
129         $(H)ssh $(REMOTE) "svn up $(RDIR)"
130
131 %.ld:
132         @echo "  XSLT $@"
133         $(H)mkdir -p $(HTMLDIR)/$(@D)
134         $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml
135
136 %.ldc:
137         @echo "  SKIP $@"
138
139 .PHONY: $(TAGS)