2 # title specific top level makefile for LilyPond
9 # descent order into subdirectories
11 SUBDIRS
= buildscripts python scripts \
13 flower kpath-guile lily \
16 cygwin debian stepmake \
22 #package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'`
24 SCRIPTS
= configure aclocal.m4 autogen.sh lexer-gcc-3.1.sh Doxyfile
25 README_FILES
= ChangeLog COPYING DEDICATION ROADMAP THANKS HACKING
26 README_TXT_FILES
= AUTHORS.txt README.txt INSTALL.txt NEWS.txt
27 IN_FILES
:= $(wildcard *.in
)
28 PATCH_FILES
= emacsclient.patch server.el.patch darwin.patch
29 EXTRA_DIST_FILES
= VERSION .cvsignore SConstruct \
30 $(README_FILES
) $(SCRIPTS
) $(IN_FILES
) $(PATCH_FILES
)
31 NON_ESSENTIAL_DIST_FILES
= $(README_TXT_FILES
)
32 INSTALLATION_DIR
=$(local_lilypond_datadir
)
33 INSTALLATION_FILES
=$(config_make
) VERSION
37 STEPMAKE_TEMPLATES
=toplevel po
install
38 include $(depth
)/make
/stepmake.make
41 $(MAKE
) -C Documentation
44 -$(INSTALL
) -m
755 -d
$(DESTDIR
)$(webdir
)
45 tar -C
$(webdir
)/ -xzf
$(outdir
)/web.
tar.gz
46 # install-WWW does not recurse; fake it visiting Documentation/user manually
47 $(MAKE
) -C Documentation
/user local-install-WWW
48 $(MAKE
) -C Documentation
/user install-info
51 $(MAKE
) out
=www install-WWW
57 $(MAKE
) out
=www uninstall-WWW
=
60 $(INSTALL
) -d
$(DESTDIR
)$(local_lilypond_datadir
)
65 web-ext
= html midi pdf png txt ly
67 footify
= $(PYTHON
) $(step-bindir
)/add-html-footer.py
--name
$(PACKAGE_NAME
) --version
$(TOPLEVEL_VERSION
)
68 footifymail
= MAILADDRESS
=bug-lilypond@gnu.org
71 # need UTF8 setting in case this is hosted on a website.
72 echo
-e
'AddDefaultCharset utf-8\nAddCharset utf-8 .html\nAddCharset utf-8 .en\nAddCharset utf-8 .nl\nAddCharset utf-8 .txt\n' > $(builddir
)/.htaccess
73 $(PYTHON
) $(buildscript-dir
)/mutopia-index.py
-o
$(builddir
)/examples.html .
/
74 cd
$(builddir
) && $(FIND
) .
-name
'*.html' -print |
$(footifymail
) xargs
$(footify
)
75 cd
$(builddir
) && find .
-name \
*.html~
-print | xargs
rm -f
76 cd
$(builddir
) && find Documentation input \
77 $(web-ext
:%=-path
'*/out-www/*.%' -or
) -type l \
79 echo
'<META HTTP-EQUIV="refresh" content="0;URL=Documentation/out-www/index.html">' > $(builddir
)/index.html
80 echo
'<html><body>Redirecting to the documentation index...</body></html>' >> $(builddir
)/index.html
81 cd
$(builddir
) && ls
*.html
>> $(outdir
)/weblist
82 cat
$(outdir
)/weblist |
(cd
$(builddir
); GZIP
=-9v
tar -czf
$(outdir
)/web.
tar.gz
-T
-)
84 share-prefix
= $(builddir
)/share
85 tree-prefix
= $(builddir
)/share
/lilypond
/$(TOPLEVEL_VERSION
)
87 src-ext
= c
cc yy ll hh icc py scm
tex ps texi itexi tely itely sh
91 $(MAKE
) $(tree-prefix
)/lilypond-force
93 default
: $(config_h
) builddir-setup
95 builddir-setup
: $(tree-prefix
)/lilypond-force
97 PO_FILES
= $(wildcard $(srcdir)/po
/*.po
)
98 HELP_CATALOGS
= $(PO_FILES
:$(srcdir)/po
/%.po
=%)
99 CATALOGS
= $(HELP_CATALOGS
:lilypond
=)
101 $(tree-prefix
)/lilypond-force link-tree
: GNUmakefile
102 # Preparing LilyPond tree for builddir exec
103 cd
$(builddir
) && rm -rf lib share
104 mkdir
-p
$(builddir
)/lib
/$(package
)
105 mkdir
-p
$(tree-prefix
)
106 mkdir
-p
$(tree-prefix
)/dvips
107 mkdir
-p
$(tree-prefix
)/elisp
108 mkdir
-p
$(tree-prefix
)/fonts
109 mkdir
-p
$(tree-prefix
)/fonts
/otf
110 mkdir
-p
$(tree-prefix
)/fonts
/tfm
111 mkdir
-p
$(tree-prefix
)/fonts
/type1
112 mkdir
-p
$(tree-prefix
)/fonts
/svg
113 mkdir
-p
$(tree-prefix
)/fonts
/map
114 mkdir
-p
$(tree-prefix
)/fonts
/enc
115 mkdir
-p
$(tree-prefix
)/tex
116 cd
$(builddir
)/lib
&& \
117 ln
-s ..
/..
/..
/python
/$(outconfbase
) python
118 cd
$(tree-prefix
) && \
119 ln
-s
$(abs-srcdir
)/ly ly
&& \
120 ln
-s
$(abs-srcdir
)/ps
&& \
121 ln
-s ..
/..
/..
/python
/$(outconfbase
) python
&& \
122 ln
-s
$(abs-srcdir
)/scm
&& \
123 ln
-s
$(abs-srcdir
)/scripts scripts
124 cd
$(tree-prefix
)/dvips
&& \
125 ln
-s .
/..
/..
/mf
/$(outconfbase
) mf-out
&& \
126 ln
-s
$(abs-srcdir
)/ps
127 cd
$(tree-prefix
)/tex && \
128 ln
-s
$(abs-srcdir
)/tex source
&& \
129 ln
-s ..
/..
/..
/..
/tex/$(outconfbase
) tex-out
&& \
130 ln
-s ..
/..
/..
/..
/mf
/$(outconfbase
) mf-out
131 -cd
$(tree-prefix
)/fonts
/otf
&& \
132 ln
-s ..
/..
/..
/..
/..
/mf
/$(outconfbase
)/*.otf .
133 -cd
$(tree-prefix
)/fonts
/svg
&& \
134 ln
-s ..
/..
/..
/..
/..
/mf
/$(outconfbase
)/*.svg .
135 -cd
$(tree-prefix
)/fonts
/tfm
&& \
136 ln
-s ..
/..
/..
/..
/..
/mf
/$(outconfbase
)/*.tfm .
137 -cd
$(tree-prefix
)/fonts
/type1
&& \
138 ln
-s ..
/..
/..
/..
/..
/mf
/$(outconfbase
)/*.pfa .
139 cd
$(tree-prefix
)/fonts
&& \
140 ln
-s
$(abs-srcdir
)/mf source
&& \
142 -cd
$(tree-prefix
)/elisp
&& \
143 ln
-sf ..
/..
/..
/..
/..
/elisp
/$(outconfbase
)/lilypond-words.el .
&& \
144 ln
-s
$(abs-srcdir
)/elisp
/*.el .
145 $(foreach i
,$(CATALOGS
), \
146 mkdir
-p
$(share-prefix
)/locale
/$i/LC_MESSAGES
&& \
147 cd
$(share-prefix
)/locale
/$i/LC_MESSAGES
&& \
148 ln
-sf ..
/..
/..
/..
/po
/$(outconfbase
)/$i.mo lilypond.mo
&&) true
150 touch
$(tree-prefix
)/lilypond-force
152 local-clean
: builddir-setup-clean
153 builddir-setup-clean
:
154 cd
$(builddir
) && rm -rf share
156 $(config_h
): config.hh.in
158 # this is to prevent people from getting
159 # undefined symbols when we add them to config.h.in,
160 # and they blindly run "cvs update; make".
163 @echo
' *** $(config_h) is out of date'
164 @echo
' *** Remove it and rerun autogen:'
165 @echo
' rm $(config_h); ./autogen.sh'