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