1 # Documentation/tex/Makefile
6 LATEX_FILES
=$(wildcard *.latex
)
9 DVI_FILES
= $(addprefix $(outdir
)/, $(TELY_FILES
:.tely
=.
dvi))
11 EXTRA_DIST_FILES
= $(LATEX_FILES
) $(wildcard *.itexi
*.itely
)
13 HTML_FILES
= $(addprefix $(outdir
)/, $(TELY_FILES
:.tely
=.html
))
15 PS_FILES
= $(DVI_FILES
:.
dvi=.ps
) $(OUTDOC_FILES
:.doc
=.ps
) $(OUTTEX_FILES
:.
tex=.ps
)
17 PS_GZ_FILES
= $(addsuffix .gz
, $(PS_FILES
))
19 INFO_FILES
= $(addprefix $(outdir
)/, lilypond.
info lilypond-internals.
info)
21 STEPMAKE_TEMPLATES
=tex texinfo documentation
22 LOCALSTEPMAKE_TEMPLATES
=lilypond ly
25 # local-dist: check-info
29 include $(depth
)/make
/stepmake.make
32 # emacs cannot fix the menu structure when @mbinclude is used
33 # lilypond.tely uses mbinclude
34 TEXINFO_SOURCES
:= $(filter-out lilypond.tely
, $(TEXINFO_SOURCES
))
41 # Cancel default info generation rule. We want to generate info from
42 # `.nexi', making sure we don't run LilyPond for inline pictures, when
44 $(outdir
)/%.
info: $(outdir
)/%.texi
48 # Info is now built by default via texinfo-rules.
49 # We must build them by default, otherwise they get built during make install
53 # The new pretest version of makeinfo, 4.0a splits html files into their own
54 # directory. Available from
55 # ftp://texinfo.org/texinfo/pretests/texinfo-4.0a.tar.gz
56 SPLITTING_MAKEINFO
= $(shell makeinfo --version | egrep
'4.0((.jcn[2,3])|a|b)')
59 # Generic rule using % twice not possible?
60 # $(outdir)/%/%.html: $(outdir)/%.texi
61 $(outdir
)/lilypond
/lilypond.html
: $(outdir
)/lilypond.texi
62 $(MAKEINFO
) --output
=$@
--html
$<
63 -cp
-f
$(outdir
)/*.png
$(outdir
)/lilypond
64 -cp
-f
$(outdir
)/lilypond
/index.html
$@
65 $(deep-footify
) $(shell find
$(outdir
)/$(*F
)/*.html
)
67 $(outdir
)/lilypond-internals
/lilypond-internals.html
: $(outdir
)/lilypond-internals.texi
68 $(MAKEINFO
) --output
=$@
--html
$<
69 -cp
-f
$(outdir
)/*.png
$(outdir
)/lilypond-internals
70 -cp
-f
$(outdir
)/lilypond-internals
/index.html
$@
71 $(deep-footify
) $(shell find
$(outdir
)/$(*F
)/*.html
)
73 ifneq ($(SPLITTING_MAKEINFO
),)
75 DEEP_HTML_FILES
= $(outdir
)/lilypond
/lilypond.html
$(outdir
)/lilypond-internals
/lilypond-internals.html
79 DEEP_HTML_FILES
= $(outdir
)/lilypond.html
$(outdir
)/lilypond-internals.html
81 local-WWW
: deep-symlinks
85 # Links referred to by Documentation index
86 LILYPOND_LINKS
=Reference-Manual.html Features.html Ly2dvi.html Midi2ly.html
89 cd
$(outdir
) && rm -f lilypond
&& ln
-s . lilypond
90 cd
$(outdir
) && rm -f lilypond-internals
&& ln
-s . lilypond-internals
91 cd
$(outdir
) && $(foreach i
, $(LILYPOND_LINKS
),\
92 rm -f
$(i
) && ln
-s lilypond.html
$(i
) &&) true
96 local-WWW
: $(HTML_FILES
) $(datafiles
) $(PS_GZ_FILES
) $(DEEP_HTML_FILES
) info-dir
98 local-WWW-clean
: deep-WWW-clean
101 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
104 $(SHELL
) $(buildscript-dir
)/install-info-html.sh
--dir=$(outdir
) lilypond lilypond-internals
109 $(outdir
)/%.bib
: %.bib
111 # we want footers even if website builds (or is built) partly
115 rm -f fonts.aux fonts.log feta
*.tfm feta
*.
*pk
116 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
118 #$(outdir)/lilypond.nexi: $(outdir)/interfaces.itexi
119 #$(outdir)/lilypond.texi: $(outdir)/interfaces.itexi
121 # Rules for the automatically generated documentation
122 # When cross-compiling, we don't have lilypond, so we fake
126 # there used to be a dependency on a dummy target, to force a rebuild of lilypond-internals every time.
127 # however, this triggers compilation during install, which is a bad thing (tm).
129 $(outdir
)/lilypond-internals.nexi
$(outdir
)/lilypond-internals.texi
: $(depth
)/$(builddir
)/lily
/$(outconfbase
)/lilypond
130 cd
$(outdir
) && ..
/$(depth
)/$(builddir
)/lily
/$(outconfbase
)/lilypond ..
/$(src-depth
)/ly
/generate-documentation
131 -ln
$(outdir
)/lilypond-internals.texi
$(outdir
)/lilypond-internals.nexi
135 $(outdir
)/interfaces.itexi
: dummy
136 cd
$(outdir
) && ..
/$(depth
)/$(builddir
)/lily
/$(outconfbase
)/lilypond ..
/$(src-depth
)/ly
/generate-interface-doc
140 $(outdir
)/lilypond-internals.nexi
$(outdir
)/lilypond-internals.texi
:
142 touch
$(outdir
)/$(*F
).nexi
144 $(outdir
)/interfaces.itexi
:
145 cp dummy-interfaces.itexi
$@