1 SHELL := $(shell which bash)
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 \
10 # LDURL = http://lambdadelta.info/
11 LDURL = http://helm.cs.unibo.it/lambdadelta/
23 JEDDIR = $(HOME)/mps/jed
24 BIBDIR = $(HOME)/texmf/bibtex/bib
25 CONTRIBDIR = $(ETCDIR)/lambdadelta
26 HELENADIR = ../../software/helena
28 WEBDIRS = $(SRCDIR) $(ETCDIR)
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
37 DLHTMLSTAMP = $(ETCDIR)/lddl_html.stamp
38 DLHTMLIXSTAMP = $(ETCDIR)/lddl_html_ix.stamp
40 SLS = helena.sl automath.sl
42 CONTRIB = lambdadelta_2.tar.gz
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 \
50 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl
52 AUTOMATH = examples/automath/grundlagen_2.aut
53 COQ = coq/grundlagen_2.v
55 MATITA = matita/root matita/grundlagen_2.ma
57 XMLLINT = xmllint --noout
59 XHTBL = $(XHTBLDIR)/xhtbl.native
60 INDEX = $(INDEXDIR)/index.native
64 ifeq ($(XSLT), xsltproc)
79 XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
82 HTML_$(2) = $$(SITEDIR)/$(2).html
83 HTMLS += $$(HTML_$(2))
85 $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%)
86 @echo " XSLT $$(notdir $$<)"
87 $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$<
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)))
95 $(XSLS): $(TBLS) $(XHTBL)
96 @echo " XHTBL $(XHTBLOPTS) *.tbl"
97 $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS)
99 $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
104 www: $(HTMLS) $(TBLS) $(XHTBL)
106 lint-xml: $(XMLS:%=$(XMLDIR)/%)
107 @echo XMLLINT --valid
108 $(H)$(XMLLINT) --valid $^
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
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)
119 install-xml: $(DOWNDIR)/lddl.tar.bz2
121 $(H)scp $^ $(RDOWNDIR)
122 $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2"
125 @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
127 html: $(ETCDIR)/make_html.sh
130 $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) .
132 test: $(DLHTMLIXSTAMP)
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; \
142 $(H)touch $(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; \
153 install-html: $(ETCDIR)/html_lddl.tar.bz2
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 $@"
161 install-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2
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 $@"
169 install-jed: $(SLS:%=$(JEDDIR)/%)
170 @echo " INSTALL $(SLS)"
171 $(H)scp $^ $(DOWNDIR)
173 install-bib: $(BIB:%=$(BIBDIR)/%)
174 @echo " INSTALL $(BIB)"
175 $(H)scp $< $(DOWNDIR)
176 $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
178 install-2: $(CONTRIB:%=$(CONTRIBDIR)/%)
179 @echo " INSTALL $(CONTRIB)"
180 $(H)scp $< $(DOWNDIR)
182 install-automath: $(HELENADIR)/$(AUTOMATH)
183 @echo " INSTALL $(notdir $<)"
184 $(H)scp $< $(DOWNDIR)
186 install-matita: $(MATITA:%=$(HELENADIR)/%)
187 @echo " INSTALL matita"
188 $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA)
190 install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz
192 $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz
196 $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v"
198 install-v: $(HELENADIR)/$(COQ)
199 @echo " INSTALL $(notdir $<)"
200 $(H)scp $< $(DOWNDIR)
203 @echo " UPDATE $(RHOMEDIR)/html/"
204 $(H)scp -q html/*.html $(RHOMEDIR)/html/
207 @echo " UPDATE $(RHOMEDIR)/css/"
208 $(H)scp -q -r css $(RHOMEDIR)
211 @echo " UPDATE $(RHOMEDIR)/images/"
212 $(H)scp -q -r images $(RHOMEDIR)
215 @echo " UPDATE $(RHOMEDIR)/download/"
216 $(H)scp -q -r download $(RHOMEDIR)
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