1 # Documentation/tex/Makefile
6 LATEX_FILES
=$(wildcard *.latex
)
9 DVI_FILES
= $(addprefix $(outdir
)/, $(TELY_FILES
:.tely
=.
dvi))
11 EXTRA_DIST_FILES
= $(LATEX_FILES
)
13 HTML_FILES
= $(addprefix $(outdir
)/, $(TELY_FILES
:.tely
=.html
))
15 PS_FILES
= $(DVI_FILES
:.
dvi=.ps
)
16 PDF_FILES
= $(DVI_FILES
:.
dvi=.pdf
)
18 PS_GZ_FILES
= $(addsuffix .gz
, $(PS_FILES
))
20 INFO_DOCS
= lilypond lilypond-internals music-glossary
21 INFO_FILES
= $(INFO_DOCS
:%=$(outdir
)/%.
info)
23 STEPMAKE_TEMPLATES
=tex texinfo documentation
24 LOCALSTEPMAKE_TEMPLATES
=lilypond ly
25 LILYPOND_BOOK_FLAGS
=--extra-options
'-e "(ly-set-option (quote internal-type-checking) \#t)"'
27 include $(depth
)/make
/stepmake.make
30 # emacs cannot fix the menu structure when @mbinclude is used
31 # lilypond.tely uses mbinclude
32 TEXINFO_SOURCES
:= $(filter-out lilypond.tely
, $(TEXINFO_SOURCES
))
38 # Cancel the default info generation rule. We want to generate info
39 # from `.nexi', making sure we don't run LilyPond for inline pictures,
40 # when just generating info:
42 $(outdir
)/%.
info: $(outdir
)/%.texi
46 # Info is now built by default via texinfo-rules.
47 # We must build them by default, otherwise they get built during make install
50 local-help
: extra-local-help
54 dvi update dvi documents\n\
55 info update info pages\n\
56 ps update PostScript documents\n\
59 # Generic rule using % twice not possible?
60 # $(outdir)/%/%.html: $(outdir)/%.texi
61 $(outdir
)/lilypond
/lilypond.html
: $(outdir
)/lilypond.texi
63 $(MAKEINFO
) --output
=$* --html
$<
64 -cp
-f
$(outdir
)/*.png
$(outdir
)/lilypond
65 -cp
-f
$(outdir
)/lilypond
/index.html
$@
66 $(deep-footify
) $(shell find
$(outdir
)/$(*F
)/*.html
)
68 $(outdir
)/lilypond-internals
/lilypond-internals.html
: $(outdir
)/lilypond-internals.texi
70 $(MAKEINFO
) --output
=$* --html
$<
71 -cp
-f
$(outdir
)/lilypond-internals
/index.html
$@
72 $(deep-footify
) $(shell find
$(outdir
)/$(*F
)/*.html
)
74 ifeq ($(SPLITTING_MAKEINFO
),yes
)
76 DEEP_HTML_FILES
= $(outdir
)/lilypond
/lilypond.html
$(outdir
)/lilypond-internals
/lilypond-internals.html
80 # Links referred to by Documentation index
81 LILYPOND_LINKS
=Reference-Manual.html Tutorial.html Ly2dvi.html Midi2ly.html
83 local-WWW
: deep-symlinks
86 mkdir
-p
$(outdir
)/lilypond
87 cd
$(outdir
)/lilypond
&& $(foreach i
, $(LILYPOND_LINKS
),\
88 rm -f
$(i
) && ln
-s lilypond.html
$(i
) &&) true
93 local-WWW
: $(HTML_FILES
) $(datafiles
) $(PDF_FILES
) $(PS_GZ_FILES
) $(DEEP_HTML_FILES
) info-dir
95 local-WWW-clean
: deep-WWW-clean
98 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
101 $(SHELL
) $(buildscript-dir
)/install-info-html.sh
--dir=$(outdir
) lilypond lilypond-internals
106 $(outdir
)/%.bib
: %.bib
108 # we want footers even if website builds (or is built) partly
112 rm -f fonts.aux fonts.log feta
*.tfm feta
*.
*pk
113 rm -rf
$(outdir
)/lilypond
$(outdir
)/lilypond-internals
115 #$(outdir)/lilypond.nexi: $(outdir)/interfaces.itexi
116 #$(outdir)/lilypond.texi: $(outdir)/interfaces.itexi
118 # Rules for the automatically generated documentation
119 # When cross-compiling, we don't have lilypond, so we fake
123 # there used to be a dependency on a dummy target, to force a rebuild of lilypond-internals every time.
124 # however, this triggers compilation during install, which is a bad thing (tm).
126 $(outdir
)/lilypond-internals.nexi
$(outdir
)/lilypond-internals.texi
: $(builddir
)/lily
/$(outconfbase
)/lilypond
127 cd
$(outdir
) && $(builddir
)/lily
/$(outconfbase
)/lilypond
--verbose
$(abs-srcdir
)/ly
/generate-documentation
128 -ln
$(outdir
)/lilypond-internals.texi
$(outdir
)/lilypond-internals.nexi
132 $(outdir
)/interfaces.itexi
: dummy
133 cd
$(outdir
) && $(builddir
)/lily
/$(outconfbase
)/lilypond
$(abs-srcdir
)/ly
/generate-interface-doc
137 $(outdir
)/lilypond-internals.nexi
$(outdir
)/lilypond-internals.texi
:
139 touch
$(outdir
)/$(*F
).nexi
141 $(outdir
)/interfaces.itexi
:
142 cp dummy-interfaces.itexi
$@