blob: b977c8558b2ec45373ebba159555c4f8385b1100 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# -*-Makefile-*-
# title specific top level makefile for LilyPond
# subdir level:
#
depth = .
#
# descent order into subdirectories
#
SUBDIRS = buildscripts python scripts \
elisp \
flower lily \
mf ly tex ps scm \
po make \
cygwin debian stepmake \
Documentation input \
vim
#
SCRIPTS = configure aclocal.m4 autogen.sh lexer-gcc-3.1.sh
README_FILES = ChangeLog COPYING DEDICATION ROADMAP THANKS
README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt NEWS.txt
IN_FILES := $(wildcard *.in)
PATCH_FILES = emacsclient.patch server.el.patch darwin.patch
EXTRA_DIST_FILES = VERSION .cvsignore $(README_FILES) $(SCRIPTS) $(IN_FILES) \
$(PATCH_FILES)
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
INSTALLATION_DIR=$(local_lilypond_datadir)
INSTALLATION_FILES=$(config_make) VERSION
# bootstrap stepmake:
#
STEPMAKE_TEMPLATES=toplevel po install
include $(depth)/make/stepmake.make
doc:
$(MAKE) -C Documentation
install-WWW:
-$(INSTALL) -m 755 -d $(webdir)
tar -C $(webdir)/ -xzf $(outdir)/web.tar.gz
# install-WWW does not recurse; fake it visiting Documentation/user manually
$(MAKE) -C Documentation/user local-install-WWW
web-install:
$(MAKE) out=www install-WWW
$(MAKE) out=www
uninstall-WWW:
#TODO
web-uninstall:
$(MAKE) out=www uninstall-WWW=
local-install:
$(INSTALL) -d $(local_lilypond_datadir)
final-install:
@echo
@echo " *** Before running, buildscripts/out/lilypond-{profile,login}"
@echo " *** must be run. You're advised to source these scripts from your "
@echo " *** login scripts. For more information, see Invoking LilyPond in the manual."
@echo
web-ext = gz html midi pdf png txt ly
footify = MAILADDRESS=bug-lilypond@gnu.org $(PYTHON) $(step-bindir)/add-html-footer.py --name $(PACKAGE_NAME) --version $(TOPLEVEL_VERSION)
local-WWW-post:
$(PYTHON) $(buildscript-dir)/mutopia-index.py -o $(builddir)/examples.html ./
cd $(builddir) && $(footify) `$(FIND) . -name '*.html' -print`
cd $(builddir) && rm -f `find . -name \*.html~ -print`
cd $(builddir) && find Documentation input \
$(web-ext:%=-path '*/out-www/*.%' -or) -false \
> $(outdir)/weblist
echo '<META HTTP-EQUIV="refresh" content="0;URL=Documentation/out-www/index.html">' > $(builddir)/index.html
echo '<html><body>Redirecting to the documentation index...</body></html>' >> $(builddir)/index.html
cd $(builddir) && ls *.html >> $(outdir)/weblist
cat $(outdir)/weblist | (cd $(builddir); GZIP=-9v tar -czf $(outdir)/web.tar.gz -T -)
src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh
web-clean:
$(MAKE) out=www clean
$(MAKE) $(builddir)/share/lilypond-force
default: $(config_h) builddir-setup
builddir-setup: $(builddir)/share/lilypond-force
PO_FILES = $(wildcard $(srcdir)/po/*.po)
HELP_CATALOGS = $(PO_FILES:$(srcdir)/po/%.po=%)
CATALOGS = $(HELP_CATALOGS:lilypond=)
$(builddir)/share/lilypond-force:
# Preparing LilyPond tree for builddir exec
cd $(builddir) && rm -rf lib share
mkdir -p $(builddir)/lib/lilypond
mkdir -p $(builddir)/share/lilypond
mkdir -p $(builddir)/share/lilypond/elisp
mkdir -p $(builddir)/share/lilypond/fonts
mkdir -p $(builddir)/share/lilypond/tex
cd $(builddir)/lib/lilypond && \
ln -s ../../python/$(outconfbase) python
cd $(builddir)/share/lilypond && \
ln -s $(abs-srcdir)/ly ly && \
ln -s ../../mf/$(outconfbase) dvips && \
ln -s ../../mf/$(outconfbase) afm && \
ln -s ../../mf/$(outconfbase) tfm && \
ln -s $(abs-srcdir)/mf && \
ln -s $(abs-srcdir)/ps && \
ln -s ../../python/$(outconfbase) python && \
ln -s $(abs-srcdir)/scm
cd $(builddir)/share/lilypond/tex && \
ln -s $(abs-srcdir)/tex source && \
ln -s ../../../mf/$(outconfbase) generate
cd $(builddir)/share/lilypond/fonts && \
ln -s $(abs-srcdir)/mf source && \
ln -s ../../../mf/$(outconfbase) afm && \
ln -s ../../../mf/$(outconfbase) tfm && \
ln -s ../../../mf/$(outconfbase) type1
cd $(builddir)/share/lilypond/elisp && \
ln -sf ../../../elisp/$(outconfbase)/lilypond.words.el . && \
ln -s $(abs-srcdir)/elisp/*.el .
$(foreach i,$(CATALOGS), \
mkdir -p $(builddir)/share/locale/$i/LC_MESSAGES && \
cd $(builddir)/share/locale/$i/LC_MESSAGES && \
ln -fs ../../../../po/$(outconfbase)/$i.mo lilypond.mo &&) true
touch $@
local-clean: builddir-setup-clean
builddir-setup-clean:
cd $(builddir) && rm -rf share
$(config_h): config.hh.in
#
# this is to prevent people from getting
# undefined symbols when we add them to config.h.in,
# and they blindly run "cvs update; make".
#
@echo
@echo ' *** $(config_h) is out of date'
@echo ' *** Remove it and rerun autogen:'
@echo ' rm $(config_h); ./autogen.sh'
@echo
@false
|