#
SUBDIRS = buildscripts scripts flower lily \
mf ly tex ps scm \
- python po make intl \
- debian $(builddir)/stepmake \
- Documentation input \
- mutopia
+ python po make \
+ cygwin debian $(builddir)/stepmake \
+ Documentation input
#
SCRIPTS = configure aclocal.m4 autogen.sh
README_FILES = ChangeLog CHANGES COPYING DEDICATION NEWS README.mandrake ROADMAP
README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt FAQ.txt
IN_FILES := $(wildcard *.in)
-EXTRA_DIST_FILES = $(wildcard *.el) vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch lexer-gcc-3.0.patch darwin.patch .cvsignore
+EXTRA_DIST_FILES = $(wildcard *.el) vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch lexer-gcc-3.0.patch darwin.patch .cvsignore lexer-gcc-3.1.sh
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
-INSTALLATION_DIR=$(datadir)
+INSTALLATION_DIR=$(local_lilypond_datadir)
INSTALLATION_FILES=$(configuration) VERSION
# bootstrap stepmake:
fonts:
$(MAKE) -C $(depth)/mf
-doc: lily fonts
+run-reqs: builddir-setup fonts lily
+web-reqs: run-reqs pfa-fonts
+
+doc: run-reqs
$(MAKE) -C Documentation
-web-doc: pfa-fonts
+web-doc: web-reqs
$(MAKE) out=www -C Documentation WWW
$(MAKE) footify
local-install:
- $(INSTALL) -d $(datadir)
+ $(INSTALL) -d $(local_lilypond_datadir)
ifeq ($(KPATHSEA),0)
- $(foreach i, 1 2 3 4 5, rm -f $(datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(datadir)/tfm.$(i) ; )
+ $(foreach i, 1 2 3 4 5, rm -f $(local_lilypond_datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(local_lilypond_datadir)/tfm.$(i) ; )
endif
-TOP_HTMLS = index.html short-examples.html long-examples.html
-
-short-examples: pfa-fonts
- $(MAKE) out=www -C input WWW
- $(PYTHON) $(buildscript-dir)/mutopia-index.py -o short-examples.html input/
+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
+TOP_HTMLS = index.html examples.html
-long-examples: pfa-fonts
- $(MAKE) out=www -C mutopia WWW
- $(PYTHON) $(buildscript-dir)/mutopia-index.py -o long-examples.html mutopia/
+examples: web-reqs
+ $(MAKE) out=www -C input WWW
+ $(PYTHON) $(buildscript-dir)/mutopia-index.py -o $(builddir)/$@.html input/
lily: lily/$(outdir)/lilypond
lily/$(outdir)/lilypond:
$(MAKE) -C lily
-local-web: fontpaths fonts lily $(TOP_HTMLS:%.html=%) footify do-top-doc top-web
+local-web: web-doc $(TOP_HTMLS:%.html=%) footify do-top-doc top-web
+web-ext = gz html midi pdf png txt
top-web:
cd $(builddir) && rm -f `find . -name \*.html~ -print`
- cd $(builddir) && find `find Documentation input mutopia -type d -name 'out-www'` \
- -not -name '*.dvi' -not -name '*ly' -not -name '*.tex' \
- -not -name '*.ps' -not -name '*.eps' -not -name '*pk' \
- -not -name '*.aux' -not -name '*.cp' -not -name '*.fn' \
- -not -name '*.vr' -not -name '*.yp' -not -name '*.ky' \
- -not -name '*.pg' -not -name '*.tmp' -not -name '*.toc' \
- -not -name '*.fns' -not -name '*.cps' -not -name '*.nexi' \
- -not -name '*.texi' -not -name '*.texidoc' -not -name '*.tp' \
- -not -name '*.pdfps' -not -name '*.eps.bbox' \
- -not -name '*.log' -not -name 'out-www' -not -name '*.dep' \
- > $(outdir)/weblist
+ cd $(builddir) && find Documentation input \
+ $(web-ext:%=-path '*/out-www/*.%' -or) -false \
+ > $(outdir)/weblist
cd $(builddir) && ls *.png *.html >> $(outdir)/weblist
cat $(outdir)/weblist | (cd $(builddir); GZIP=-9v tar -czf $(outdir)/web.tar.gz -T -)
-#WWW: local-WWW
+src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh
+ALL-TAGS:
+ etags $(shell find . $(src-ext:%=-name '*.%' -or) -false | grep -v '/out')
+
+local-WWW:
-html-doc: local-web
web: local-web
-index: local-web
+html-doc: web
+index: web
local-WWW-clean: top-WWW-clean
WWW-clean:
$(MAKE) -C Documentation WWW-clean
$(MAKE) -C input WWW-clean
- $(MAKE) -C mutopia WWW-clean
top-WWW-clean:
- rm -f $(TOP_HTMLS) lily-[0-9]*.png
+ cd $(builddir) && rm -f $(TOP_HTMLS) lily-[0-9]*.png
$(SHELL) $(buildscript-dir)/clean-fonts.sh
-
-
WWW:
-fontpaths:
- -ln -s $(depth)/mf/out dvips
- -mkdir -p fonts
- -rm fonts/source
- -ln -s ../$(depth)/mf fonts/source
- -ln -s ../$(depth)/mf/out fonts/afm
- -ln -s ../$(depth)/mf/out fonts/tfm
- -ln -s ../$(depth)/mf/out fonts/type1
+default: $(config_h) builddir-setup
+
+builddir-setup: $(builddir)/share/lilypond-force
+
+$(builddir)/share/lilypond-force:
+# Preparing LilyPond tree for builddir exec
+ @echo Making $(builddir)/share
+ @cd $(builddir) && rm -rf share
+ @mkdir -p $(builddir)/share/lilypond
+ @mkdir -p $(builddir)/share/lilypond/fonts
+ @mkdir -p $(builddir)/share/lilypond/tex
+ @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 $(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
+
+local-clean: builddir-setup-clean
+builddir-setup-clean:
+ @cd $(builddir) && rm -rf share
+
+$(config_h): configure.in aclocal.m4
+#
+# 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