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 HTMLSTAMP = $(ETCDIR)/html.stamp
38 HTMLIXSTAMP = $(ETCDIR)/html_ix.stamp
39 LDWSTAMP = $(ETCDIR)/ldw.stamp
40 LDWIXSTAMP = $(ETCDIR)/ldw_ix.stamp
42 SITEMAP = $(XSLTDIR)/sitemap.xsl
44 SLS = helena.sl automath.sl
46 CONTRIB = lambdadelta_2.tar.gz
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 \
54 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl
56 AUTOMATH = examples/automath/grundlagen_2.aut
57 COQ = coq/grundlagen_2.v
59 MATITA = matita/root matita/grundlagen_2.ma
61 XMLLINT = xmllint --noout
63 XHTBL = $(XHTBLDIR)/xhtbl.native
64 INDEX = $(INDEXDIR)/index.native
68 ifeq ($(XSLT), xsltproc)
83 XSLT += $(XSLT_PARAM) baseurl '"$(LDURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
86 HTML_$(2) = $$(SITEDIR)/$(2).html
87 HTMLS += $$(HTML_$(2))
89 $$(HTML_$(2)): $(1) $$(XSLS) $$(LDWEB:%=$$(XSLTDIR)/%)
90 @echo " XSLT $$(notdir $$<)"
91 $$(H)$$(XSLT) $$(XSLT_OUT) $$@ $$(XSLT_XSL) $$(XSLTDIR)/ld_web.xsl $$(XSLT_IN) $$<
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)))
99 $(XSLS): $(TBLS) $(XHTBL)
100 @echo " XHTBL $(XHTBLOPTS) *.tbl"
101 $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDURL) -O $(XSLTDIR) $(TBLS)
103 $(foreach LDW,$(LDWS),$(eval $(call HTML_TEMPLATE,$(LDW),$(notdir $(LDW:%.ldw.xml=%)))))
108 # UPDATE HTML LDDL ###########################################################
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 $@"
116 up-html: $(ETCDIR)/html_lddl.tar.bz2
118 # UPDATE HTML IX LDDL ########################################################
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 $@"
126 up-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2
128 # UPDATE HTML HOME ###########################################################
131 @echo " UPDATE $(RHOMEDIR)/html/"
132 $(H)scp -q html/*.html $(RHOMEDIR)/html/
134 # GENERATE HTML LDDL #########################################################
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; \
144 $(H)touch $(HTMLIXSTAMP)
148 # GENERATE HTML IX LDDL ######################################################
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; \
159 html-ix: $(HTMLIXSTAMP)
161 # GENERATE HTML HOME #########################################################
163 home: $(HTMLS) $(TBLS) $(XHTBL)
165 # GENERATE LDW LDDL ##########################################################
172 # GENERATE LDW IX LDDL #######################################################
174 $(LDWIXSTAMP): $(INDEX)
175 $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) .
178 ldw-ix: $(LDWIXSTAMP)
180 ##############################################################################
182 lint-xml: $(XMLS:%=$(XMLDIR)/%)
183 @echo XMLLINT --valid
184 $(H)$(XMLLINT) --valid $^
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
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)
195 install-xml: $(DOWNDIR)/lddl.tar.bz2
197 $(H)scp $^ $(RDOWNDIR)
198 $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2"
201 @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
203 # html: $(ETCDIR)/make_html.sh
204 # @echo " MAKE */*.ld"
207 install-jed: $(SLS:%=$(JEDDIR)/%)
208 @echo " INSTALL $(SLS)"
209 $(H)scp $^ $(DOWNDIR)
211 install-bib: $(BIB:%=$(BIBDIR)/%)
212 @echo " INSTALL $(BIB)"
213 $(H)scp $< $(DOWNDIR)
214 $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
216 install-2: $(CONTRIB:%=$(CONTRIBDIR)/%)
217 @echo " INSTALL $(CONTRIB)"
218 $(H)scp $< $(DOWNDIR)
220 install-automath: $(HELENADIR)/$(AUTOMATH)
221 @echo " INSTALL $(notdir $<)"
222 $(H)scp $< $(DOWNDIR)
224 install-matita: $(MATITA:%=$(HELENADIR)/%)
225 @echo " INSTALL matita"
226 $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA)
228 install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz
230 $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz
234 $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v"
236 install-v: $(HELENADIR)/$(COQ)
237 @echo " INSTALL $(notdir $<)"
238 $(H)scp $< $(DOWNDIR)
241 @echo " UPDATE $(RHOMEDIR)/css/"
242 $(H)scp -q -r css $(RHOMEDIR)
245 @echo " UPDATE $(RHOMEDIR)/images/"
246 $(H)scp -q -r images $(RHOMEDIR)
249 @echo " UPDATE $(RHOMEDIR)/download/"
250 $(H)scp -q -r download $(RHOMEDIR)
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