]> matita.cs.unibo.it Git - helm.git/blob - helm/www/lambdadelta/Makefile
web site update
[helm.git] / helm / www / lambdadelta / Makefile
1 SHELL := $(shell which bash)
2 H=@
3
4 TAGS = www up-html up-css up-images up-download \
5        lint-xml index lddl install-xml \
6        test-html html install-html \
7        install-jed install-bib install-2 install-1 install-coq \
8        install-automath install-v install-matita \
9
10 # LDURL = http://lambdadelta.info/
11 LDURL = http://helm.cs.unibo.it/lambdadelta/
12
13 SITEDIR    = html
14 ETCDIR     = etc
15 DOWNDIR    = download
16 XSLTDIR    = xslt
17 XMLDIR     = xml
18 SRCDIR     = web/home
19 LDDLDIR    = web/lddl
20 XHTBLDIR   = bin/xhtbl
21 INDEXDIR   = bin/index
22 HTMLDIR    = html/lddl
23 JEDDIR     = $(HOME)/mps/jed
24 BIBDIR     = $(HOME)/texmf/bibtex/bib
25 CONTRIBDIR = $(ETCDIR)/lambdadelta
26 HELENADIR  = ../../software/helena
27
28 WEBDIRS  = $(SRCDIR) $(ETCDIR)
29
30 REMOTE   = helm.cs.unibo.it
31 RDIR     = /projects/helm/public_html/lambdadelta
32 RHOMEDIR = $(REMOTE):$(RDIR)
33 RXMLDIR  = $(RHOMEDIR)/xml
34 RDOWNDIR = $(RHOMEDIR)/download
35 RSTATICDIR = /projects/helm/public_html/lambda-delta/static
36
37 DLHTMLSTAMP = $(ETCDIR)/lddl_html.stamp
38 DLHTMLIXSTAMP = $(ETCDIR)/lddl_html_ix.stamp
39
40 SLS     = helena.sl automath.sl
41 BIB     = lambdadelta.bib
42 CONTRIB = lambdadelta_2.tar.gz
43
44 XMLS = Environment/grundlagen_2/l/not.ld.xml \
45        Environment/grundlagen_2/l/et.ld.xml \
46        Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
47        Environment/grundlagen_2/l/e/pairis1.ld.xml \
48        Environment/grundlagen_2/l/e/st/eq/landau/n/327/t25.ld.xml \
49
50 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl
51
52 AUTOMATH = examples/automath/grundlagen_2.aut
53 COQ      = coq/grundlagen_2.v
54
55 MATITA = matita/root matita/grundlagen_2.ma
56
57 XMLLINT = xmllint --noout
58 XSLT    = xsltproc
59 XHTBL   = $(XHTBLDIR)/xhtbl.native
60 INDEX   = $(INDEXDIR)/index.native
61
62 XHTBLOPTS =
63
64 ifeq ($(XSLT), xsltproc)
65    XSLT_PARAM := --param
66    XSLT_OUT   := -o
67    XSLT_XSL   :=
68    XSLT_IN    :=
69 endif
70
71 ifeq ($(XSLT), xalan)
72    XSLT_PARAM := -param
73    XSLT_OUT   := -out
74    XSLT_XSL   := -xsl
75    XSLT_IN    := -in
76    XSLT       += -indent 2
77 endif
78
79 XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
80
81 define HTML_TEMPLATE
82    HTML_$(2)  = $$(SITEDIR)/$(2).html
83    HTMLS     += $$(HTML_$(2))
84
85    $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%)
86         @echo "  XSLT $$(notdir $$<)"
87         $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$<
88 endef
89
90 ifeq ($(MAKECMDGOALS), www)
91    LDWS  = $(shell find -L $(WEBDIRS) -name "*.ldw.xml")
92    TBLS  = $(shell find -L $(WEBDIRS) -name "*.tbl")
93    XSLS  = $(addprefix $(XSLTDIR)/,xhtbl.xsl $(notdir $(TBLS:%.tbl=%.xsl)))
94
95    $(XSLS): $(TBLS) $(XHTBL)
96         @echo "  XHTBL $(XHTBLOPTS) *.tbl"
97         $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS)
98
99    $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
100 endif
101
102 all:
103
104 www: $(HTMLS) $(TBLS) $(XHTBL)
105
106 lint-xml: $(XMLS:%=$(XMLDIR)/%)
107         @echo XMLLINT --valid
108         $(H)$(XMLLINT) --valid $^
109
110 $(ETCDIR)/make_html.sh $(XMLDIR)/index.txt index:
111         @echo "  GENERATE INDEXES"
112         $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt
113         $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh
114
115 $(DOWNDIR)/lddl.tar.bz2 lddl: $(ETCDIR)/exclude.txt $(XMLDIR)/index.txt
116         @echo "  GENERATE lddl.tar.bz2"
117         $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR)
118
119 install-xml: $(DOWNDIR)/lddl.tar.bz2
120         @echo "  INSTALL xml"
121         $(H)scp $^ $(RDOWNDIR)
122         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2"
123
124 test-html:
125         @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
126
127 html: $(ETCDIR)/make_html.sh
128         @echo "  MAKE */*.ld"
129 #       $(H). $<
130         $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) .
131
132 test: $(DLHTMLIXSTAMP)
133
134 $(DLHTMLSTAMP):
135         $(H)for LDW in `find $(LDDLDIR) -name *.ldw.xml`; do \
136         TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
137         echo "  XSLT $$LDW"; \
138         mkdir -p $${HTML%/*}; \
139         $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
140         done
141         $(H)touch $@
142         $(H)touch $(DLHTMLIXSTAMP)
143
144 $(DLHTMLIXSTAMP):
145         $(H)for LDW in `find $(LDDLDIR) -name index.ldw.xml`; do \
146         TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
147         echo "  XSLT $$LDW"; \
148         mkdir -p $${HTML%/*}; \
149         $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
150         done
151         $(H)touch $@
152
153 install-html: $(ETCDIR)/html_lddl.tar.bz2
154
155 $(ETCDIR)/html_lddl.tar.bz2:
156         @echo "  INSTALL html"
157         $(H)tar -cjf $@ $(HTMLDIR)
158         $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
159         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
160
161 install-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2
162
163 $(ETCDIR)/html_lddl_ix.tar.bz2:
164         @echo "  INSTALL html"
165 #       $(H)tar -cjf $@ `find $(HTMLDIR) -name index.html`
166         $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
167         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
168
169 install-jed: $(SLS:%=$(JEDDIR)/%)
170         @echo "  INSTALL $(SLS)"
171         $(H)scp $^ $(DOWNDIR)
172
173 install-bib: $(BIB:%=$(BIBDIR)/%)
174         @echo "  INSTALL $(BIB)"
175         $(H)scp $< $(DOWNDIR)
176         $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
177
178 install-2: $(CONTRIB:%=$(CONTRIBDIR)/%)
179         @echo "  INSTALL $(CONTRIB)"
180         $(H)scp $< $(DOWNDIR)
181
182 install-automath: $(HELENADIR)/$(AUTOMATH)
183         @echo "  INSTALL $(notdir $<)"
184         $(H)scp $< $(DOWNDIR)
185
186 install-matita: $(MATITA:%=$(HELENADIR)/%)
187         @echo "  INSTALL matita"
188         $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA)
189
190 install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz
191         @echo "  INSTALL $<"
192         $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz
193
194 install-coq:
195         @echo "  INSTALL coq"
196         $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v"
197
198 install-v: $(HELENADIR)/$(COQ)
199         @echo "  INSTALL $(notdir $<)"
200         $(H)scp $< $(DOWNDIR)
201
202 up-html:
203         @echo "  UPDATE $(RHOMEDIR)/html/"
204         $(H)scp -q html/*.html $(RHOMEDIR)/html/
205
206 up-css:
207         @echo "  UPDATE $(RHOMEDIR)/css/"
208         $(H)scp -q -r css $(RHOMEDIR)
209
210 up-images:
211         @echo "  UPDATE $(RHOMEDIR)/images/"
212         $(H)scp -q -r images $(RHOMEDIR)
213
214 up-download:
215         @echo "  UPDATE $(RHOMEDIR)/download/"
216         $(H)scp -q -r download $(RHOMEDIR)
217
218 %.ld:
219         @echo "  XSLT $@"
220 #       $(H)mkdir -p $(LDDLDIR)/$(@D)
221 #       $(H)$(XSLT) --novalid $(XSLT_OUT) $(LDDLDIR)/$@.ldw.xml $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml
222 #       $(H)mkdir -p $(HTMLDIR)/$(@D)
223 #       $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $(LDDLDIR)/$@.ldw.xml
224
225 .PHONY: $(TAGS)