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 TAGS = up-html up-html-ix up-home html html-ix home ldw ldw-ix install-2
12 LDWEBURL = http://helm.cs.unibo.it/lambdadelta/
19 XHTBLDIR = $(ETCDIR)/lambdadelta/bin/xhtbl
20 INDEXDIR = $(ETCDIR)/lambdadelta/bin/index
24 JEDDIR = $(HOME)/mps/jed
25 BIBDIR = $(HOME)/texmf/bibtex/bib
26 CONTRIBDIR = $(ETCDIR)/lambdadelta
27 HELENADIR = ../../software/helena
29 WEBDIRS = $(SRCDIR) $(ETCDIR)
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
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
44 SITEMAP = $(XSLTDIR)/sitemap.xsl
45 TABLES = $(XSLTDIR)/xhtbl.xsl
47 SLS = helena.sl automath.sl
49 CONTRIB = lambdadelta_2.tar.gz
51 XMLS = Environment/grundlagen_2/l/not.ld.xml \
52 Environment/grundlagen_2/l/et.ld.xml \
53 Environment/grundlagen_2/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
54 Environment/grundlagen_2/l/e/pairis1.ld.xml \
55 Environment/grundlagen_2/l/e/st/eq/landau/n/327/t25.ld.xml \
57 LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl ld_web_ebnf.xsl
59 AUTOMATH = examples/automath/grundlagen_2.aut
60 COQ = coq/grundlagen_2.v
62 MATITA = matita/root matita/grundlagen_2.ma
64 XMLLINT = xmllint --noout
66 XHTBL = $(XHTBLDIR)/xhtbl.native
67 INDEX = $(INDEXDIR)/index.native
71 ifeq ($(XSLT), xsltproc)
86 XSLT += $(XSLT_PARAM) baseurl '"$(LDWEBURL)"' $(XSLT_PARAM) date '"$(shell date -R)"'
90 # UPDATE HTML LDDL ###########################################################
92 $(ETCDIR)/html_lddl.tar.bz2: $(HTMLSTAMP)
93 @echo " UPDATE $(RHOMEDIR)/$(HTMLDIR)/"
94 $(H)tar -cjf $@ $(HTMLDIR)
95 $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
96 $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
98 up-html: $(ETCDIR)/html_lddl.tar.bz2
100 # UPDATE HTML IX LDDL ########################################################
102 $(ETCDIR)/html_lddl_ix.tar.bz2: $(HTMLIXSTAMP)
103 @echo " UPDATE $(RHOMEDIR)/$(HTMLDIR)/*/index.html"
104 $(H)tar -cjf $@ `find $(HTMLDIR) -name index.html`
105 $(H)scp $@ $(RHOMEDIR)/$(ETCDIR)
106 $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf $@"
108 up-html-ix: $(ETCDIR)/html_lddl_ix.tar.bz2
110 # UPDATE HTML HOME ###########################################################
112 up-home: $(HOMESTAMP)
113 @echo " UPDATE $(RHOMEDIR)/$(SITEDIR)/"
114 $(H)scp -q html/*.html $(RHOMEDIR)/$(SITEDIR)/
116 # GENERATE HTML LDDL #########################################################
118 ifeq ($(MAKECMDGOALS),html)
119 LDWS = $(shell find $(LDDLDIR) -name *.ldw.xml)
122 $(HTMLSTAMP): $(LDWSTAMP) $(SITEMAP) $(LDWEB:%=$(XSLTDIR)/%)
123 $(H)for LDW in $(LDWS); do \
124 TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
125 echo " XSLT $$LDW"; \
126 mkdir -p $${HTML%/*}; \
127 $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
130 $(H)touch $(HTMLIXSTAMP)
134 # GENERATE HTML IX LDDL ######################################################
136 $(HTMLIXSTAMP): LDWS = `find $(LDDLDIR) -name index.ldw.xml`
138 $(HTMLIXSTAMP): $(LDWIXSTAMP) $(SITEMAP) $(LDWEB:%=$(XSLTDIR)/%)
139 $(H)for LDW in $(LDWS); do \
140 TMP=$${LDW/web/html};HTML=$${TMP/ldw.xml/html}; \
141 echo " XSLT $$LDW"; \
142 mkdir -p $${HTML%/*}; \
143 $(XSLT) $(XSLT_OUT) $$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
147 html-ix: $(HTMLIXSTAMP)
149 # GENERATE HTML HOME #########################################################
151 ifeq ($(MAKECMDGOALS),home)
152 LDWS = $(shell find -L $(WEBDIRS) -name *.ldw.xml)
155 $(HOMESTAMP): $(LDWS) $(TABLES) $(LDWEB:%=$(XSLTDIR)/%)
156 $(H)for LDW in $(LDWS); do \
157 TMP=$${LDW##*/};HTML=$${TMP/ldw.xml/html}; \
158 echo " XSLT $$LDW"; \
159 $(XSLT) $(XSLT_OUT) $(SITEDIR)/$$HTML $(XSLT_XSL) $(XSLTDIR)/ld_web.xsl $(XSLT_IN) $$LDW; \
165 # GENERATE XSL ###############################################################
167 TBLS = $(shell find -L $(WEBDIRS) -name *.tbl)
169 $(TABLES) $(SITEMAP): $(TBLS) $(XHTBL)
170 @echo " XHTBL $(XHTBLOPTS) *.tbl"
171 $(H)$(XHTBL) $(XHTBLOPTS) -b $(LDWEBURL) -O $(XSLTDIR) $(TBLS)
173 # GENERATE LDW LDDL ##########################################################
180 # GENERATE LDW IX LDDL #######################################################
182 $(LDWIXSTAMP): $(INDEX)
183 $(H)$(INDEX) -i $(LDDLDIR) -o $(HTMLDIR) .
186 ldw-ix: $(LDWIXSTAMP)
188 # INSTALL λδ-2 PACKAGES ######################################################
190 install-2: PKGS = $(shell find -L $(CONTRIBDIR) -name lambdadelta_*.tar.bz2)
193 @echo " INSTALL $(PKGS:$(CONTRIBDIR)/lambdadelta_%.tar.bz2=%)"
194 $(H)scp $(PKGS) $(DOWNDIR)
197 ##############################################################################
199 lint-xml: $(XMLS:%=$(XMLDIR)/%)
200 @echo XMLLINT --valid
201 $(H)$(XMLLINT) --valid $^
203 $(ETCDIR)/make_html.sh $(XMLDIR)/index.txt index:
204 @echo " GENERATE INDEXES"
205 $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt
206 $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh
208 $(DOWNDIR)/lddl.tar.bz2 lddl: $(ETCDIR)/exclude.txt $(XMLDIR)/index.txt
209 @echo " GENERATE lddl.tar.bz2"
210 $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR)
212 install-xml: $(DOWNDIR)/lddl.tar.bz2
214 $(H)scp $^ $(RDOWNDIR)
215 $(H)ssh $(REMOTE) "cd $(RDIR) && tar -xjf download/lddl.tar.bz2"
218 @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
220 # html: $(ETCDIR)/make_html.sh
221 # @echo " MAKE */*.ld"
224 install-jed: $(SLS:%=$(JEDDIR)/%)
225 @echo " INSTALL $(SLS)"
226 $(H)scp $^ $(DOWNDIR)
228 install-bib: $(BIB:%=$(BIBDIR)/%)
229 @echo " INSTALL $(BIB)"
230 $(H)scp $< $(DOWNDIR)
231 $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
233 install-automath: $(HELENADIR)/$(AUTOMATH)
234 @echo " INSTALL $(notdir $<)"
235 $(H)scp $< $(DOWNDIR)
237 install-matita: $(MATITA:%=$(HELENADIR)/%)
238 @echo " INSTALL matita"
239 $(H)tar -C $(HELENADIR) -cjf $(DOWNDIR)/grundlagen_2.tar.bz2 $(MATITA)
241 install-1: etc/coq/ld_731/contrib/lambdadelta.tar.gz
243 $(H)scp $< $(DOWNDIR)/lambdadelta_1.tar.gz
247 $(H)ssh $(REMOTE) "cd $(RSTATICDIR)/coq && tar -xjf ../../../lambdadelta/download/lambdadelta_1A.tar.bz2 && . ../../../lambdadelta/etc/to_text.sh v"
249 install-v: $(HELENADIR)/$(COQ)
250 @echo " INSTALL $(notdir $<)"
251 $(H)scp $< $(DOWNDIR)
254 @echo " UPDATE $(RHOMEDIR)/css/"
255 $(H)scp -q -r css $(RHOMEDIR)
258 @echo " UPDATE $(RHOMEDIR)/images/"
259 $(H)scp -q -r images $(RHOMEDIR)
262 @echo " UPDATE $(RHOMEDIR)/download/"
263 $(H)scp -q -r download $(RHOMEDIR)
267 # $(H)mkdir -p $(LDDLDIR)/$(@D)
268 # $(H)$(XSLT) --novalid $(XSLT_OUT) $(LDDLDIR)/$@.ldw.xml $(XSLT_XSL) $(XSLTDIR)/lddl.xsl $(XSLT_IN) $(XMLDIR)/$@.xml