3 LATEX_FILES
=$(call src-wildcard
,*.latex
)
6 DVI_FILES
= $(TELY_FILES
:%.tely
=$(outdir
)/%.
dvi)
8 EXTRA_DIST_FILES
= $(LATEX_FILES
) $(IMAGES
) README.txt
9 IMAGES
=$(call src-wildcard
,*.png
)
11 OUT_EPS_IMAGES
=$(IMAGES
:%.png
=$(outdir
)/%.eps
)
12 OUT_PNG_IMAGES
=$(IMAGES
:%=$(outdir
)/%)
13 OUT_TEXI_FILES
=$(ITEXI_FILES
:%.itexi
=$(outdir
)/%.texi
)\
14 $(ITELY_FILES
:%.itely
=$(outdir
)/%.texi
)
15 HTML_FILES
= $(TELY_FILES
:%.tely
=$(outdir
)/%.html
)\
16 $(outdir
)/lilypond-internals.html
18 PS_FILES
= $(DVI_FILES
:.
dvi=.ps
)
19 PDF_FILES
= $(DVI_FILES
:.
dvi=.pdf
)
21 PS_GZ_FILES
= $(addsuffix .gz
, $(PS_FILES
))
23 INFO_DOCS
= lilypond lilypond-internals music-glossary
24 INFO_FILES
= $(INFO_DOCS
:%=$(outdir
)/%.
info)
26 STEPMAKE_TEMPLATES
=tex texinfo omf documentation
28 OMF_FILES
+= $(outdir
)/lilypond-internals.html.omf
30 LOCALSTEPMAKE_TEMPLATES
=lilypond ly
33 TEXINPUTS
=$(top-src-dir
)/tex::
36 include $(depth
)/make
/stepmake.make
45 @echo
export PATH
=$(PATH
)
46 @echo
export LILYPONDPREFIX
=$(LILYPONDPREFIX
)
47 @echo
export PYTHONPATH
=$(PYTHONPATH
)
49 xml
: $(outdir
)/lilypond
/lilypond.xml
$(outdir
)/lilypond-internals
/lilypond-internals.xml
51 # There are two modes for info: with and without images.
54 # This builds all .info targets with images, in out-www.
55 # Viewawble with a recent Emacs, doing: M-x info out-www/lilypond.info
57 # Cancel the special, non-image info generation rule that skips images:
58 $(outdir
)/%.
info: $(outdir
)/%.nexi
60 local-install-info
: info
61 -$(INSTALL
) -d
$(DESTDIR
)$(package_infodir
)
62 ifneq ($(patsubst %/local
,%,$(DESTDIR
)$(prefix)),/usr
)
63 ## Can not have absolute symlinks because some binary packages build schemes
64 ## install files in nonstandard root. Best we can do is to notify the
65 ## builder or packager.
67 @echo
"***************************************************************"
68 @echo
"Please add or update the LilyPond direntries, do"
70 @echo
" install-info --info-dir=$(infodir) $(outdir)/lilypond.info"
72 @echo
"For images in the INFO docs to work, do: "
74 @echo
" (cd $(package_infodir) && ln -sf ../../doc/lilypond/Documentation/user/*png .)"
75 @echo
"or add something like that to the postinstall script."
78 -$(INSTALL
) -d
$(DESTDIR
)$(package_infodir
)
79 -install-info
--remove
--info-dir
=$(infodir) $(outdir
)/lilypond.
info
80 install-info
--info-dir
=$(infodir) $(outdir
)/lilypond.
info
81 (cd
$(package_infodir
) && ln
-sf
$(webdir
)/Documentation
/user
/*png .
)
85 rm -f
$(package_infodir
)/*.png
89 # Cancel the default info generation rule that generates images:
90 $(outdir
)/%.
info: # $(outdir)/%.texi
92 local-install-info
: info
93 -$(INSTALL
) -d
$(DESTDIR
)$(package_infodir
)
94 ifneq ($(patsubst %/local
,%,$(DESTDIR
)$(prefix)),/usr
)
95 ## Can not have absolute symlinks because some binary packages build schemes
96 ## install files in nonstandard root. Best we can do is to notify the
97 ## builder or packager.
99 @echo
"***************************************************************"
100 @echo
"Please add or update the LilyPond direntries, do"
102 @echo
" install-info --info-dir=$(infodir) out/lilypond.info"
104 @echo
"For images in the INFO docs to work, do"
106 @echo
" make out=www install-info "
108 @echo
"and read the extra instructions."
111 -$(INSTALL
) -d
$(DESTDIR
)$(package_infodir
)
112 -install-info
--remove
--info-dir
=$(infodir) $(outdir
)/lilypond.
info
113 install-info
--info-dir
=$(infodir) $(outdir
)/lilypond.
info
115 @echo
"***************************************************************"
116 @echo
"For images in the INFO docs to work, do"
118 @echo
" make out=www install-info "
125 # All web targets, except info image symlinks and info docs are
126 # installed in non-recursing target from TOP-SRC-DIR
127 local-install-WWW
: local-install-info
128 local-uninstall-WWW
: local-uninstall-info
133 local-help
: extra-local-help
137 dvi update dvi documents\n\
138 info update info pages\n\
139 ps update PostScript documents\n\
140 xml update Docbook xml documentation\n\
143 # Generic rule using % twice not possible?
144 # $(outdir)/%/%.html: $(outdir)/%.texi
145 $(outdir
)/lilypond.texi
: $(outdir
)/lilypond-internals.texi
146 $(outdir
)/lilypond.nexi
: $(outdir
)/lilypond-internals.texi
149 # The split user manual
151 $(outdir
)/lilypond
/index.html
: $(outdir
)/lilypond.texi
$(OUT_PNG_IMAGES
)
153 $(MAKEINFO
) -I
$(outdir
) --output
=$(outdir
)/lilypond
--css-include
=$(top-src-dir
)/Documentation
/texinfo.css
--html
$<
154 find
$(outdir
)/lilypond
/ -name
'*'.png
-o
-name
'*'.ly | xargs
rm -f
155 # symbolic links to save space
156 (cd
$(outdir
)/lilypond
/ ; ln
-sf ..
/*.png ..
/*.ly .
)
159 # One big page manual
161 $(outdir
)/lilypond.html
: $(outdir
)/lilypond.texi
$(OUT_PNG_IMAGES
)
162 $(MAKEINFO
) -I
$(outdir
) --output
=$@
--css-include
=$(top-src-dir
)/Documentation
/texinfo.css
--html
--no-split
--no-headers
$<
165 # The split internals reference
167 $(outdir
)/lilypond-internals
/index.html
: $(outdir
)/lilypond-internals.texi
169 $(MAKEINFO
) --output
=$(outdir
)/lilypond-internals
--css-include
=$(top-src-dir
)/Documentation
/texinfo.css
--html
$<
172 # One big page internals reference
174 $(outdir
)/lilypond-internals.html
: $(outdir
)/lilypond-internals.texi
175 $(MAKEINFO
) --output
=$@
--css-include
=$(top-src-dir
)/Documentation
/texinfo.css
--html
--no-split
--no-headers
$<
180 $(outdir
)/music-glossary
/index.html
: $(outdir
)/music-glossary.texi
182 $(MAKEINFO
) --output
=$(outdir
)/music-glossary
--css-include
=$(top-src-dir
)/Documentation
/texinfo.css
--html
$<
183 find
$(outdir
)/music-glossary
/ -name
'*'.png
-o
-name
'*'.ly | xargs
rm -f
184 # symbolic links to save space
185 (cd
$(outdir
)/music-glossary
/ ; ln
-sf ..
/*.png ..
/*.ly .
)
187 $(outdir
)/lilypond.xml
: $(outdir
)/lilypond.texi
189 $(MAKEINFO
) -I
$(outdir
) --output
=$@
--docbook
$<
191 $(outdir
)/lilypond-internals
/lilypond-internals.xml
: $(outdir
)/lilypond-internals.texi
193 $(MAKEINFO
) --output
=$(outdir
)/lilypond-internals
--docbook
$<
195 $(outdir
)/lilypond.
dvi: $(OUT_EPS_IMAGES
) $(OUT_PNG_IMAGES
)
197 $(outdir
)/%.png
: %.png
198 convert
-geometry
50x50
% $< $@
200 $(outdir
)/%.eps
: %.png
204 $(outdir
)/lilypond
/index.html\
205 $(outdir
)/lilypond-internals
/index.html\
206 $(outdir
)/music-glossary
/index.html
208 # Symlinks to refer to external source documents from split and non-split HTML
209 source-links
= $(outdir
)/source
$(outdir
)/lilypond
/source
$(outdir
)/music-glossary
/source
215 $(outdir
)/lilypond
/source
:
217 ln
-sf ..
/..
/..
/ $(@
)
219 $(outdir
)/music-glossary
/source
:
221 ln
-sf ..
/..
/..
/ $(@
)
223 local-WWW
: $(HTML_FILES
) $(DEEP_HTML_FILES
)\
224 $(datafiles
) $(PDF_FILES
) $(source-links
) info info-dir
226 local-WWW-clean
: deep-WWW-clean
229 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
232 $(SHELL
) $(buildscript-dir
)/install-info-html.sh
--dir=$(outdir
) lilypond lilypond-internals music-glossary
235 $(outdir
)/%.bib
: %.bib
239 rm -f fonts.aux fonts.log feta
*.tfm feta
*.
*pk
240 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
$(outdir
)/music-glossary
243 $(top-build-dir
)/mf
/$(outconfbase
)/feta16list.ly
:
244 $(MAKE
) -C
$(top-src-dir
)/mf
246 $(outdir
)/lilypond.texi
: $(ITELY_FILES
) $(ITEXI_FILES
)
247 $(outdir
)/lilypond.nexi
: $(ITELY_FILES
) $(ITEXI_FILES
)
249 # Prevent building music-glossary.texi from default target
250 $(outdir
)/music-glossary.nexi
:
252 # Rules for the automatically generated documentation
254 # There used to be a dependency on a dummy target, to force a rebuild
255 # of lilypond-internals every time. however, this triggers
256 # compilation during install, which is a bad thing (tm).
258 $(outdir
)/lilypond-internals.nexi
$(outdir
)/lilypond-internals.texi
: $(LILYPOND_BINARY
)
259 cd
$(outdir
) && $(LILYPOND_BINARY
) --verbose
$(top-src-dir
)/ly
/generate-documentation
260 rm -f
$(outdir
)/lilypond-internals.nexi
261 -ln
$(outdir
)/lilypond-internals.texi
$(outdir
)/lilypond-internals.nexi
265 $(outdir
)/interfaces.itexi
: dummy
266 cd
$(outdir
) && lilypond
$(top-src-dir
)/ly
/generate-interface-doc
269 local-clean
: local-delete
272 find
$(outdir
)/ -name
'lily-[0-9]*' | xargs
rm -f