]> matita.cs.unibo.it Git - helm.git/blob - helm/www/lambdadelta/Makefile
391b4e1f883d524907b4b3b469df35ddda1a4736
[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 HTMLSTAMP   = $(ETCDIR)/html.stamp
38 HTMLIXSTAMP = $(ETCDIR)/html_ix.stamp
39 LDWSTAMP    = $(ETCDIR)/ldw.stamp
40 LDWIXSTAMP  = $(ETCDIR)/ldw_ix.stamp
41
42 SITEMAP     = $(XSLTDIR)/sitemap.xsl
43
44 SLS     = helena.sl automath.sl
45 BIB     = lambdadelta.bib
46 CONTRIB = lambdadelta_2.tar.gz
47
48 XMLS = Environment/grundlagen_2/l/not.ld.xml \
49        Environment/grundlagen_2/l/et.ld.xml \
50        Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
51        Environment/grundlagen_2/l/e/pairis1.ld.xml \
52        Environment/grundlagen_2/l/e/st/eq/landau/n/327/t25.ld.xml \
53
54 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl
55
56 AUTOMATH = examples/automath/grundlagen_2.aut
57 COQ      = coq/grundlagen_2.v
58
59 MATITA = matita/root matita/grundlagen_2.ma
60
61 XMLLINT = xmllint --noout
62 XSLT    = xsltproc
63 XHTBL   = $(XHTBLDIR)/xhtbl.native
64 INDEX   = $(INDEXDIR)/index.native
65
66 XHTBLOPTS =
67
68 ifeq ($(XSLT), xsltproc)
69    XSLT_PARAM := --param
70    XSLT_OUT   := -o
71    XSLT_XSL   :=
72    XSLT_IN    :=
73 endif
74
75 ifeq ($(XSLT), xalan)
76    XSLT_PARAM := -param
77    XSLT_OUT   := -out
78    XSLT_XSL   := -xsl
79    XSLT_IN    := -in
80    XSLT       += -indent 2
81 endif
82
83 XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
84
85 define HTML_TEMPLATE
86    HTML_$(2)  = $$(SITEDIR)/$(2).html
87    HTMLS     += $$(HTML_$(2))
88
89    $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%)
90         @echo "  XSLT $$(notdir $$<)"
91         $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$<
92 endef
93
94 ifeq ($(MAKECMDGOALS), home)
95    LDWS  = $(shell find -L $(WEBDIRS) -name "*.ldw.xml")
96    TBLS  = $(shell find -L $(WEBDIRS) -name "*.tbl")
97    XSLS  = $(addprefix $(XSLTDIR)/,xhtbl.xsl $(notdir $(TBLS:%.tbl=%.xsl)))
98
99    $(XSLS): $(TBLS) $(XHTBL)
100         @echo "  XHTBL $(XHTBLOPTS) *.tbl"
101         $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS)
102
103    $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
104 endif
105
106 all:
107
108 # UPDATE HTML LDDL ###########################################################
109
110 $(ETCDIR)/html_lddl.tar.bz2: $(HTMLSTAMP)
111         @echo "  INSTALL html"
112         $(H)tar -cjf $@ $(HTMLDIR)
113         $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
114         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
115
116 up-html: $(ETCDIR)/html_lddl.tar.bz2
117
118 # UPDATE HTML IX LDDL ########################################################
119
120 $(ETCDIR)/html_lddl_ix.tar.bz2: $(HTMLIXSTAMP)
121         @echo "  INSTALL html-ix"
122         $(H)tar -cjf $@ `find $(HTMLDIR) -name index.html`
123         $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
124         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
125
126 up-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2
127
128 # UPDATE HTML HOME ###########################################################
129
130 up-home:
131         @echo "  UPDATE $(RHOMEDIR)/html/"
132         $(H)scp -q html/*.html $(RHOMEDIR)/html/
133
134 # GENERATE HTML LDDL #########################################################
135
136 $(HTMLSTAMP): $(LDWSTAMP) $(SITEMAP)
137         $(H)for LDW in `find $(LDDLDIR) -name *.ldw.xml`; do \
138         TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
139         echo "  XSLT $$LDW"; \
140         mkdir -p $${HTML%/*}; \
141         $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
142         done
143         $(H)touch $@
144         $(H)touch $(HTMLIXSTAMP)
145
146 html: $(HTMLSTAMP)
147
148 # GENERATE HTML IX LDDL ######################################################
149
150 $(HTMLIXSTAMP): $(LDWIXSTAMP) $(SITEMAP)
151         $(H)for LDW in `find $(LDDLDIR) -name index.ldw.xml`; do \
152         TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
153         echo "  XSLT $$LDW"; \
154         mkdir -p $${HTML%/*}; \
155         $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
156         done
157         $(H)touch $@
158
159 html-ix: $(HTMLIXSTAMP)
160
161 # GENERATE HTML HOME #########################################################
162
163 home: $(HTMLS) $(TBLS) $(XHTBL)
164
165 # GENERATE LDW LDDL ##########################################################
166
167 $(LDWSTAMP):
168         $(H)touch $@
169
170 ldw: $(LDWSTAMP)
171
172 # GENERATE LDW IX LDDL #######################################################
173
174 $(LDWIXSTAMP): $(INDEX)
175         $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) .
176         $(H)touch $@
177
178 ldw-ix: $(LDWIXSTAMP)
179
180 ##############################################################################
181
182 lint-xml: $(XMLS:%=$(XMLDIR)/%)
183         @echo XMLLINT --valid
184         $(H)$(XMLLINT) --valid $^
185
186 $(ETCDIR)/make_html.sh $(XMLDIR)/index.txt index:
187         @echo "  GENERATE INDEXES"
188         $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt
189         $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh
190
191 $(DOWNDIR)/lddl.tar.bz2 lddl: $(ETCDIR)/exclude.txt $(XMLDIR)/index.txt
192         @echo "  GENERATE lddl.tar.bz2"
193         $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR)
194
195 install-xml: $(DOWNDIR)/lddl.tar.bz2
196         @echo "  INSTALL xml"
197         $(H)scp $^ $(RDOWNDIR)
198         $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2"
199
200 test-html:
201         @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
202
203 # html: $(ETCDIR)/make_html.sh
204 #       @echo "  MAKE */*.ld"
205 #       $(H). $<
206
207 install-jed: $(SLS:%=$(JEDDIR)/%)
208         @echo "  INSTALL $(SLS)"
209         $(H)scp $^ $(DOWNDIR)
210
211 install-bib: $(BIB:%=$(BIBDIR)/%)
212         @echo "  INSTALL $(BIB)"
213         $(H)scp $< $(DOWNDIR)
214         $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
215
216 install-2: $(CONTRIB:%=$(CONTRIBDIR)/%)
217         @echo "  INSTALL $(CONTRIB)"
218         $(H)scp $< $(DOWNDIR)
219
220 install-automath: $(HELENADIR)/$(AUTOMATH)
221         @echo "  INSTALL $(notdir $<)"
222         $(H)scp $< $(DOWNDIR)
223
224 install-matita: $(MATITA:%=$(HELENADIR)/%)
225         @echo "  INSTALL matita"
226         $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA)
227
228 install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz
229         @echo "  INSTALL $<"
230         $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz
231
232 install-coq:
233         @echo "  INSTALL coq"
234         $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v"
235
236 install-v: $(HELENADIR)/$(COQ)
237         @echo "  INSTALL $(notdir $<)"
238         $(H)scp $< $(DOWNDIR)
239
240 up-css:
241         @echo "  UPDATE $(RHOMEDIR)/css/"
242         $(H)scp -q -r css $(RHOMEDIR)
243
244 up-images:
245         @echo "  UPDATE $(RHOMEDIR)/images/"
246         $(H)scp -q -r images $(RHOMEDIR)
247
248 up-download:
249         @echo "  UPDATE $(RHOMEDIR)/download/"
250         $(H)scp -q -r download $(RHOMEDIR)
251
252 #%.ld:
253 #       @echo "  XSLT $@"
254 #       $(H)mkdir -p $(LDDLDIR)/$(@D)
255 #       $(H)$(XSLT) --novalid $(XSLT_OUT) $(LDDLDIR)/$@.ldw.xml $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml
256 #       $(H)mkdir -p $(HTMLDIR)/$(@D)
257 #       $(H)$(XSLT) $(XSLT_OUT) $(HTMLDIR)/$@.html $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $(LDDLDIR)/$@.ldw.xml
258
259 .PHONY: $(TAGS)