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