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