1 ################################################################
2 # website (without the rest of the docs)
4 ################################################################
5 ##### SECURITY -- check these values for lilypond.org #########
6 ################################################################
7 ifeq ($(WEBSITE_ONLY_BUILD),1)
9 TOP_SRC_DIR=$(HOME)/lilypond/lilypond-git
10 TRUSTED_DIR=$(HOME)/lilypond/trusted-scripts
11 top-src-dir=$(TOP_SRC_DIR)
13 trusted-dir=$(TRUSTED_DIR)
14 script-dir=$(trusted-dir)
15 texi2html-init-file=$(trusted-dir)/lilypond-texi2html.init
16 top-htaccess=$(trusted-dir)/lilypond.org.htaccess
17 dir-htaccess=$(trusted-dir)/website-dir.htaccess
18 TEXI2HTML_PROGRAM=$(HOME)/usr/bin/texi2html
19 EXAMPLES=$(HOME)/lilypond/media/ly-examples
20 PICTURES=$(HOME)/lilypond/media/pictures
23 script-dir=$(top-src-dir)/scripts/build
24 texi2html-init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init
25 top-htaccess=$(top-src-dir)/Documentation/web/server/lilypond.org.htaccess
26 dir-htaccess=$(top-src-dir)/Documentation/web/server/website-dir.htaccess
27 include $(config_make)
28 # I assume this is run from top-build-dir
29 EXAMPLES=Documentation/web/ly-examples/out-www
30 PICTURES=Documentation/pictures/out-www
34 ################################################################
37 ### only update this when the language compiles correctly!
38 # LANGUAGES = (site, cs, de, es, fr, hu, it, ja, nl, zh)
39 #WEB_LANGS = de es fr hu it ja nl zh cs
40 WEB_LANGS = cs de es fr hu it ja nl zh
42 TEXI2HTML=ONLY_WEB=1 TOP_SRC_DIR=$(top-src-dir) DEPTH=$(depth) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM)
44 EXTRACT_TEXI_FILENAMES=python $(script-dir)/extract_texi_filenames.py
45 CREATE_VERSION=python $(script-dir)/create-version-itexi.py
46 CREATE_WEBLINKS=python $(script-dir)/create-weblinks-itexi.py
47 MASS_LINK=python $(script-dir)/mass-link.py
48 WEB_POST=python $(script-dir)/website_post.py
49 WEB_BIBS=python $(script-dir)/bib2texi.py
51 SERVER_FILES=$(top-src-dir)/Documentation/web/server
54 MANUALS=$(wildcard $(top-src-dir)/Documentation/*.tely)
55 MANUALS+=$(top-src-dir)/Documentation/contributor.texi
62 $(CREATE_VERSION) $(top-src-dir) > $(OUT)/version.itexi
63 $(CREATE_WEBLINKS) $(top-src-dir) > $(OUT)/weblinks.itexi
65 website-xrefs: website-version
66 for l in '' $(WEB_LANGS); do \
67 $(EXTRACT_TEXI_FILENAMES) \
68 -I $(top-src-dir)/Documentation \
69 -I $(top-src-dir)/Documentation/"$$l" \
70 -I $(OUT) -o $(OUT) --split=node \
71 $(top-src-dir)/Documentation/"$$l"/web.texi ;\
72 for m in $(MANUALS); do \
73 n=`echo "$$m" | sed 's/Documentation/Documentation\/'$$l'/'` ; \
74 b=`basename "$$n" .texi`; \
75 d=`basename "$$b" .tely`; \
76 if [ -e "$$n" ] ; then \
77 $(EXTRACT_TEXI_FILENAMES) \
78 -I $(top-src-dir)/Documentation \
79 -I $(top-src-dir)/Documentation/"$$l" \
80 -I $(top-src-dir)/Documentation/"$$l"/"$$d" \
81 -I $(OUT) -o $(OUT) "$$n" ; \
86 website-bibs: website-version
87 BSTINPUTS=$(top-src-dir)/Documentation/web \
89 -s $(top-src-dir)/Documentation/lily-bib \
90 -o $(OUT)/others-did.itexi \
91 $(top-src-dir)/Documentation/web/others-did.bib
92 BSTINPUTS=$(top-src-dir)/Documentation/web \
94 -s $(top-src-dir)/Documentation/lily-bib \
95 -o $(OUT)/we-wrote.itexi \
96 $(top-src-dir)/Documentation/web/we-wrote.bib
99 website-texinfo: website-version website-xrefs website-bibs
100 for l in '' $(WEB_LANGS); do \
101 if test -n "$$l"; then \
102 langopt=--lang="$$l"; \
105 $(TEXI2HTML) --prefix=index \
107 --I=$(top-src-dir)/Documentation/"$$l" \
108 --I=$(top-src-dir)/Documentation \
111 --init-file=$(texi2html-init-file) \
113 --output=$(OUT)/"$$l" \
114 $(top-src-dir)/Documentation/"$$l"/web.texi ; \
115 ls $(OUT)/$$l/*.html | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(OUT)/'$$l'/!!g' | xargs $(MASS_LINK) --prepend-suffix="$$langsuf" hard $(OUT)/$$l/ $(OUT)/website/ ; \
120 cp $(top-src-dir)/Documentation/css/*.css $(OUT)/website
123 mkdir -p $(OUT)/website/pictures
124 if [ -d $(PICTURES) ]; \
126 cp $(PICTURES)/* $(OUT)/website/pictures ; \
127 ln -sf website/pictures $(OUT)/pictures ;\
131 mkdir -p $(OUT)/website/ly-examples
132 if [ -d $(EXAMPLES) ]; \
134 cp $(EXAMPLES)/* $(OUT)/website/ly-examples ; \
138 $(WEB_POST) $(OUT)/website
140 website: website-texinfo website-css website-pictures website-examples web-post
141 cp $(SERVER_FILES)/favicon.ico $(OUT)/website
142 cp $(SERVER_FILES)/robots.txt $(OUT)/website
143 cp $(top-htaccess) $(OUT)/.htaccess
144 cp $(dir-htaccess) $(OUT)/website/.htaccess