################################################################
##### SECURITY -- check these values for lilypond.org #########
################################################################
+
ifeq ($(WEBSITE_ONLY_BUILD),1)
### for lilypond.org
TOP_SRC_DIR=$(HOME)/lilypond/lilypond-git
top-htaccess=$(trusted-dir)/lilypond.org.htaccess
dir-htaccess=$(trusted-dir)/website-dir.htaccess
TEXI2HTML_PROGRAM=$(HOME)/usr/bin/texi2html
- EXAMPLES=$(HOME)/lilypond/media/ly-examples/
+ EXAMPLES=$(HOME)/lilypond/media/ly-examples
PICTURES=$(HOME)/lilypond/media/pictures
+ PYTHON=python
else
### for normal git
- script-dir=$(top-src-dir)/scripts/build/
+ script-dir=$(top-src-dir)/scripts/build
texi2html-init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init
top-htaccess=$(top-src-dir)/Documentation/web/server/lilypond.org.htaccess
dir-htaccess=$(top-src-dir)/Documentation/web/server/website-dir.htaccess
include $(config_make)
# I assume this is run from top-build-dir
- EXAMPLES=Documentation/web/ly-examples/out-www/
- PICTURES=Documentation/pictures/out-www/
+ EXAMPLES=Documentation/web/ly-examples/out-www
+ PICTURES=Documentation/pictures/out-www
endif
+################################################################
+#The 4 lines below present an option to force make website to run
+# quietly only when it is run as make -s website. However, we've
+# decided not to use this switch, and run the scripts quietly all
+# the time
+################################################################
+#quiet-run = $(findstring s, $(MAKEFLAGS))
+#ifeq ($(quiet-run),s)
+# quiet-flag=-q
+#endif
+
+#Nothing clever here - just allows the use of a boolean to control
+# quiet running
+quiet-run = true
+ifeq ($(quiet-run),true)
+ quiet-flag=-q
+endif
################################################################
OUT=out-website
-### only update this when the language compiles correctly!
-# LANGUAGES = (site, de, es, fr, hu, it, ja, nl)
-WEB_LANGS = es fr it nl de
+WEB_LANGS = $(shell MAKEWEB=1 $(PYTHON) $(top-src-dir)/python/langdefs.py)
TEXI2HTML=ONLY_WEB=1 TOP_SRC_DIR=$(top-src-dir) DEPTH=$(depth) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM)
WEB_POST=python $(script-dir)/website_post.py
WEB_BIBS=python $(script-dir)/bib2texi.py
-SERVER_FILES=$(top-src-dir)/Documentation/web/server/
+SERVER_FILES=$(top-src-dir)/Documentation/web/server
# don't include web
MANUALS=$(wildcard $(top-src-dir)/Documentation/*.tely)
website-xrefs: website-version
for l in '' $(WEB_LANGS); do \
+ len="$${#l}" ; \
+ r="$$l"; \
+ if [ "$$len" -gt "0" ] ; then \
+ r="$$r"/; \
+ fi ; \
$(EXTRACT_TEXI_FILENAMES) \
- -I $(top-src-dir)/Documentation/ \
+ -I $(top-src-dir)/Documentation \
-I $(top-src-dir)/Documentation/"$$l" \
-I $(OUT) -o $(OUT) --split=node \
+ --known-missing-files=$(top-src-dir)/scripts/build/website-known-missing-files.txt \
+ $(quiet-flag) \
$(top-src-dir)/Documentation/"$$l"/web.texi ;\
for m in $(MANUALS); do \
n=`echo "$$m" | sed 's/Documentation/Documentation\/'$$l'/'` ; \
d=`basename "$$b" .tely`; \
if [ -e "$$n" ] ; then \
$(EXTRACT_TEXI_FILENAMES) \
- -I $(top-src-dir)/Documentation/ \
+ -I $(top-src-dir)/Documentation \
-I $(top-src-dir)/Documentation/"$$l" \
- -I $(top-src-dir)/Documentation/"$$l"/"$$d"/ \
+ -I $(top-src-dir)/Documentation/"$$r""$$d" \
+ --known-missing-files=$(top-src-dir)/scripts/build/website-known-missing-files.txt \
+ $(quiet-flag) \
-I $(OUT) -o $(OUT) "$$n" ; \
fi ; \
done; \
done;
website-bibs: website-version
- BSTINPUTS=$(top-src-dir)/Documentation/web/ \
+ BSTINPUTS=$(top-src-dir)/Documentation/web \
$(WEB_BIBS) -s web \
+ -s $(top-src-dir)/Documentation/lily-bib \
-o $(OUT)/others-did.itexi \
+ $(quiet-flag) \
$(top-src-dir)/Documentation/web/others-did.bib
- BSTINPUTS=$(top-src-dir)/Documentation/web/ \
+ BSTINPUTS=$(top-src-dir)/Documentation/web \
$(WEB_BIBS) -s web \
+ -s $(top-src-dir)/Documentation/lily-bib \
-o $(OUT)/we-wrote.itexi \
+ $(quiet-flag) \
$(top-src-dir)/Documentation/web/we-wrote.bib
$(TEXI2HTML) --prefix=index \
--split=section \
--I=$(top-src-dir)/Documentation/"$$l" \
- --I=$(top-src-dir)/Documentation/ \
+ --I=$(top-src-dir)/Documentation \
--I=$(OUT) \
$$langopt \
--init-file=$(texi2html-init-file) \
website-css:
- cp $(top-src-dir)/Documentation/css/*.css $(OUT)/website/
+ cp $(top-src-dir)/Documentation/css/*.css $(OUT)/website
website-pictures:
- mkdir -p $(OUT)/website/pictures/
- cp $(PICTURES)/* $(OUT)/website/pictures/
- ln -sf website/pictures $(OUT)/pictures
+ mkdir -p $(OUT)/website/pictures
+ if [ -d $(PICTURES) ]; \
+ then \
+ cp $(PICTURES)/* $(OUT)/website/pictures ; \
+ ln -sf website/pictures $(OUT)/pictures ;\
+ fi
website-examples:
mkdir -p $(OUT)/website/ly-examples
- cp $(EXAMPLES)/* $(OUT)/website/ly-examples
+ if [ -d $(EXAMPLES) ]; \
+ then \
+ cp $(EXAMPLES)/* $(OUT)/website/ly-examples ; \
+ fi
web-post:
- $(WEB_POST) $(OUT)/website/
+ $(WEB_POST) $(OUT)/website
website: website-texinfo website-css website-pictures website-examples web-post
- cp $(SERVER_FILES)/favicon.ico $(OUT)/website/
- cp $(SERVER_FILES)/robots.txt $(OUT)/website/
+ cp $(SERVER_FILES)/favicon.ico $(OUT)/website
+ cp $(SERVER_FILES)/robots.txt $(OUT)/website
cp $(top-htaccess) $(OUT)/.htaccess
cp $(dir-htaccess) $(OUT)/website/.htaccess