]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.49 release/0.1.49
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 17 Mar 1998 08:53:34 +0000 (09:53 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 17 Mar 1998 08:53:34 +0000 (09:53 +0100)
244 files changed:
AUTHORS [new file with mode: 0644]
AUTHORS.txt [deleted file]
BUGS
ChangeLog [new file with mode: 0644]
Documentation/INSTALL.pod
Documentation/Makefile [deleted file]
Documentation/Makefile.am [new file with mode: 0644]
Documentation/Makefile.am.wild [new file with mode: 0644]
Documentation/Makefile.in [new file with mode: 0644]
Documentation/PATCHES.pod [new file with mode: 0644]
Documentation/Rules.make
Documentation/faq.pod
Documentation/out/dummy.dep [deleted file]
INSTALL [new file with mode: 0644]
INSTALL.txt [deleted file]
Makefile.am [new file with mode: 0644]
Makefile.am.wild [new file with mode: 0644]
Makefile.in [new file with mode: 0644]
NEWS
PATCHES [new file with mode: 0644]
TODO
VERSION
acinclude.m4 [new file with mode: 0644]
aclocal.m4
bin/Makefile [deleted file]
bin/Makefile.am [new file with mode: 0644]
bin/Makefile.am.wild [new file with mode: 0644]
bin/Makefile.in [new file with mode: 0644]
bin/add-URLs.in [new file with mode: 0644]
bin/add-URLs.sh [deleted file]
bin/autowild [new file with mode: 0755]
bin/clean-diaper.in [new file with mode: 0644]
bin/clean-diaper.sh [deleted file]
bin/clean-embeds.in [new file with mode: 0644]
bin/clean-embeds.sh [deleted file]
bin/clean-fonts.in [new file with mode: 0644]
bin/clean-fonts.sh [deleted file]
bin/conflily.in [new file with mode: 0644]
bin/conflily.sh [deleted file]
bin/convert-mudela.in [new file with mode: 0644]
bin/convert-mudela.pl [deleted file]
bin/convert-mudela.py [deleted file]
bin/cvm.in [new file with mode: 0644]
bin/cvm.py [deleted file]
bin/find-typenames.in [new file with mode: 0644]
bin/find-typenames.pl [deleted file]
bin/foo.in [new file with mode: 0755]
bin/foo.sh [deleted file]
bin/genheader.in [new file with mode: 0644]
bin/genheader.py [deleted file]
bin/lilypython.py
bin/ly2dvi.in [new file with mode: 0644]
bin/ly2dvi.sh [deleted file]
bin/make-docxx.in [new file with mode: 0644]
bin/make-docxx.sh [deleted file]
bin/make-examples.in [new file with mode: 0644]
bin/make-examples.sh [deleted file]
bin/make-patch.in [new file with mode: 0644]
bin/make-patch.py [deleted file]
bin/make-version.in [new file with mode: 0644]
bin/make-version.sh [deleted file]
bin/make-website.in [new file with mode: 0644]
bin/make-website.py [deleted file]
bin/makepatch.py [deleted file]
bin/mf-deps.in [new file with mode: 0644]
bin/mf-deps.py [deleted file]
bin/mf-to-table.in [new file with mode: 0644]
bin/mf-to-table.py [deleted file]
bin/mudela-book.in [new file with mode: 0644]
bin/mudela-book.pl [deleted file]
bin/out/dummy.dep [deleted file]
bin/ps-to-gifs.in [new file with mode: 0755]
bin/ps-to-gifs.sh [deleted file]
bin/release.in [new file with mode: 0644]
bin/release.py [deleted file]
bin/show-latest.in [new file with mode: 0644]
bin/show-latest.pl [deleted file]
bin/wild-perl [new file with mode: 0644]
configure
configure.in
debian/Makefile [deleted file]
debian/Makefile.am [new file with mode: 0644]
debian/Makefile.am.wild [new file with mode: 0644]
debian/Makefile.in [new file with mode: 0644]
debian/out/dummy.dep [deleted file]
flower/AUTHORS [new file with mode: 0644]
flower/COPYING [new file with mode: 0644]
flower/ChangeLog [new file with mode: 0644]
flower/Flower-flags.make.in [deleted file]
flower/INSTALL [new file with mode: 0644]
flower/Makefile [deleted file]
flower/Makefile.am [new file with mode: 0644]
flower/Makefile.am.wild [new file with mode: 0644]
flower/Makefile.in [new file with mode: 0644]
flower/NEWS
flower/VERSION
flower/aclocal.m4
flower/config.hh.in
flower/configure
flower/configure.in
flower/flower-version.cc
flower/include/Makefile [deleted file]
flower/include/Makefile.am [new file with mode: 0644]
flower/include/Makefile.am.wild [new file with mode: 0644]
flower/include/Makefile.in [new file with mode: 0644]
flower/include/libc-extension.hh
flower/include/out/dummy.dep [deleted file]
flower/include/rational.hh
flower/include/varray.hh
flower/missing [new file with mode: 0644]
flower/mkinstalldirs [new file with mode: 0644]
flower/out/dummy.dep [deleted file]
flower/rational.cc
flower/stamp-h.in [new file with mode: 0644]
flower/test/Makefile [deleted file]
flower/test/Makefile.am [new file with mode: 0644]
flower/test/Makefile.am.wild [new file with mode: 0644]
flower/test/Makefile.in [new file with mode: 0644]
flower/test/out/dummy.dep [deleted file]
flower/test/rattest.cc
include/Makefile.in [new file with mode: 0644]
init/Makefile [deleted file]
init/Makefile.am [new file with mode: 0644]
init/Makefile.am.wild [new file with mode: 0644]
init/Makefile.in [new file with mode: 0644]
init/feta11.ly
init/feta13.ly
init/feta16.ly
init/feta19.ly
init/feta20.ly
init/feta23.ly
init/feta26.ly
init/out/dummy.dep [deleted file]
input/Makefile [deleted file]
input/Makefile.am [new file with mode: 0644]
input/Makefile.am.wild [new file with mode: 0644]
input/Makefile.in [new file with mode: 0644]
input/dummy.m4 [new file with mode: 0644]
input/dummy.tex [new file with mode: 0644]
input/gourlay.ly
input/out/dummy.dep [deleted file]
lib/Makefile [deleted file]
lib/Makefile.am [new file with mode: 0644]
lib/Makefile.am.wild [new file with mode: 0644]
lib/Makefile.in [new file with mode: 0644]
lib/config.hh.in
lib/include/Makefile [deleted file]
lib/include/Makefile.am [new file with mode: 0644]
lib/include/Makefile.am.wild [new file with mode: 0644]
lib/include/Makefile.in [new file with mode: 0644]
lib/include/out/dummy.dep [deleted file]
lib/include/simple-file-storage.hh
lib/out/dummy.dep [deleted file]
lib/simple-file-storage.cc
lib/stamp-h.in [new file with mode: 0644]
lily/Makefile [deleted file]
lily/Makefile.am [new file with mode: 0644]
lily/Makefile.am.wild [new file with mode: 0644]
lily/Makefile.in [new file with mode: 0644]
lily/VERSION
lily/break.cc
lily/command-request.cc
lily/include/Makefile [deleted file]
lily/include/Makefile.am [new file with mode: 0644]
lily/include/Makefile.am.wild [new file with mode: 0644]
lily/include/Makefile.in [new file with mode: 0644]
lily/include/command-request.hh
lily/include/dummy.icc [new file with mode: 0644]
lily/include/lily-proto.hh
lily/include/out/dummy.dep [deleted file]
lily/include/score-column.hh
lily/lexer.cc [new file with mode: 0644]
lily/lexer.l [deleted file]
lily/lexer.ll [new file with mode: 0644]
lily/lily-version.cc
lily/my-lily-lexer.cc
lily/out/dummy.dep [deleted file]
lily/parser.cc [new file with mode: 0644]
lily/parser.hh [new file with mode: 0644]
lily/parser.y [deleted file]
lily/parser.yy [new file with mode: 0644]
lily/score-column.cc
lily/score-grav.cc
lily/spanner.cc
make/Configure_variables.make.in
make/Makefile [deleted file]
make/Makefile.am [new file with mode: 0644]
make/Makefile.am.wild [new file with mode: 0644]
make/Makefile.in [new file with mode: 0644]
make/Toplevel.make.in
make/Variables.make
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
make/out/dummy.dep [deleted file]
mf/Makefile [deleted file]
mf/Makefile.am [new file with mode: 0644]
mf/Makefile.am.wild [new file with mode: 0644]
mf/Makefile.in [new file with mode: 0644]
mf/Rules.make [new file with mode: 0644]
mf/out/dummy.dep [deleted file]
mi2mu/Makefile [deleted file]
mi2mu/Makefile.am [new file with mode: 0644]
mi2mu/Makefile.am.wild [new file with mode: 0644]
mi2mu/Makefile.in [new file with mode: 0644]
mi2mu/include/Makefile [deleted file]
mi2mu/include/Makefile.am [new file with mode: 0644]
mi2mu/include/Makefile.am.wild [new file with mode: 0644]
mi2mu/include/Makefile.in [new file with mode: 0644]
mi2mu/include/dummy.icc [new file with mode: 0644]
mi2mu/include/dummy.tcc [new file with mode: 0644]
mi2mu/include/out/dummy.dep [deleted file]
mi2mu/main.cc
mi2mu/mi2mu-version.cc
mi2mu/mudela-staff.cc
mi2mu/out/dummy.dep [deleted file]
missing [new file with mode: 0644]
mkinstalldirs [new file with mode: 0644]
mudela-mode.el
mutopia/J.S.Bach/Makefile [deleted file]
mutopia/J.S.Bach/Makefile.am [new file with mode: 0644]
mutopia/J.S.Bach/Makefile.am.wild [new file with mode: 0644]
mutopia/J.S.Bach/Makefile.in [new file with mode: 0644]
mutopia/J.S.Bach/out/dummy.dep [deleted file]
mutopia/Makefile [deleted file]
mutopia/Makefile.am [new file with mode: 0644]
mutopia/Makefile.am.wild [new file with mode: 0644]
mutopia/Makefile.in [new file with mode: 0644]
mutopia/dummy.m4 [new file with mode: 0644]
mutopia/out/dummy.dep [deleted file]
out/dummy.dep [deleted file]
test/Makefile.in [new file with mode: 0644]
tex/Makefile [deleted file]
tex/Makefile.am [new file with mode: 0644]
tex/Makefile.am.wild [new file with mode: 0644]
tex/Makefile.in [new file with mode: 0644]
tex/feta11.tex
tex/feta13.tex
tex/feta16.tex
tex/feta19.tex
tex/feta20.tex
tex/feta23.tex
tex/feta26.tex
tex/out/dummy.dep [deleted file]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..b749bae
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,132 @@
+
+
+
+AUTHORS(1)            LilyPond documentation           AUTHORS(1)
+
+
+NAME
+       AUTHORS - who did what on GNU LilyPond?
+
+DESCRIPTION
+       This file lists authors of GNU LilyPond, and what they
+       wrote.
+
+AUTHORS
+       o Han-Wen Nienhuys <hanwen@cs.ruu.nl>,
+           http://www.stack.nl/~hanwen
+           Main author.
+
+       o Jan Nieuwenhuizen <jan@digicash.com>,
+           http://www.digicash.com/~jan
+           Main author
+
+CONTRIBUTORS
+       o Mats Bengtsson <matsb@s3.kth.se>,
+           parts of clef-reg.cc, clef-item.cc swedish notenames,
+           testing, general comments, duration logs/longa/brevis
+           etc
+
+       o Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>,
+           TeX titling and lytodvi.sh
+
+       o Shay Rojanski
+           Some mudela source.
+
+       o Werner Lemberg <xlwy01@uxp1.hrz.uni-dortmund.de>,
+           misc bugfixes, some Beam and Stem code.
+
+       o Donald Ervin Knuth, http://www.cs.stanford.edu/~?
+           mf/ital-*.mf (these were taken from the CM fonts)
+
+       o Alexandre Oliva <oliva@dcc.unicamp.br>,
+           http://sunsite.unicamp.br/?
+           testing
+
+       o Anthony Fok <foka@debian.org>,
+           debian package: debian/*
+
+       o Franc,ois Pinard <pinard@iro.umontreal.ca>,
+           Documentation/Vocab*, internationalization stuff
+
+       o  Neil Jerram <nj104@cus.cam.ac.uk>.
+           Documentation/Vocab*
+
+       o David R. Linn <drl@vuse.vanderbilt.edu>,
+           Mailing list maintenance.
+
+       Your name could be here! If you want to help, then take a
+       look at the SMALLISH PROJECTS section of in the file TODO.
+       Some do not involve coding C++
+
+
+
+
+11/Mar/98                LilyPond 0.1.48                        1
+
+
+
+
+
+AUTHORS(1)            LilyPond documentation           AUTHORS(1)
+
+
+       [And of course we sincerely thank J.S.Bach, F.Schubert, T.
+       Merula and W.A.Mozart for their beautiful music]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+11/Mar/98                LilyPond 0.1.48                        2
+
+
diff --git a/AUTHORS.txt b/AUTHORS.txt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/BUGS b/BUGS
index 5f4755d57ab50a8f424d8221e83c74b7715ea35b..6c32757d6a7a3312b2eb868cd42523eb316237c0 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -16,16 +16,6 @@ lilypond: parser.y:765: int yyparse(void *): Assertion `((My_lily_parser *) my_l
 Aborted (core dumped)
 
 
-[gcc 2.8.x/libstdc++ 2.8.x/libg++ 2.8.0]
-
-The latest gcc release causes lily to crash just after Interpreting
-music:
-
-stacktrace looks something like:
-
-      __DTOR_END__ ()
-      __malloc ()
-
 [GNU libc]
 
 The GNU extension memmem() is known to be buggy on linux libc 5.0.9
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..e1b28ea
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1 @@
+oeps: no more details than NEWS
index 6aa4226af84c785ab077a6ae77ca58d197856125..4faa314e9e494fc245985820f77abbf65251538a 100644 (file)
@@ -32,7 +32,7 @@ work in Windows NT/95, but we don't promise to support it.
 
 =item *
 
-GNU C++ v2.7 or better.
+GNU C++ version 2.7 or newer (yes, 2.8 is fine).
 
 =item *
 
@@ -40,11 +40,11 @@ GNU make.
 
 =item *
 
-Flex (2.5.1 or better). 
+Flex (version 2.5.1 or newer). 
 
 =item *
 
-Bison. (Version 1.25 or better)
+Bison (version 1.25 or newer).
 
 =back
 
@@ -321,7 +321,7 @@ installation instructions for those deprecated fonts.
 [obsolete] I use the MusixTeX fonts those found in MusixTeX
 T.73. Beware, the clef symbol seems to have changed its position in
 some versions, (notably Egler's, a.k.a. OpusTeX). The MusixTeX fonts
-are included in MusixTeX (T73 or better), which can be had from any
+are included in MusixTeX (T73 or newer), which can be had from any
 CTAN site, e.g. at
 
 =over 4
diff --git a/Documentation/Makefile b/Documentation/Makefile
deleted file mode 100644 (file)
index 412f90f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# Documentation/Makefile
-
-# subdir level:
-#
-depth = ..
-#
-
-# identify module:
-#
-NAME = Documentation
-
-#
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make 
-include ./$(depth)/make/Version.make
-include ./$(depth)/make/Files.make 
-include ./Rules.make
-#
-
-
-#
-DOCFILES = $(wildcard *.doc)
-OUTPODFILES = $(addprefix $(outdir)/,$(PODFILES))
-TEXTFILES = $(OUTPODFILES:.pod=.txt)
-GROFFFILES = $(OUTPODFILES:.pod=.1)
-HTMLFILES = $(OUTPODFILES:.pod=.html)
-DVIFILES = $(addprefix $(outdir)/, $(DOCFILES:.doc=.dvi))
-
-
-default: do-doc
-#
-# list of distribution files:
-#
-XPMS=$(wildcard *.xpm)
-giffiles=$(XPMS:.xpm=.gif)
-outgiffiles=$(addprefix $(outdir)/, $(giffiles))
-
-
-EXTRA_DISTFILES = $(XPMS)  $(DOCFILES)  vocabulary-data vocabulary-forms.el 
-
-
-# don't do DVI files. They can only be made if lily is installed
-do-doc: $(TEXTFILES)
-
-gifs: $(outgiffiles)
-
-
-html: $(HTMLFILES)
-
-htmldist: html
-       $(lily_bindir)/make_website
-
-dvi: $(DVIFILES)
-
-# generic targets and rules:
-#
-include $(depth)/make/Targets.make
-include $(depth)/make/Rules.make
-#
-
-localclean:
-       rm -f `find $(outdir) -type f`
-
-
-
-MAN1FILES = lilypond convert-mudela mi2mu mudela-book ly2dvi
-MAN1GROFF = $(addprefix $(outdir)/, $(addsuffix .1,$(MAN1FILES)))
-
-localinstall: $(outdir)/lilypond.1
-       $(INSTALL) -d $(mandir)/man1
-       $(INSTALL) -m 644 $(MAN1GROFF) $(mandir)/man1
-
-
-localuninstall:
-       (cd  $(mandir)/man1/; rm -f $(MAN1GROFF))
-
-
-
diff --git a/Documentation/Makefile.am b/Documentation/Makefile.am
new file mode 100644 (file)
index 0000000..cfa8e12
--- /dev/null
@@ -0,0 +1,32 @@
+# Automatically generated from ./lilypond-0.1.49/Documentation/Makefile.am.wild by bin/autowild
+# Do not edit
+# Documentation/Makefile.am.wild
+
+DOCFILES = introduction.doc mudela-course.doc mudela-man.doc
+PODFILES = AUTHORS.pod CodingStyle.pod INSTALL.pod MANIFESTO.pod PATCHES.pod convert-mudela.pod faq.pod gnu-music.pod index.pod internals.pod language.pod lilypond.pod links.pod literature.pod ly2dvi.pod mi2mu.pod mudela-book.pod mutopia.pod other-packages.pod
+OUTPODFILES = $(PODFILES)
+TEXTFILES = $(OUTPODFILES:.pod=.txt)
+GROFFFILES = $(OUTPODFILES:.pod=.1)
+HTMLFILES = $(OUTPODFILES:.pod=.html)
+DVIFILES = $(DOCFILES:.doc=.dvi)
+
+XPMS = lelie_icon.xpm lelie_logo.xpm lelieblond.xpm
+giffiles = $(XPMS:.xpm=.gif)
+
+EXTRA_DIST = Makefile.am.wild Rules.make $(XPMS) $(DOCFILES) $(PODFILES) vocabulary-data vocabulary-forms.el 
+
+MAN1FILES = lilypond convert-mudela mi2mu mudela-book ly2dvi
+MAN1GROFF = $(addsuffix .1,$(MAN1FILES))
+
+default: all $(TEXTFILES)
+
+outdir = .
+
+install-data: $(outdir)/lilypond.1
+       $(INSTALL) -d $(mandir)/man1
+       $(INSTALL) -m 644 $(MAN1GROFF) $(mandir)/man1
+
+uninstall-data:
+       (cd  $(mandir)/man1/; rm -f $(MAN1GROFF))
+
+include Rules.make
diff --git a/Documentation/Makefile.am.wild b/Documentation/Makefile.am.wild
new file mode 100644 (file)
index 0000000..bed4314
--- /dev/null
@@ -0,0 +1,30 @@
+# Documentation/Makefile.am.wild
+
+DOCFILES = $(wildcard *.doc)
+PODFILES = $(wildcard *.pod)
+OUTPODFILES = $(PODFILES)
+TEXTFILES = $(OUTPODFILES:.pod=.txt)
+GROFFFILES = $(OUTPODFILES:.pod=.1)
+HTMLFILES = $(OUTPODFILES:.pod=.html)
+DVIFILES = $(DOCFILES:.doc=.dvi)
+
+XPMS = $(wildcard *.xpm)
+giffiles = $(XPMS:.xpm=.gif)
+
+EXTRA_DIST = Makefile.am.wild Rules.make $(XPMS) $(DOCFILES) $(PODFILES) vocabulary-data vocabulary-forms.el 
+
+MAN1FILES = lilypond convert-mudela mi2mu mudela-book ly2dvi
+MAN1GROFF = $(addsuffix .1,$(MAN1FILES))
+
+default: all $(TEXTFILES)
+
+outdir = .
+
+install-data: $(outdir)/lilypond.1
+       $(INSTALL) -d $(mandir)/man1
+       $(INSTALL) -m 644 $(MAN1GROFF) $(mandir)/man1
+
+uninstall-data:
+       (cd  $(mandir)/man1/; rm -f $(MAN1GROFF))
+
+include Rules.make
diff --git a/Documentation/Makefile.in b/Documentation/Makefile.in
new file mode 100644 (file)
index 0000000..9e8347d
--- /dev/null
@@ -0,0 +1,206 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./Documentation/Makefile.am.wild by bin/autowild
+# Do not edit
+# Documentation/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+DOCFILES = introduction.doc mudela-course.doc mudela-man.doc
+PODFILES = AUTHORS.pod CodingStyle.pod INSTALL.pod MANIFESTO.pod PATCHES.pod convert-mudela.pod faq.pod gnu-music.pod index.pod internals.pod language.pod lilypond.pod links.pod literature.pod ly2dvi.pod mi2mu.pod mudela-book.pod mutopia.pod other-packages.pod
+OUTPODFILES = $(PODFILES)
+TEXTFILES = $(OUTPODFILES:.pod=.txt)
+GROFFFILES = $(OUTPODFILES:.pod=.1)
+HTMLFILES = $(OUTPODFILES:.pod=.html)
+DVIFILES = $(DOCFILES:.doc=.dvi)
+
+XPMS = lelie_icon.xpm lelie_logo.xpm lelieblond.xpm
+giffiles = $(XPMS:.xpm=.gif)
+
+EXTRA_DIST = Makefile.am.wild Rules.make $(XPMS) $(DOCFILES) $(PODFILES) vocabulary-data vocabulary-forms.el 
+
+MAN1FILES = lilypond convert-mudela mi2mu mudela-book ly2dvi
+MAN1GROFF = $(addsuffix .1,$(MAN1FILES))
+
+outdir = .
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Documentation/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = Documentation
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+default: all $(TEXTFILES)
+
+install-data: $(outdir)/lilypond.1
+       $(INSTALL) -d $(mandir)/man1
+       $(INSTALL) -m 644 $(MAN1GROFF) $(mandir)/man1
+
+uninstall-data:
+       (cd  $(mandir)/man1/; rm -f $(MAN1GROFF))
+
+include Rules.make
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/Documentation/PATCHES.pod b/Documentation/PATCHES.pod
new file mode 100644 (file)
index 0000000..e98860d
--- /dev/null
@@ -0,0 +1,234 @@
+=head1 NAME
+
+PATCHES - track and distribute your code changes
+
+=head1 DESCRIPTION
+
+This page documents how to distribute your changes to GNU LilyPond
+
+=head1 ABSTRACT
+
+Distributing a change normally goes like this:
+
+=over 5
+
+=item *
+
+make your fix/add your code 
+
+=item *
+
+generate a patch, 
+
+=item *
+
+e-mail your patch to one of the mailing lists
+gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
+(or if you're a bit shy, to the maintainer).
+
+=back
+
+=head1 GENERATING A PATCH
+
+In F<VERSION>, set TOPLEVEL_MY_PATCH_LEVEL:
+
+    VERSION:
+       ...
+       TOPLEVEL_MY_PATCH_LEVEL = jcn1
+
+In F<NEWS>, enter a summary of changes:
+
+    NEWS:
+       pl 0.1.48.jcn1
+               - added PATCHES.pod
+
+Then, type something like
+
+    make dist
+    mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
+    make-patch
+
+which leaves your patch as F<./patch-0.1.48.jcn1>.
+
+or even simpler:
+
+    release
+
+    tar-ball: ../patches/patch-0.1.48.jcn1.gz
+    patch: ../patches/patch-0.1.48.jcn1.gz
+    updeet: ../test/updeet
+
+=head1 PREREQUISITES
+
+For creating a patch you need
+
+=over 5
+
+=item *
+
+All items mentioned in F<INSTALL>.  You're not going to send a patch
+that you haven't even built, right?
+
+=item *
+
+GNU Diff
+
+=item *
+
+Python (version 1.4 or newer).  
+You can of course make a patch by hand, which would go something like:
+
+    make distclean
+    cd ..
+    diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+
+but there are handy python scripts available.  If you're doing development,
+you'll need Python for other LilyPond scripts anyway.
+
+=item *
+
+The Lily directory structure, which looks like:
+
+    lilypond-0.1.48/
+    patches/
+    releases/
+    test/
+
+=back
+       
+=head1 SYNCHRONISE
+
+If you're not very quick with sending your patch, there's a good chance
+that an new release of LilyPond comes available.  In such a case (and
+sometimes for other unkown reasons :-), the maintainer will probably ask
+you to make a new patch against the latest release.
+Your best bet is to download the latest release, and apply your patch
+against this new source tree:
+
+    cd lilypond-0.1.49
+    zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+
+Then, make a patch as shown above.
+
+=head1 MAINTAINER
+
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+Just keep on sending those patches!
+=head1 NAME
+
+PATCHES - track and distribute your code changes
+
+=head1 DESCRIPTION
+
+This page documents how to distribute your changes to GNU LilyPond
+
+=head1 ABSTRACT
+
+Distributing a change normally goes like this:
+
+=over 5
+
+=item *
+
+make your fix/add your code 
+
+=item *
+
+generate a patch, 
+
+=item *
+
+e-mail your patch to one of the mailing lists
+gnu-music-discuss@gnu.org or bug-gnu-music@gnu.org
+(or if you're a bit shy, to the maintainer).
+
+=back
+
+=head1 GENERATING A PATCH
+
+In F<VERSION>, set TOPLEVEL_MY_PATCH_LEVEL:
+
+    VERSION:
+       ...
+       TOPLEVEL_MY_PATCH_LEVEL = jcn1
+
+In F<NEWS>, enter a summary of changes:
+
+    NEWS:
+       pl 0.1.48.jcn1
+               - added PATCHES.pod
+
+Then, type something like
+
+    make-dist
+    mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
+    make-patch
+
+which leaves your patch as F<./patch-0.1.48.jcn1>.
+
+or even simpler:
+
+    release
+
+    tar-ball: ../patches/patch-0.1.48.jcn1.gz
+    patch: ../patches/patch-0.1.48.jcn1.gz
+    updeet: ../test/updeet
+
+=head1 PREREQUISITES
+
+For creating a patch you need
+
+=over 5
+
+=item *
+
+All items mentioned in F<INSTALL>.  You're not going to send a patch
+that you haven't even built, right?
+
+=item *
+
+GNU Diff
+
+=item *
+
+Python (version 1.4 or newer).  
+You can of course make a patch by hand, which would go something like:
+
+    make distclean
+    cd ..
+    diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+
+but there are handy python scripts available.  If you're doing development,
+you'll need Python for other LilyPond scripts anyway.
+
+=item *
+
+The Lily directory structure, which looks like:
+
+    lilypond-0.1.48/
+    patches/
+    releases/
+    test/
+
+=back
+       
+=head1 SYNCHRONISE
+
+If you're not very quick with sending your patch, there's a good chance
+that an new release of LilyPond comes available.  In such a case (and
+sometimes for other unkown reasons :-), the maintainer will probably ask
+you to make a new patch against the latest release.
+Your best bet is to download the latest release, and apply your patch
+against this new source tree:
+
+    cd lilypond-0.1.49
+    zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+
+Then, make a patch as shown above.
+
+=head1 MAINTAINER
+
+Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+Just keep on sending those patches!
index dd04ca3604480d61bd53d31935f375902aa23562..37c33b2b346809f403d1de20d0785be9749c442f 100644 (file)
@@ -3,6 +3,9 @@
 
 .SUFFIXES: .pod .txt .1  .html
 
+pod2html=pod2html
+pod2groff=pod2man --center="LilyPond documentation" --section="0"\
+       --release="LilyPond $(VERSION)" $< > $@
 
 $(outdir)/%.gif: %.xpm
        xpmtoppm $< | ppmtogif > $@
@@ -24,10 +27,10 @@ $(outdir)/%.txt: $(outdir)/%.1
 $(depth)/%.txt: $(outdir)/%.txt
        cp $< $@
 
-do_pod2html=$(pod2html) --noindex --infile $< --outfile=$@;  sh $(depth)/bin/add-URLs.sh $@
+#do_pod2html=$(POD2HTML) --noindex --infile $< --outfile=$@;  sh $(depth)/bin/add-URLs.sh $@
 # do this for perl 5.003
-#      do_pod2html=$(pod2html) $<
-#      mv $(notdir $@) $(outdir)/
+
+do_pod2html=$(POD2HTML) $< ; mv $(notdir $@) $(outdir)/
 
 
 # do this for perl 5.004
index 76ad9e5ddb8806fc6c12339a0115c926e15df5fa..1237bf4a36bb928cfdab616c05f162f2083151fe 100644 (file)
@@ -9,6 +9,14 @@ are meant to be relative to the source directory)
 
 =head2 Installing
 
+Q: Wow, the webpages look really neat, but if I install the .exe file
+on my windows 3.11 machine, it doesn't work.
+
+A: The dos port is done with the cygnus W32 port of the GNU utils. It
+does I<not> work with windows 3.x; you need NT or w95 (this is not a
+recommendation, btw.  We recommend you use Unix, in particular, use
+GNU/Linux)
+
 Q: I get all kinds of errors while  compiling F<parser.cc>
 
 A: LilyPond uses features of bison version 1.25. Please confirm that
diff --git a/Documentation/out/dummy.dep b/Documentation/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..27b5c95
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,396 @@
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+NAME
+       INSTALL - installing GNU LilyPond
+
+DESCRIPTION
+       This page documents installation and compilation of GNU
+       LilyPond
+
+ABSTRACT
+       You do something which looks remotely like
+
+               configure
+               make
+               make install
+
+       The detailed instructions follow here.
+
+PREREQUISITES
+       For compilation you need.
+
+       o    A GNU system: GNU LilyPond is known to run on these
+            GNU systems: Linux (PPC, intel), FreeBSD, AIX,
+            NeXTStep, IRIX, Digital Unix and Solaris.
+
+            If you have the Cygnus WINDOWS32 port of the GNU
+            utils, it will even work in Windows NT/95, but we
+            don't promise to support it.
+
+       o    GNU C++ version 2.7 or newer (yes, 2.8 is fine).
+
+       o    GNU make.
+
+       o    Flex (version 2.5.1 or newer).
+
+       o    Bison (version 1.25 or newer).
+
+RUNNING
+       GNU LilyPond does use a lot of resources. For operation
+       you need the following:
+
+       o    TeX
+
+       o    A PostScript printer and/or viewer (such as
+            Ghostscript) is strongly recommended.  Xdvi will show
+            all embedded PostScript too if you have Ghostscript
+            installed.
+
+RECOMMENDED
+       Although not strictly necessary, these are recommended to
+       have.
+
+       o    Perl-5.  Most documentation was created with the
+            perl's Plain Old Documentation. (I use 5.003)
+
+
+
+
+
+13/Mar/98                LilyPond 0.1.48                        1
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+       o    Python.  Although perl is nice, python is better.  We
+            will shift towards python for build scripts
+
+       o    GNU find
+
+       o    A fast computer (a full page of music typically takes
+            1 minute on my 486/133, using the --enable-checking
+            compile. It's lot slower than most MusiXTeX
+            preprocessors)
+
+CONFIGURING and COMPILING
+       to install GNU LilyPond, simply type:
+
+               configure
+               make install
+
+       This will install the following files:
+
+               /usr/local/man/man1/mi2mu.1
+               /usr/local/man/man1/convert-mudela.1
+               /usr/local/man/man1/mudela-book.1
+               /usr/local/man/man1/lilypond.1
+               /usr/local/lib/libflower.{so,a}
+               /usr/local/bin/lilypond
+               /usr/local/bin/mi2mu
+               /usr/local/share/lilypond/*
+               /usr/lib/texmf/texmf/tex/lilypond/*
+
+       The TeX include directory is detected dynamically, but it
+       can be adjusted with --enable-tex-prefix and --enable-tex-
+       dir. The above assumes that you are root and have the GNU
+       development tools, and your make is GNU make.  If this is
+       not the case, you can adjust your environment variables to
+       your taste:
+
+               export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
+               configure
+
+       CPPFLAGS are the preprocessor flags.
+
+       the configure script is Cygnus configure, and it will
+       accept --help. If you are not root, you will probably have
+       to make it with
+
+               configure --prefix=/home/me_myself_and_I/
+
+       In this case, you will have to set MFINPUTS, and TEXINPUTS
+       accordingly.
+
+       If you want to install GNU LilyPond in /usr/local, and
+       your TeX has no default hooks for local stuff (mine is
+       broken too), you can do:
+
+               configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
+
+
+
+13/Mar/98                LilyPond 0.1.48                        2
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+       Since GNU LilyPond currently is beta, you are advised to
+       also use
+
+               --enable-debugging
+               --enable-checking
+
+       other options include:
+
+       --enable-shared
+           Make a shared library (gnu/linux, solaris (?) only )
+
+       --enable-printing
+           Enable debugging print routines (lilypond -d option)
+
+       --enable-optimise
+           Set maximum optimisation: compile with -O2
+
+       --enable-profiling
+           Compile with support for profiling
+
+       --enable-tex-prefix
+           Set the directory where TeX and Metafont live
+
+       --enable-tex-dir
+           Set then directory TeX input is in (detected as a
+           subdir of tex-prefix)
+
+       --enable-mf-dir
+           Set the directory mf input is in (idem)
+
+       --enable-out-dir
+           Set the directory for machine generated output.
+
+       All options are documented in the configure help The
+       option --enable-optimise is recommended for Real Life
+       usage.
+
+       If you do
+
+               make all
+
+       everything will be compiled, but nothing will be
+       installed.  The resulting binaries can be found in the
+       subdirectories out/ (which contain all files generated
+       during compilation).
+
+       Building for multiple hosts
+
+       LilyPond does not follow the GNU standards when it comes
+       to configuring and making Makefiles. In LilyPond, make
+       generates all output in output directories (called out/,
+       by default).  You can have multiple compiles from the same
+       source-tree, by overriding the setting for the output
+       directory.
+
+
+
+13/Mar/98                LilyPond 0.1.48                        3
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+       Example: on my system, I do debugging and lots compiling.
+       For this I use the configuration as follows:
+
+               configure --prefix=~ --enable-debugging --enable-printing --enable-checking
+               make all
+
+       and I want to do profiling. For that I use
+
+               configure --prefix=~ --enable-debugging --disable-printing\
+                       --disable-checking --enable-profiling --enable-optimise\
+                       --enable-out-dir=out-profile
+
+               make OUTDIR_NAME=out-profile all
+
+       These two commands build two entirely separate versions of
+       LilyPond. In Real Life, you would probably also want to
+       have two different prefixes. On my machine this is no
+       problem; I never do make install. My prefix dirs are
+       linked back to my source directory.
+
+INSTALLING
+       If you have done a successful make, then a simple
+
+               make install
+
+       should do the trick.
+
+       If you are doing an upgrade, please remember to remove
+       obsolete .pk and .tfm files of the fonts.  A script has
+       been provided to do the work, see bin/clean-fonts.sh.
+
+CAVEATS
+       o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
+            in dstream.cc. You should turn off this flag for this
+            file.
+
+       o    Perl5.003 and Perl5.004 use different syntax for
+            pod2html.
+
+EXAMPLE
+       This is what I type in my xterm:
+
+               lilypond someinput.ly
+               tex someinput.tex
+               xdvi someinput&
+
+       This is what the output looks like over here:
+
+
+
+
+
+
+
+
+
+
+13/Mar/98                LilyPond 0.1.48                        4
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+               GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
+               Parsing ... [/home/hw/share/lilypond/init//
+                       <..etc..>
+                       init//performer.ly]]][input/kortjakje.ly]
+               Creating elements ...[8][16][24][25]
+               Preprocessing elements...
+               Calculating column positions ... [14][25]
+               Postprocessing elements...
+               TeX output to someinput.tex ...
+               Creating MIDI elements ...MIDI output to someinput.midi ...
+
+               hw:~/musix/spacer$ xdvi someinput&
+               [1] 855
+
+       Check out the input files, some of them have comments
+       Please refer to the man page for more information.
+
+REDHAT LINUX
+       RedHat Linux users should be able to get a RPM. A spec
+       file is in make/out/lilypond.spec. You should be able to
+       create an rpm as a normal user. Be sure you have a
+       ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
+       create the RPM as a normal user the permissions will not
+       be set correctly, unfortunately)
+
+DEBIAN GNU/LINUX
+       A Debian package is also available; contact Anthony Fok
+       <foka@debian.org>.  The build scripts are in the
+       subdirectory debian/
+
+WINDOWS NT/95
+       So, you're stuck with Windows, eh?  Well, don't worry, you
+       just need (to get) Cygnus' windows32 port of gnu
+       development stuff; have a look at
+       http://www.cygnus.com/gnu-win32.
+
+       To make GNU LilyPond under, brr, aargh, shudder...
+       windows32, well, simply type:
+
+               bash configure
+               make
+
+       Note If you rely on broken DOS/Windows tools such as
+       pkzip/WinZIP to unpack the distribution, make sure the
+       entire source tree is unpacked correctly, in particular
+       the empty out directories (flower/out, lib/out et. al.)
+
+MUSIXTEX
+       Previous versions (before 0.1.39) used fonts from the TeX
+       macro package "MusixTeX".  You can still use these, but
+       they are not supported.  Since LilyPond's Feta font is
+       much prettier, you'd be seriously misguided if you used
+       them, but anyway, here are the installation instructions
+       for those deprecated fonts.
+
+
+
+13/Mar/98                LilyPond 0.1.48                        5
+
+
+
+
+
+INSTALL(1)            LilyPond documentation           INSTALL(1)
+
+
+       [obsolete] I use the MusixTeX fonts those found in
+       MusixTeX T.73. Beware, the clef symbol seems to have
+       changed its position in some versions, (notably Egler's,
+       a.k.a. OpusTeX). The MusixTeX fonts are included in
+       MusixTeX (T73 or newer), which can be had from any CTAN
+       site, e.g. at
+
+       ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
+
+       ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
+
+       ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
+
+       You only need the contents of the mf/ subdirectory of the
+       package. The primary site of the Taupin version is
+       ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
+
+       Install the musixtex fonts in a directory which TeX and MF
+       knows (if you are root, look for a directory which
+       contains the directories with AMS and CM source (*.mf)
+       files. Create a subdir lilypond or musixtex and copy the
+       fonts into that). Do not forget to rehash TeX (if
+       applicable)
+
+       Example: my fonts are in
+       /usr/local/lib/texfonts/musixtex/, and I have a symlink
+       pointing to that in
+       /usr/lib/texmf/texmf/fonts/source/public/. After I copied
+       the files, I ran "texhash"
+
+       Andreas Egler's version of MusixTeX, now called OpusTeX,
+       will also work. Andreas moved some characters around in
+       the fonts, so you have to edit the definitions in
+       tex/eglerdefs.tex.
+
+AUTHORS
+       Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+       Jan Nieuwenhuizen <jan@digicash.com>
+
+       Have fun!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+13/Mar/98                LilyPond 0.1.48                        6
+
+
diff --git a/INSTALL.txt b/INSTALL.txt
deleted file mode 100644 (file)
index f953bed..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-NAME
-       INSTALL - installing GNU LilyPond
-
-DESCRIPTION
-       This page documents installation and compilation of GNU
-       LilyPond
-
-ABSTRACT
-       You do something which looks remotely like
-
-               configure
-               make
-               make install
-
-       The detailed instructions follow here.
-
-PREREQUISITES
-       For compilation you need.
-
-       o    A GNU system: GNU LilyPond is known to run on these
-            GNU systems: Linux (PPC, intel), FreeBSD, AIX,
-            NeXTStep, IRIX, Digital Unix and Solaris.
-
-            If you have the Cygnus WINDOWS32 port of the GNU
-            utils, it will even work in Windows NT/95, but we
-            don't promise to support it.
-
-       o    GNU C++ v2.7 or better.
-
-       o    GNU make.
-
-       o    Flex (2.5.1 or better).
-
-       o    Bison. (Version 1.25 or better)
-
-RUNNING
-       GNU LilyPond does use a lot of resources. For operation
-       you need the following:
-
-       o    TeX
-
-       o    A PostScript printer and/or viewer (such as
-            Ghostscript) is strongly recommended.  Xdvi will show
-            all embedded PostScript too if you have Ghostscript
-            installed.
-
-RECOMMENDED
-       Although not strictly necessary, these are recommended to
-       have.
-
-       o    Perl-5.  Most documentation was created with the
-            perl's Plain Old Documentation. (I use 5.003)
-
-
-
-
-
-11/Mar/98                LilyPond 0.1.48                        1
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-       o    Python.  Although perl is nice, python is better.  We
-            will shift towards python for build scripts
-
-       o    GNU find
-
-       o    A fast computer (a full page of music typically takes
-            1 minute on my 486/133, using the --enable-checking
-            compile. It's lot slower than most MusiXTeX
-            preprocessors)
-
-CONFIGURING and COMPILING
-       to install GNU LilyPond, simply type:
-
-               configure
-               make install
-
-       This will install the following files:
-
-               /usr/local/man/man1/mi2mu.1
-               /usr/local/man/man1/convert-mudela.1
-               /usr/local/man/man1/mudela-book.1
-               /usr/local/man/man1/lilypond.1
-               /usr/local/lib/libflower.{so,a}
-               /usr/local/bin/lilypond
-               /usr/local/bin/mi2mu
-               /usr/local/share/lilypond/*
-               /usr/lib/texmf/texmf/tex/lilypond/*
-
-       The TeX include directory is detected dynamically, but it
-       can be adjusted with --enable-tex-prefix and --enable-tex-
-       dir. The above assumes that you are root and have the GNU
-       development tools, and your make is GNU make.  If this is
-       not the case, you can adjust your environment variables to
-       your taste:
-
-               export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
-               configure
-
-       CPPFLAGS are the preprocessor flags.
-
-       the configure script is Cygnus configure, and it will
-       accept --help. If you are not root, you will probably have
-       to make it with
-
-               configure --prefix=/home/me_myself_and_I/
-
-       In this case, you will have to set MFINPUTS, and TEXINPUTS
-       accordingly.
-
-       If you want to install GNU LilyPond in /usr/local, and
-       your TeX has no default hooks for local stuff (mine is
-       broken too), you can do:
-
-               configure --prefix=/usr/local --enable-tex-prefix=/usr/lib/texmf
-
-
-
-11/Mar/98                LilyPond 0.1.48                        2
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-       Since GNU LilyPond currently is beta, you are advised to
-       also use
-
-               --enable-debugging
-               --enable-checking
-
-       other options include:
-
-       --enable-shared
-           Make a shared library (gnu/linux, solaris (?) only )
-
-       --enable-printing
-           Enable debugging print routines (lilypond -d option)
-
-       --enable-optimise
-           Set maximum optimisation: compile with -O2
-
-       --enable-profiling
-           Compile with support for profiling
-
-       --enable-tex-prefix
-           Set the directory where TeX and Metafont live
-
-       --enable-tex-dir
-           Set then directory TeX input is in (detected as a
-           subdir of tex-prefix)
-
-       --enable-mf-dir
-           Set the directory mf input is in (idem)
-
-       --enable-out-dir
-           Set the directory for machine generated output.
-
-       All options are documented in the configure help The
-       option --enable-optimise is recommended for Real Life
-       usage.
-
-       If you do
-
-               make all
-
-       everything will be compiled, but nothing will be
-       installed.  The resulting binaries can be found in the
-       subdirectories out/ (which contain all files generated
-       during compilation).
-
-       Building for multiple hosts
-
-       LilyPond does not follow the GNU standards when it comes
-       to configuring and making Makefiles. In LilyPond, make
-       generates all output in output directories (called out/,
-       by default).  You can have multiple compiles from the same
-       source-tree, by overriding the setting for the output
-       directory.
-
-
-
-11/Mar/98                LilyPond 0.1.48                        3
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-       Example: on my system, I do debugging and lots compiling.
-       For this I use the configuration as follows:
-
-               configure --prefix=~ --enable-debugging --enable-printing --enable-checking
-               make all
-
-       and I want to do profiling. For that I use
-
-               configure --prefix=~ --enable-debugging --disable-printing\
-                       --disable-checking --enable-profiling --enable-optimise\
-                       --enable-out-dir=out-profile
-
-               make OUTDIR_NAME=out-profile all
-
-       These two commands build two entirely separate versions of
-       LilyPond. In Real Life, you would probably also want to
-       have two different prefixes. On my machine this is no
-       problem; I never do make install. My prefix dirs are
-       linked back to my source directory.
-
-INSTALLING
-       If you have done a successful make, then a simple
-
-               make install
-
-       should do the trick.
-
-       If you are doing an upgrade, please remember to remove
-       obsolete .pk and .tfm files of the fonts.  A script has
-       been provided to do the work, see bin/clean-fonts.sh.
-
-CAVEATS
-       o    The -O2 option to gcc triggers a gcc bug on DEC Alpha
-            in dstream.cc. You should turn off this flag for this
-            file.
-
-       o    Perl5.003 and Perl5.004 use different syntax for
-            pod2html.
-
-EXAMPLE
-       This is what I type in my xterm:
-
-               lilypond someinput.ly
-               tex someinput.tex
-               xdvi someinput&
-
-       This is what the output looks like over here:
-
-
-
-
-
-
-
-
-
-
-11/Mar/98                LilyPond 0.1.48                        4
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-               GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0
-               Parsing ... [/home/hw/share/lilypond/init//
-                       <..etc..>
-                       init//performer.ly]]][input/kortjakje.ly]
-               Creating elements ...[8][16][24][25]
-               Preprocessing elements...
-               Calculating column positions ... [14][25]
-               Postprocessing elements...
-               TeX output to someinput.tex ...
-               Creating MIDI elements ...MIDI output to someinput.midi ...
-
-               hw:~/musix/spacer$ xdvi someinput&
-               [1] 855
-
-       Check out the input files, some of them have comments
-       Please refer to the man page for more information.
-
-REDHAT LINUX
-       RedHat Linux users should be able to get a RPM. A spec
-       file is in make/out/lilypond.spec. You should be able to
-       create an rpm as a normal user. Be sure you have a
-       ~/.rpmrc, and edit the RPM-dir in Variables.make. (If you
-       create the RPM as a normal user the permissions will not
-       be set correctly, unfortunately)
-
-DEBIAN GNU/LINUX
-       A Debian package is also available; contact Anthony Fok
-       <foka@debian.org>.  The build scripts are in the
-       subdirectory debian/
-
-WINDOWS NT/95
-       So, you're stuck with Windows, eh?  Well, don't worry, you
-       just need (to get) Cygnus' windows32 port of gnu
-       development stuff; have a look at
-       http://www.cygnus.com/gnu-win32.
-
-       To make GNU LilyPond under, brr, aargh, shudder...
-       windows32, well, simply type:
-
-               bash configure
-               make
-
-       Note If you rely on broken DOS/Windows tools such as
-       pkzip/WinZIP to unpack the distribution, make sure the
-       entire source tree is unpacked correctly, in particular
-       the empty out directories (flower/out, lib/out et. al.)
-
-MUSIXTEX
-       Previous versions (before 0.1.39) used fonts from the TeX
-       macro package "MusixTeX".  You can still use these, but
-       they are not supported.  Since LilyPond's Feta font is
-       much prettier, you'd be seriously misguided if you used
-       them, but anyway, here are the installation instructions
-       for those deprecated fonts.
-
-
-
-11/Mar/98                LilyPond 0.1.48                        5
-
-
-
-
-
-INSTALL(1)            LilyPond documentation           INSTALL(1)
-
-
-       [obsolete] I use the MusixTeX fonts those found in
-       MusixTeX T.73. Beware, the clef symbol seems to have
-       changed its position in some versions, (notably Egler's,
-       a.k.a. OpusTeX). The MusixTeX fonts are included in
-       MusixTeX (T73 or better), which can be had from any CTAN
-       site, e.g. at
-
-       ftp://ftp.shsu.edu/tex-archive/macros/musixtex/taupin
-
-       ftp://ftp.tex.ac.uk/tex-archive/macros/musixtex/taupin
-
-       ftp://ftp.dante.de/tex-archive/macros/musixtex/taupin
-
-       You only need the contents of the mf/ subdirectory of the
-       package. The primary site of the Taupin version is
-       ftp://hprib.lps.u-psud.fr/pub/music_zips/musixtex.zip
-
-       Install the musixtex fonts in a directory which TeX and MF
-       knows (if you are root, look for a directory which
-       contains the directories with AMS and CM source (*.mf)
-       files. Create a subdir lilypond or musixtex and copy the
-       fonts into that). Do not forget to rehash TeX (if
-       applicable)
-
-       Example: my fonts are in
-       /usr/local/lib/texfonts/musixtex/, and I have a symlink
-       pointing to that in
-       /usr/lib/texmf/texmf/fonts/source/public/. After I copied
-       the files, I ran "texhash"
-
-       Andreas Egler's version of MusixTeX, now called OpusTeX,
-       will also work. Andreas moved some characters around in
-       the fonts, so you have to edit the definitions in
-       tex/eglerdefs.tex.
-
-AUTHORS
-       Han-Wen Nienhuys <hanwen@cs.ruu.nl>
-
-       Jan Nieuwenhuizen <jan@digicash.com>
-
-       Have fun!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-11/Mar/98                LilyPond 0.1.48                        6
-
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..a1d81ed
--- /dev/null
@@ -0,0 +1,35 @@
+# Automatically generated from ./lilypond-0.1.49/Makefile.am.wild by bin/autowild
+# Do not edit
+########################################################
+# project  LilyPond -- the musical typesetter
+# title           top level makefile for LilyPond  
+# file    Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+
+SUBDIRS = bin flower lib lily mf mi2mu debian\
+       Documentation init input tex make mutopia
+
+SCHRIFTEN = configure configure.in install-sh aclocal.m4
+README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE \
+ COPYING ONEWS NEWS README TODO \
+ INSTALL AUTHORS PATCHES
+EXTRA_DIST = Makefile.am.wild .dstreamrc mudela-mode.el acinclude.m4 VERSION $(README_FILES) $(SCHRIFTEN)
+
+dist-hook:
+       bin/autowild
+
+INSTALL:
+       rm -f INSTALL
+       ln `$(FIND) ./ -name INSTALL.txt -print | head -1` $@
+
+AUTHORS:
+       rm -f AUTHORS
+       ln `$(FIND) ./ -name AUTHORS.txt -print | head -1` $@
+
+PATCHES:
+       rm -f PATCHES
+       ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
+
diff --git a/Makefile.am.wild b/Makefile.am.wild
new file mode 100644 (file)
index 0000000..abb580c
--- /dev/null
@@ -0,0 +1,33 @@
+########################################################
+# project  LilyPond -- the musical typesetter
+# title           top level makefile for LilyPond  
+# file    Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+
+SUBDIRS = bin flower lib lily mf mi2mu debian\
+       Documentation init input tex make mutopia
+
+SCHRIFTEN = configure configure.in install-sh aclocal.m4
+README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE \
+ COPYING ONEWS NEWS README TODO \
+ INSTALL AUTHORS PATCHES
+EXTRA_DIST = Makefile.am.wild .dstreamrc mudela-mode.el acinclude.m4 VERSION $(README_FILES) $(SCHRIFTEN)
+
+dist-hook:
+       bin/autowild
+
+INSTALL:
+       rm -f INSTALL
+       ln `$(FIND) ./ -name INSTALL.txt -print | head -1` $@
+
+AUTHORS:
+       rm -f AUTHORS
+       ln `$(FIND) ./ -name AUTHORS.txt -print | head -1` $@
+
+PATCHES:
+       rm -f PATCHES
+       ln `$(FIND) ./ -name PATCHES.txt -print | head -1` $@
+
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..0827df9
--- /dev/null
@@ -0,0 +1,514 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  FlowerSoft C++ library
+# title           top level makefile for FlowerLib
+# file    flower/Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+SUBDIRS = include test 
+
+lib_LIBRARIES = libflower.a
+# lib_LIBRARIES = libflower.la
+
+README_FILES = ONEWS NEWS README TODO VERSION
+EXTRA_DIST = Makefile.am.wild aclocal.m4 configure config.hh.in configure.in $(README_FILES)
+
+libflower_a_SOURCES = choleski.cc cpu-timer.cc data-file.cc diagonal-storage.cc dictionary.cc directed-graph.cc dstream.cc flower-debug.cc flower-version.cc full-storage.cc interval.cc lgetopt.cc libc-extension.cc matrix-debug.cc matrix-storage.cc matrix.cc nscalar.cc path.cc rational.cc scalar.cc string-convert.cc string.cc stringutil.cc text-db.cc text-stream.cc unionfind.cc vector.cc
+
+INCLUDES = -Iinclude
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = config.hh
+CONFIG_CLEAN_FILES = 
+LIBRARIES =  $(lib_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I.
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libflower_a_LIBADD = 
+libflower_a_OBJECTS =  choleski.o cpu-timer.o data-file.o \
+diagonal-storage.o dictionary.o directed-graph.o dstream.o \
+flower-debug.o flower-version.o full-storage.o interval.o lgetopt.o \
+libc-extension.o matrix-debug.o matrix-storage.o matrix.o nscalar.o \
+path.o rational.o scalar.o string-convert.o string.o stringutil.o \
+text-db.o text-stream.o unionfind.o vector.o
+AR = ar
+CXXFLAGS = @CXXFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+CXXLINK = $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+Makefile.in NEWS TODO aclocal.m4 config.hh.in configure configure.in \
+missing mkinstalldirs stamp-h.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+SOURCES = $(libflower_a_SOURCES)
+OBJECTS = $(libflower_a_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .o
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4):  configure.in 
+       cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF)
+
+config.hh: stamp-h
+stamp-h: $(srcdir)/config.hh.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES= CONFIG_HEADERS=config.hh:config.hh.in \
+            $(SHELL) ./config.status
+       @echo timestamp > stamp-h
+$(srcdir)/config.hh.in: $(srcdir)/stamp-h.in
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       @echo timestamp > $(srcdir)/stamp-h.in
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+       rm -f config.hh
+
+maintainer-clean-hdr:
+
+mostlyclean-libLIBRARIES:
+
+clean-libLIBRARIES:
+       test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+
+distclean-libLIBRARIES:
+
+maintainer-clean-libLIBRARIES:
+
+install-libLIBRARIES: $(lib_LIBRARIES)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(libdir)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(INSTALL_DATA) $$p $(libdir)/$$p"; \
+           $(INSTALL_DATA) $$p $(libdir)/$$p; \
+         else :; fi; \
+       done
+       @$(POST_INSTALL)
+       @list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(RANLIB) $(libdir)/$$p"; \
+           $(RANLIB) $(libdir)/$$p; \
+         else :; fi; \
+       done
+
+uninstall-libLIBRARIES:
+       $(NORMAL_UNINSTALL)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         rm -f $(libdir)/$$p; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libflower.a: $(libflower_a_OBJECTS) $(libflower_a_DEPENDENCIES)
+       rm -f libflower.a
+       $(AR) cru libflower.a $(libflower_a_OBJECTS) $(libflower_a_LIBADD)
+       $(RANLIB) libflower.a
+.cc.o:
+       $(CXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hh.in $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)config.hh.in$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.hh.in $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       rm -rf $(distdir)
+       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       dc_install_base=`cd $(distdir)/=inst && pwd`; \
+       cd $(distdir)/=build \
+         && ../configure --srcdir=.. --prefix=$$dc_install_base \
+         && $(MAKE) \
+         && $(MAKE) dvi \
+         && $(MAKE) check \
+         && $(MAKE) install \
+         && $(MAKE) installcheck \
+         && $(MAKE) dist
+       rm -rf $(distdir)
+       @echo "========================"; \
+       echo "$(distdir).tar.gz is ready for distribution"; \
+       echo "========================"
+dist: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+dist-all: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+distdir: $(DISTFILES)
+       rm -rf $(distdir)
+       mkdir $(distdir)
+       -chmod 777 $(distdir)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+choleski.o choleski.lo: choleski.cc include/choleski.hh \
+       include/matrix.hh include/matrix-storage.hh include/varray.hh \
+       include/real.hh include/virtual-methods.hh include/vector.hh
+cpu-timer.o cpu-timer.lo: cpu-timer.cc include/cpu-timer.hh \
+       include/real.hh
+data-file.o data-file.lo: data-file.cc include/international.hh \
+       include/data-file.hh include/text-stream.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh include/compare.hh \
+       include/varray.hh
+diagonal-storage.o diagonal-storage.lo: diagonal-storage.cc \
+       include/diagonal-storage.hh include/full-storage.hh \
+       include/varray.hh include/matrix-storage.hh include/real.hh \
+       include/virtual-methods.hh include/full-storage.icc
+dictionary.o dictionary.lo: dictionary.cc
+directed-graph.o directed-graph.lo: directed-graph.cc \
+       include/directed-graph.hh include/parray.hh include/varray.hh
+dstream.o dstream.lo: dstream.cc include/assoc.hh include/varray.hh \
+       include/dstream.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/scalar.hh \
+       include/text-db.hh include/data-file.hh include/text-stream.hh \
+       include/string-convert.hh include/assoc-iter.hh
+flower-debug.o flower-debug.lo: flower-debug.cc include/flower-debug.hh \
+       include/dstream.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh
+flower-version.o flower-version.lo: flower-version.cc config.hh
+full-storage.o full-storage.lo: full-storage.cc include/full-storage.hh \
+       include/varray.hh include/matrix-storage.hh include/real.hh \
+       include/virtual-methods.hh include/full-storage.icc
+interval.o interval.lo: interval.cc include/interval.hh \
+       include/fproto.hh include/real.hh include/compare.hh \
+       include/interval.tcc include/string.hh \
+       include/arithmetic-operator.hh include/string-handle.hh \
+       include/international.hh include/flower-debug.hh \
+       include/dstream.hh
+lgetopt.o lgetopt.lo: lgetopt.cc include/lgetopt.hh \
+       include/international.hh
+libc-extension.o libc-extension.lo: libc-extension.cc \
+       include/libc-extension.hh include/fproto.hh include/real.hh \
+       config.hh
+matrix-debug.o matrix-debug.lo: matrix-debug.cc include/flower-debug.hh \
+       include/dstream.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/matrix.hh \
+       include/matrix-storage.hh include/varray.hh \
+       include/virtual-methods.hh include/vector.hh
+matrix-storage.o matrix-storage.lo: matrix-storage.cc \
+       include/full-storage.hh include/varray.hh \
+       include/matrix-storage.hh include/real.hh \
+       include/virtual-methods.hh include/diagonal-storage.hh
+matrix.o matrix.lo: matrix.cc include/matrix.hh \
+       include/matrix-storage.hh include/varray.hh include/real.hh \
+       include/virtual-methods.hh include/vector.hh \
+       include/full-storage.hh include/diagonal-storage.hh
+nscalar.o nscalar.lo: nscalar.cc
+path.o path.lo: path.cc include/path.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/varray.hh \
+       include/flower-debug.hh include/dstream.hh
+rational.o rational.lo: rational.cc include/rational.hh \
+       include/compare.hh include/arithmetic-operator.hh \
+       include/fproto.hh include/real.hh include/string.hh \
+       include/string-handle.hh include/international.hh \
+       include/string-convert.hh include/libc-extension.hh config.hh
+scalar.o scalar.lo: scalar.cc include/scalar.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/rational.hh
+string-convert.o string-convert.lo: string-convert.cc \
+       include/libc-extension.hh include/fproto.hh include/real.hh \
+       config.hh include/string.hh include/arithmetic-operator.hh \
+       include/string-handle.hh include/international.hh \
+       include/compare.hh include/string-convert.hh \
+       include/rational.hh
+string.o string.lo: string.cc include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh \
+       include/libc-extension.hh config.hh include/string-convert.hh
+stringutil.o stringutil.lo: stringutil.cc include/string-handle.hh \
+       include/fproto.hh include/real.hh include/string-data.hh \
+       include/string.hh include/arithmetic-operator.hh \
+       include/international.hh include/compare.hh \
+       include/string-data.icc include/string-handle.icc \
+       include/string.icc
+text-db.o text-db.lo: text-db.cc include/text-db.hh include/data-file.hh \
+       include/text-stream.hh include/string.hh \
+       include/arithmetic-operator.hh include/fproto.hh \
+       include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/varray.hh
+text-stream.o text-stream.lo: text-stream.cc include/text-stream.hh \
+       include/string.hh include/arithmetic-operator.hh \
+       include/fproto.hh include/real.hh include/string-handle.hh \
+       include/international.hh include/compare.hh include/varray.hh
+unionfind.o unionfind.lo: unionfind.cc include/unionfind.hh \
+       include/varray.hh
+vector.o vector.lo: vector.cc include/vector.hh include/real.hh \
+       include/varray.hh
+
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-recursive-am: config.hh
+       $(MAKE) all-recursive
+
+all-am: Makefile $(LIBRARIES) config.hh
+
+install-exec-am: install-libLIBRARIES
+
+uninstall-am: uninstall-libLIBRARIES
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive install-exec-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive-am all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(libdir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-hdr mostlyclean-libLIBRARIES \
+               mostlyclean-compile mostlyclean-tags \
+               mostlyclean-generic
+
+clean-am:  clean-hdr clean-libLIBRARIES clean-compile clean-tags \
+               clean-generic mostlyclean-am
+
+distclean-am:  distclean-hdr distclean-libLIBRARIES distclean-compile \
+               distclean-tags distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-libLIBRARIES \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-generic distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f config.status
+
+.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
+maintainer-clean-hdr mostlyclean-libLIBRARIES distclean-libLIBRARIES \
+clean-libLIBRARIES maintainer-clean-libLIBRARIES uninstall-libLIBRARIES \
+install-libLIBRARIES mostlyclean-compile distclean-compile \
+clean-compile maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-recursive-am all-am install-exec-am uninstall-am \
+install-exec install-data install uninstall all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
index 4ead68b8d3db77a9164f815aea9be3194ff46bbc..3c150948156625bcfb54318b238b821de3088e17 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,23 @@
+pl 49
+       - parser assert changed to warning
+       - fix stdin reading
+       - small jcn fix
+       - changed unbound Spanner from assert to warning
+       - forced breakpoints
+       - add a nowildcard: stmt to wild-perl
+
+pl 48.jcn5
+       - ugh: double parser/lexer: 
+         be sure to rm lily/parser.cc lily/lexer.cc or bin/clien 
+         before re-running autowild!
+       - V.RSION 
+       - bin/clien bin/meek
+       - bf's: flower/VERSION, flower/config.hh, lily/lexer/VURSION
+         lib/config.hh bin/convent-mudela
+       - lost of automake fixes
+       - automake
+
+******
 pl 48
        - Pitch_squash_engraver makes Rhythmic_staff possible.
        - some fixes to buildscripts for sgi irix
diff --git a/PATCHES b/PATCHES
new file mode 100644 (file)
index 0000000..286d0c3
--- /dev/null
+++ b/PATCHES
@@ -0,0 +1,132 @@
+
+
+
+PATCHES(1)            LilyPond documentation           PATCHES(1)
+
+
+NAME
+       PATCHES - track and distribute your code changes
+
+DESCRIPTION
+       This page documents how to distribute your changes to GNU
+       LilyPond
+
+ABSTRACT
+       Distributing a change normally goes like this:
+
+       o    make your fix/add your code
+
+       o    generate a patch,
+
+       o    e-mail your patch to one of the mailing lists gnu-
+            music-discuss@gnu.org or bug-gnu-music@gnu.org (or if
+            you're a bit shy, to the maintainer).
+
+GENERATING A PATCH
+       In VERSION, set TOPLEVEL_MY_PATCH_LEVEL:
+
+           VERSION:
+               ...
+               TOPLEVEL_MY_PATCH_LEVEL = jcn1
+
+       In NEWS, enter a summary of changes:
+
+           NEWS:
+               pl 0.1.48.jcn1
+                       - added PATCHES.pod
+
+       Then, type something like
+
+           make-dist
+           mv out/lilypond-0.1.48.jcn1.tar.gz ../releases
+           make-patch
+
+       which leaves your patch as ./patch-0.1.48.jcn1.
+
+       or even simpler:
+
+           release
+
+           tar-ball: ../patches/patch-0.1.48.jcn1.gz
+           patch: ../patches/patch-0.1.48.jcn1.gz
+           updeet: ../test/updeet
+
+
+PREREQUISITES
+       For creating a patch you need
+
+       o    All items mentioned in INSTALL.  You're not going to
+            send a patch that you haven't even built, right?
+
+
+
+
+13/Mar/98                LilyPond 0.1.48                        1
+
+
+
+
+
+PATCHES(1)            LilyPond documentation           PATCHES(1)
+
+
+       o    GNU Diff
+
+       o    Python (version 1.4 or newer).  You can of course
+            make a patch by hand, which would go something like:
+
+                make distclean
+                cd ..
+                diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+
+            but there are handy python scripts available.  If
+            you're doing development, you'll need Python for
+            other LilyPond scripts anyway.
+
+       o    The Lily directory structure, which looks like:
+
+                lilypond-0.1.48/
+                patches/
+                releases/
+                test/
+
+
+       If you're not very quick with sending your patch, there's
+       a good chance that an new release of LilyPond comes
+       available.  In such a case (and sometimes for other unkown
+       reasons :-), the maintainer will probably ask you to make
+       a new patch against the latest release.  Your best bet is
+       to download the latest release, and apply your patch
+       against this new source tree:
+
+           cd lilypond-0.1.49
+           zpatch -p0 -E < ../patches/patch-0.1.48.jcn1.gz
+
+       Then, make a patch as shown above.
+
+MAINTAINER
+       Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+       Just keep on sending those patches!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+13/Mar/98                LilyPond 0.1.48                        2
+
+
diff --git a/TODO b/TODO
index 1950f517bddb3a2723b834a0b485af1051ce68cc..b981bc66403f61b083ee11defbcdbe09e5799efc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -14,8 +14,6 @@ grep for TODO and ugh/ugr
        - configure.in 
        - clean-fonts.sh
        
-       * forced breakpoints
-
        * nicen examples:
        - remove all \multi
        - break-up heavily-nested score blocks
@@ -34,8 +32,6 @@ grep for TODO and ugh/ugr
 
        * add a screenshot to the website. :)
 
-       * fix stdin input
-
        * documentation
        - introduction?
        - info?
@@ -48,8 +44,6 @@ grep for TODO and ugh/ugr
 
        * bf: abbrevs over whole note
 
-       * spanner that is not spanned gives assert ().
-
        * the warning about the negative slur/tie length appears twice
        which is irritating.
 
@@ -109,14 +103,8 @@ STUFF
 
        * xdvi: PS in magnifying glass.
 
-       * Rational infty(HUGE_VAL) on glibc / w32
-
        * Fix profiling. gprof bugreport?
 
-       * GS: /undefined in draw_beam after XDVI magnification.
-
-       * Rational global static var.
-
 PROJECTS
 
        * Unicode support?
@@ -136,11 +124,8 @@ PROJECTS
 
 
        * Makefile stuff:
-       - Use Automake
        - shared lib on Solaris too.
        - check libtool
-       - generate stuff in out/default, out/sun5-irix etc iso out/ 
-       and out-sun5/
 
        * Add mudela-output to Rosegarden.
 
@@ -270,7 +255,6 @@ languages:
        - allowing users to set them.
        - penalties
        - specify number of lines
-       - set linelength per line
 
        * Rhythmic staff.
 
@@ -434,8 +418,6 @@ Mudela.
 
        * naming of Voice_group/Voice
 
-       * benchmark band_matrices.
-
        * versioning stuff (cvt mudela, mudela, etc.)
 
        * a real convert-mudela
@@ -444,13 +426,11 @@ Mudela.
 
        * use String iso Text_def for lyrics.
 
-       * use position 0 for center of staff iso bottom.
-
        * Klavarskribo?
 
        * lyrics in chords still fuck up.
 
-       - rewire acknowledge_element() logic with a process_acknowledged()
+       * rewire acknowledge_element() logic with a process_acknowledged()
 
        * pushgroup/popgroup
 
diff --git a/VERSION b/VERSION
index 7936890dac88fc2a23780f3b86be742376d56928..0422161a66ab4a71742bcb58c08ad6054596a207 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,10 @@
-TOPLEVEL_MAJOR_VERSION = 0
-TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 48
-TOPLEVEL_MY_PATCH_LEVEL = 
+MAJOR_VERSION=0
+MINOR_VERSION=1
+PATCH_LEVEL=49
+MY_PATCH_LEVEL=
 
+# now used as shell script in configure too
+# leave no spaces around the equal signs!
 # use the above to send patches, always empty for released version:
 # please don't move these comments up; the patch should fail if 
 # the previous version was wrong.
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644 (file)
index 0000000..8c45edc
--- /dev/null
@@ -0,0 +1,86 @@
+
+AC_DEFUN(AC_JUNK_ARGS, [
+])
+
+AC_DEFUN(AC_LILY_WARN, [
+    AC_MSG_WARN($1)
+    warn_b=yes
+])
+
+dnl should cache result.
+dnl should  look in $prefix first.
+dnl should probably assume TDS
+
+AC_DEFUN(AC_TEX_PREFIX, [
+    
+
+    AC_MSG_CHECKING(TeX/MF root dir directory)    
+
+    find_root_prefix="$prefix"
+    
+
+    test "x$find_root_prefix" = xNONE && find_root_prefix="$ac_default_prefix"
+    find_texpostfix="";
+    for postfix in "/lib/tex/" "/lib/texmf" "/lib" "/tex" "/texmf"; do
+       find_texprefix="$find_root_prefix$postfix"
+       if test -d $find_texprefix; then
+           find_texpostfix=$postfix
+           break;
+       fi
+    done
+    
+    if test "x$find_texpostfix" = x; then
+       find_texpostfix='/lib/texmf/tex'
+       AC_LILY_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix)
+    fi
+
+    find_texprefix="$find_root_prefix/$find_texpostfix"
+
+    # only assign if variablename not empty
+    if test x != "x$1"; then
+       $1='${prefix}'/"$find_texpostfix"
+    fi
+    AC_MSG_RESULT($find_texprefix)
+
+])
+
+# find a directory inside a prefix, 
+# $1 the prefix (expanded version)
+# $2 variable to assign
+# $3 the directory name 
+# $4 description
+AC_DEFUN(AC_FIND_DIR_IN_PREFIX, [
+    
+    AC_MSG_CHECKING($4 directory)    
+    find_dirdir=`(cd $1; 
+      $FIND ./ -type d -a -name $3 -print |sort|head -1|sed 's#^\./##')`
+    
+
+    if test "x$find_dirdir" = x; then
+       find_dirdir="/$3";
+       AC_LILY_WARN(Cannot determine $4 subdirectory. Please set from command-line)
+       true
+    fi
+    $2=$find_dirdir
+    AC_MSG_RESULT($1/$find_dirdir)
+])
+
+AC_DEFUN(AC_TEX_SUBDIR, [
+dnl    AC_REQUIRE([AC_TEX_PREFIX])
+    AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, tex,TeX input)
+    $1="$TEXPREFIX/$$1"
+])
+
+AC_DEFUN(AC_MF_SUBDIR, [
+dnl     AC_REQUIRE([AC_TEX_PREFIX])
+    AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, source, MF input)
+    $1="$TEXPREFIX/$$1"
+])
+
+AC_DEFUN(AC_CHECK_SEARCH_RESULT, [
+       if test $1 = "error" 
+       then
+               AC_LILY_WARN(can't find $2. $3)
+       fi
+])
index 8c45edc9447a890c149d6090e2176af48f715cb9..c4b1fdc5e266149fc61e7521614e3388352734cd 100644 (file)
@@ -1,3 +1,5 @@
+dnl aclocal.m4 generated automatically by aclocal 1.2
+
 
 AC_DEFUN(AC_JUNK_ARGS, [
 ])
@@ -84,3 +86,117 @@ AC_DEFUN(AC_CHECK_SEARCH_RESULT, [
                AC_LILY_WARN(can't find $2. $3)
        fi
 ])
+
+# Do all the work for Automake.  This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AM_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
+AM_SANITY_CHECK
+AC_ARG_PROGRAM
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_PROG_MAKE_SET])
+
+
+# serial 1
+
+AC_DEFUN(AM_PROG_INSTALL,
+[AC_REQUIRE([AC_PROG_INSTALL])
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+AC_SUBST(INSTALL_SCRIPT)dnl
+])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "$@" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "[$]2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+   $1=$2
+   AC_MSG_RESULT(found)
+else
+   $1="$3/missing $2"
+   AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated.  We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+  case " <<$>>CONFIG_HEADERS " in
+  *" <<$>>am_file "*<<)>>
+    echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+    ;;
+  esac
+  am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
diff --git a/bin/Makefile b/bin/Makefile
deleted file mode 100644 (file)
index c328fef..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# bin/Makefile
-
-depth = ..
-include $(depth)/make/Include.make
-
-# list of distribution files:
-PERL_SCRIPTS_IN = $(wildcard *.pl)
-PERL_SCRIPTS = $(addprefix $(outdir)/, $(PERL_SCRIPTS_IN:.pl=))
-SH_SCRIPTS_IN = $(wildcard *.sh)
-SH_SCRIPTS = $(addprefix $(outdir)/, $(SH_SCRIPTS_IN:.sh=))
-PYTHON_SCRIPTS_IN = $(wildcard *.py)
-PYTHON_SCRIPTS = $(addprefix $(outdir)/, $(PYTHON_SCRIPTS_IN:.py=))
-EXTRA_DISTFILES = $(SH_SCRIPTS_IN) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN) 
-
-
-all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS)
-
-$(outdir)/%: %.pl
-       sed 's!@PERL@!$(PERL)!' < $< > $@
-       chmod 755 $@
-
-#FIXME.  Check for bash?
-$(outdir)/%: %.sh
-       sed 's!@SH@!$(SHELL)!' < $< > $@
-       chmod 755 $@
-
-$(outdir)/%: %.py
-       sed 's!@PYTHON@!$(PYTHON)!' < $< > $@
-       chmod 755 $@
-
-EXECUTABLES=convert-mudela mudela-book ly2dvi
-
-localinstall: all
-       $(INSTALL) -d $(bindir)
-       cd $(outdir); \
-               for a in $(EXECUTABLES); \
-               do $(INSTALL) -m 755 $$a $(bindir); \
-               done
-
-localuninstall:
-       for a in $(EXECUTABLES); \
-               do rm -f $(bindir)/convert-mudela $(bindir)/mudela-book; \
-               done
diff --git a/bin/Makefile.am b/bin/Makefile.am
new file mode 100644 (file)
index 0000000..5b8192b
--- /dev/null
@@ -0,0 +1,10 @@
+# Automatically generated from ./lilypond-0.1.49/bin/Makefile.am.wild by bin/autowild
+# Do not edit
+# bin/Makefile
+
+# bin_SCRIPTS = Makefile.in add-URLs.in clean-diaper.in clean-embeds.in clean-fonts.in conflily.in convert-mudela.in cvm.in find-typenames.in foo.in genheader.in ly2dvi.in make-docxx.in make-examples.in make-patch.in make-version.in make-website.in mf-deps.in mf-to-table.in mudela-book.in ps-to-gifs.in release.in show-latest.in
+
+PAREL_SCHRIFTEN = flower.py lilypython.py
+IN_SCHRIFTEN = flower.py lilypython.py
+EXTRA_DIST = Makefile.am.wild autowild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) wild-perl
+
diff --git a/bin/Makefile.am.wild b/bin/Makefile.am.wild
new file mode 100644 (file)
index 0000000..ba97f09
--- /dev/null
@@ -0,0 +1,8 @@
+# bin/Makefile
+
+# bin_SCRIPTS = $(wildcard *.in)
+
+PAREL_SCHRIFTEN = $(wildcard *.py)
+IN_SCHRIFTEN = $(wildcard *.py)
+EXTRA_DIST = Makefile.am.wild autowild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) wild-perl
+
diff --git a/bin/Makefile.in b/bin/Makefile.in
new file mode 100644 (file)
index 0000000..edff79e
--- /dev/null
@@ -0,0 +1,235 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./bin/Makefile.am.wild by bin/autowild
+# Do not edit
+# bin/Makefile
+
+# bin_SCRIPTS = Makefile.in add-URLs.in clean-diaper.in clean-embeds.in clean-fonts.in conflily.in convert-mudela.in cvm.in find-typenames.in foo.in genheader.in ly2dvi.in make-docxx.in make-examples.in make-patch.in make-version.in make-website.in mf-deps.in mf-to-table.in mudela-book.in ps-to-gifs.in release.in show-latest.in
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+PAREL_SCHRIFTEN = flower.py lilypython.py
+IN_SCHRIFTEN = flower.py lilypython.py
+EXTRA_DIST = Makefile.am.wild autowild $(PAREL_SCHRIFTEN) $(IN_SCHRIFTEN) wild-perl
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES =  add-URLs clean-diaper clean-embeds clean-fonts \
+conflily convert-mudela cvm find-typenames foo genheader ly2dvi \
+make-docxx make-examples make-patch make-version make-website mf-deps \
+mf-to-table mudela-book ps-to-gifs release show-latest
+DIST_COMMON =  Makefile.am Makefile.in add-URLs.in clean-diaper.in \
+clean-embeds.in clean-fonts.in conflily.in convert-mudela.in cvm.in \
+find-typenames.in foo.in genheader.in ly2dvi.in make-docxx.in \
+make-examples.in make-patch.in make-version.in make-website.in \
+mf-deps.in mf-to-table.in mudela-book.in ps-to-gifs.in release.in \
+show-latest.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps bin/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+add-URLs: $(top_builddir)/config.status add-URLs.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+clean-diaper: $(top_builddir)/config.status clean-diaper.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+clean-embeds: $(top_builddir)/config.status clean-embeds.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+clean-fonts: $(top_builddir)/config.status clean-fonts.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+conflily: $(top_builddir)/config.status conflily.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+convert-mudela: $(top_builddir)/config.status convert-mudela.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+cvm: $(top_builddir)/config.status cvm.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+find-typenames: $(top_builddir)/config.status find-typenames.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+foo: $(top_builddir)/config.status foo.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+genheader: $(top_builddir)/config.status genheader.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+ly2dvi: $(top_builddir)/config.status ly2dvi.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+make-docxx: $(top_builddir)/config.status make-docxx.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+make-examples: $(top_builddir)/config.status make-examples.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+make-patch: $(top_builddir)/config.status make-patch.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+make-version: $(top_builddir)/config.status make-version.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+make-website: $(top_builddir)/config.status make-website.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+mf-deps: $(top_builddir)/config.status mf-deps.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+mf-to-table: $(top_builddir)/config.status mf-to-table.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+mudela-book: $(top_builddir)/config.status mudela-book.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+ps-to-gifs: $(top_builddir)/config.status ps-to-gifs.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+release: $(top_builddir)/config.status release.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+show-latest: $(top_builddir)/config.status show-latest.in
+       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = bin
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/bin/add-URLs.in b/bin/add-URLs.in
new file mode 100644 (file)
index 0000000..a32e6f9
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# add URLs for broken perl 5.004
+
+perl -i~ -pe 's! ([a-z]+://[^ \t]+)! <a href=$1>$1</a>!g' $*
diff --git a/bin/add-URLs.sh b/bin/add-URLs.sh
deleted file mode 100644 (file)
index a32e6f9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# add URLs for broken perl 5.004
-
-perl -i~ -pe 's! ([a-z]+://[^ \t]+)! <a href=$1>$1</a>!g' $*
diff --git a/bin/autowild b/bin/autowild
new file mode 100755 (executable)
index 0000000..b3f5404
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+# autowild
+# for those of you that have no wild-automake
+
+# ugh
+verbose=true
+if test x$1 = x-v; then
+       verbose=echo
+fi
+
+#ugh
+# PERL=@PERL@
+PERL=/usr/bin/perl
+
+WILD_MAKEFILES=$(find . -name \*.wild)
+for i in $WILD_MAKEFILES; do
+       dir=$(dirname $i)
+       wild=$(basename $i)
+       make=$(basename $i .wild)
+       $verbose "autowild: creating $dir/$make"
+       TOPDIR=`pwd`
+       (cd $dir
+       rm -f $make
+       echo "# Automatically generated from $i by $0" > $make
+       echo "# Do not edit" >> $make
+       cat $wild | $PERL $TOPDIR/bin/wild-perl >> $make
+       )
+done
+       
diff --git a/bin/clean-diaper.in b/bin/clean-diaper.in
new file mode 100644 (file)
index 0000000..06be904
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# unclobber current dir.
+rm -vf *.aux *.log *.orig *~
+rm -vf `grep -li "^% Creator: GNU LilyPond" *.out *.tex` 
+rm -vf `grep -li "Creator: mi2mu" *.midi.ly`
+rm -vf `grep -li "%Creator: dvipsk" *.ps`
+rm -vf `grep -li "Creator: GNU LilyPond" *.midi`
+rm -vf `grep -li "Creator: ly2dvi" *.tex`
+rm -vf `find -name 'core'`
+rm -vf `find -name '*.orig'`
+rm -vf `find -name '*.rej'`
+
+    
+# docxx mess
+rm -vf *dvi
+rm -vf *.class  HIER*.html dxxgifs.tex gifs.db icon?.gif logo.gif down.gif \
+    aindex.html index.html
diff --git a/bin/clean-diaper.sh b/bin/clean-diaper.sh
deleted file mode 100644 (file)
index 06be904..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# unclobber current dir.
-rm -vf *.aux *.log *.orig *~
-rm -vf `grep -li "^% Creator: GNU LilyPond" *.out *.tex` 
-rm -vf `grep -li "Creator: mi2mu" *.midi.ly`
-rm -vf `grep -li "%Creator: dvipsk" *.ps`
-rm -vf `grep -li "Creator: GNU LilyPond" *.midi`
-rm -vf `grep -li "Creator: ly2dvi" *.tex`
-rm -vf `find -name 'core'`
-rm -vf `find -name '*.orig'`
-rm -vf `find -name '*.rej'`
-
-    
-# docxx mess
-rm -vf *dvi
-rm -vf *.class  HIER*.html dxxgifs.tex gifs.db icon?.gif logo.gif down.gif \
-    aindex.html index.html
diff --git a/bin/clean-embeds.in b/bin/clean-embeds.in
new file mode 100644 (file)
index 0000000..1b53f85
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+rm -f feta-sleur-[0-9x\-]*.mf
+rm -f feta-sleur-[0-9x\-]*.log
+rm -f feta-beum-[0-9x\-]*.mf
+rm -f feta-beum-[0-9x\-]*.log
+rm -f feta-embed.aux
+rm -f missfont.log
+clean-fonts sleur
+clean-fonts beum
diff --git a/bin/clean-embeds.sh b/bin/clean-embeds.sh
deleted file mode 100644 (file)
index 1b53f85..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rm -f feta-sleur-[0-9x\-]*.mf
-rm -f feta-sleur-[0-9x\-]*.log
-rm -f feta-beum-[0-9x\-]*.mf
-rm -f feta-beum-[0-9x\-]*.log
-rm -f feta-embed.aux
-rm -f missfont.log
-clean-fonts sleur
-clean-fonts beum
diff --git a/bin/clean-fonts.in b/bin/clean-fonts.in
new file mode 100644 (file)
index 0000000..202a873
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+case  $# in
+0) 
+    WHAT="" ;;
+1)
+    WHAT=$1;;
+esac
+
+# should use kpsepath 
+
+if [ -d /var/lib/texmf ]; then
+    TEXDIR=/var/lib/texmf
+elif [ -d /var/texfonts ]; then
+    TEXDIR=/var/texfonts
+else
+    TEXDIR=/var/
+fi
+
+# remove possibly stale .pk/.tfm files 
+echo> /tmp/cleaning-font-dummy
+FILES=`find $TEXDIR -name "feta*$WHAT*tfm" -or -name "feta*$WHAT*pk"`
+
+echo removing $FILES
+rm  $FILES /tmp/cleaning-font-dummy
diff --git a/bin/clean-fonts.sh b/bin/clean-fonts.sh
deleted file mode 100644 (file)
index 202a873..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-case  $# in
-0) 
-    WHAT="" ;;
-1)
-    WHAT=$1;;
-esac
-
-# should use kpsepath 
-
-if [ -d /var/lib/texmf ]; then
-    TEXDIR=/var/lib/texmf
-elif [ -d /var/texfonts ]; then
-    TEXDIR=/var/texfonts
-else
-    TEXDIR=/var/
-fi
-
-# remove possibly stale .pk/.tfm files 
-echo> /tmp/cleaning-font-dummy
-FILES=`find $TEXDIR -name "feta*$WHAT*tfm" -or -name "feta*$WHAT*pk"`
-
-echo removing $FILES
-rm  $FILES /tmp/cleaning-font-dummy
diff --git a/bin/conflily.in b/bin/conflily.in
new file mode 100644 (file)
index 0000000..a89f9e7
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/sh
+# conflily
+# ugh: must be executed from lilypond-x.x.x (bin/conflily)
+
+# the lilypond root dir looks like this:
+# current -> ./lilypond-x.x.x  symlink to current source
+# lilypond-x.x.x               the lilypond source
+# patches                      gzipped patches
+# releases                     gzipped releases
+
+# the lily root dir
+#
+lelie=$HOME/music/lily
+#
+
+if [ ! -e $HOME/lelie ]; then
+       ln -s $lelie $HOME/lelie
+fi
+
+rm $lelie/current 2>&1 > /dev/null
+current=`basename \`pwd\``
+echo ln -s $lelie/$current $lelie/current
+ln -s $lelie/$current $lelie/current
+
+ln -sf $lelie/current/lily/out/lilypond bin/out/lilypond
+ln -sf $lelie/current/mi2mu/out/mi2mu bin/out/mi2mu
+
+if [ "x$LILYINCLUDE" = "x" ]; then
+       echo you should make add the following to your login script
+       echo "export LILYINCLUDE=$lelie/current/init:$lelie/current/input:$lelie/current/mutopia:$lelie/current/mutopia/out:$lelie/current/input:$lelie/current/mutopia/J.S.Bach:$lelie/current/mutopia/J.S.Bach/out"
+       echo "export PATH=$PATH:$lelie/current/bin/out/"
+       echo "export MFINPUTS=$MFINPUTS:$lelie/current/mf"
+fi
+
+configure --prefix=/usr --enable-debugging --enable-printing --enable-checking
+
diff --git a/bin/conflily.sh b/bin/conflily.sh
deleted file mode 100644 (file)
index a89f9e7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# conflily
-# ugh: must be executed from lilypond-x.x.x (bin/conflily)
-
-# the lilypond root dir looks like this:
-# current -> ./lilypond-x.x.x  symlink to current source
-# lilypond-x.x.x               the lilypond source
-# patches                      gzipped patches
-# releases                     gzipped releases
-
-# the lily root dir
-#
-lelie=$HOME/music/lily
-#
-
-if [ ! -e $HOME/lelie ]; then
-       ln -s $lelie $HOME/lelie
-fi
-
-rm $lelie/current 2>&1 > /dev/null
-current=`basename \`pwd\``
-echo ln -s $lelie/$current $lelie/current
-ln -s $lelie/$current $lelie/current
-
-ln -sf $lelie/current/lily/out/lilypond bin/out/lilypond
-ln -sf $lelie/current/mi2mu/out/mi2mu bin/out/mi2mu
-
-if [ "x$LILYINCLUDE" = "x" ]; then
-       echo you should make add the following to your login script
-       echo "export LILYINCLUDE=$lelie/current/init:$lelie/current/input:$lelie/current/mutopia:$lelie/current/mutopia/out:$lelie/current/input:$lelie/current/mutopia/J.S.Bach:$lelie/current/mutopia/J.S.Bach/out"
-       echo "export PATH=$PATH:$lelie/current/bin/out/"
-       echo "export MFINPUTS=$MFINPUTS:$lelie/current/mf"
-fi
-
-configure --prefix=/usr --enable-debugging --enable-printing --enable-checking
-
diff --git a/bin/convert-mudela.in b/bin/convert-mudela.in
new file mode 100644 (file)
index 0000000..3be80d9
--- /dev/null
@@ -0,0 +1,363 @@
+#!@PERL@ -w
+# -*-perl-*-
+
+=head1 TODO
+
+    detect \lyrics and \melodic, and do substitution accordingly.
+    count <> and {} ?
+
+Ugh . Perl sux. Anybody for Python?
+    
+=cut    
+
+
+
+#
+# version of "supporting" engine, not mudela conversions.
+# 
+
+
+
+
+$convert_mudela_version = "0.1.2";
+
+use Getopt::Long;
+
+
+sub version_compare
+{
+    local ($a,$b)=@_;
+    return &cmpver;
+}
+    
+
+sub  cmpver 
+{      
+       my(@a)= split /\./,$a;
+       my(@b)= split /\./,$b;
+
+       for $i (0,1,2) {
+           return $a[$i] <=> $b[$i] if ($a[$i] != $b[$i]);
+       }
+       return $a cmp $b;
+}
+
+sub version_string_conv
+{
+    my ($from_version, $to_version) = @_;
+    s/\version \"$from_version\"/\version \"$to_version\"/g;
+}
+
+################################################################
+
+sub no_conv
+{
+}
+sub convert_0_0_52_to_0_0_53
+{
+
+    s/include \"/$1\\include \"/g;
+}
+
+  
+sub convert_0_0_54_to_0_0_55
+{
+    s/%{/% {/g;
+}
+
+  
+sub convert_0_0_53_to_0_0_54
+{
+    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
+}
+
+# we-re not at 58 yet, but this is at least one of the rules
+sub convert_0_0_55_to_0_0_56
+{
+    s/\"\|\|\"/\"|.\"/g;
+}
+
+sub convert_0_0_56_to_0_0_57
+{
+    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
+}
+
+sub convert_0_0_57_to_0_0_58
+{
+    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
+}
+
+sub convert_0_0_58_to_0_0_59
+{
+    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
+}
+
+sub convert_0_0_59_to_0_0_60
+{
+    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
+    s/(\\output \"[^\"]+\")/$1;/;
+    s/(\\tempo  [0-9: ]+)/$1;/;
+}
+
+sub convert_0_0_60_to_0_0_61
+{
+    s/(\\unitspace|\\geometric|\\width)/$1=/g;
+   
+}
+
+sub convert_0_1_0_to_0_1_1
+{
+    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
+}
+
+sub convert_0_1_2_to_0_1_3
+{
+    s/\\stem *(\\up|1) *;/\\stemup/g;
+    s/\\stem *(\\down|-1) *;/\\stemdown/g;
+    s/\\stem *0 *;/\\stemboth/g;
+    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
+}
+
+my $header_b = 0;
+
+sub generic_conversion_scan
+{
+    if (/\\header *\{/)
+    {
+       $header_b = 1;
+    }
+    if ($header_b && /^ *\}/)
+    {
+       $header_b = 0;
+    }
+}
+sub convert_0_1_4_to_0_1_5
+{
+    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
+    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
+}
+
+       
+sub convert_0_1_5_to_0_1_6
+{
+    s/< *\\multi (.*);/\\multi $1 </;
+}
+
+sub convert_0_1_6_to_0_1_7
+{
+    if ($header_b) 
+    {
+       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
+       s/^([ \t])+(.*)$/$1 \"$2\";/;
+    }
+}  
+
+sub convert_0_1_7_to_0_1_8
+{
+    s/\\plet *1 *\/ *1 *;/\\]/;    
+    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
+}  
+
+sub convert_0_1_8_to_0_1_9
+{
+# sticky plet shorthand...
+#  print "introduced plet and finger shorthands...\n";
+}
+
+###############################################################
+
+sub    last_conversion
+{
+    my @v = &versions;
+    return pop @v;
+}
+sub identify
+{
+    
+    print STDERR "This is convert-mudela " . $convert_mudela_version . 
+       " (up to mudela version ", last_conversion,     ")\n";
+}
+  
+  
+ sub usage
+  {
+     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
+     . "Convert old mudela source from mudela-file or stdin\n\n"
+     . "Options:\n"
+     . "  -e, --edit             perform in-place conversion\n"
+     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
+     . "  -h, --help             print this help\n"
+     . "  -o, --output=FILE      name output file\n"
+     . "  -s, --show-rules       print all known conversion rules\n"
+     . "  -t, --to=VERSION       convert to version VERSION\n"
+  }
+      
+
+my %minor_conversions = ("0.0.50" => \&no_conv,
+                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
+                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
+                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
+                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
+                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
+                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
+                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
+                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
+                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
+                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
+                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
+                        "0.1.2" => \&no_conv,
+                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
+                        "0.1.4" => \&no_conv,
+                        "0.1.5" => \&convert_0_1_4_to_0_1_5,
+                        "0.1.6" => \&convert_0_1_5_to_0_1_6
+                        ,"0.1.7" => \&convert_0_1_6_to_0_1_7
+                        ,"0.1.8" => \&convert_0_1_7_to_0_1_8
+                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
+                        );
+
+
+sub versions 
+{
+    return (sort { cmpver; } (keys %minor_conversions));
+}
+
+
+sub show_rules
+{
+    my (@v) = versions;
+
+    print "Rules: ", join(", ", @v), "\n";
+    
+}
+
+sub do_conversion
+{
+    my ($from,$to) = @_;
+
+    my @applicable_conversion;
+    my @mudela_levels;
+    
+    my @v = versions;
+    foreach $ver (@v) {
+       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
+           push @applicable_conversion, $minor_conversions{$ver};
+           push @mudela_levels, $ver;
+       }
+    }
+    
+    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
+
+    while (<INLY>) {
+       generic_conversion_scan;
+       foreach $subroutine (@applicable_conversion) {
+       
+           &$subroutine;
+           
+       }
+       version_string_conv $from, $to;
+       print OUTLY;
+    }
+}
+
+sub get_auto_from
+{
+    my ($fn)=@_;
+    my ($ver);
+    open INLY, $fn || die "Can't open";
+
+    while (<INLY>) {
+       s/^.*\\version \"([^\"]*)\".*$//;
+       if (defined ($1)) {
+           print STDERR "Guessing version: ", $1, ".. ";
+           $ver = $1;
+           last;
+       }
+    }
+    if (!defined($ver)){
+       print STDERR "can't determine mudela version in $fn.\n";
+       my $u;
+       return $u;
+    }
+    close INLY;
+    return $ver;
+}   
+
+sub  set_files 
+{
+    $infile = "-";
+    $outfile = "-";
+    $outfile = $opt_output if (defined($opt_output));
+
+    if ($ARGV [0])  {
+       $infile = $ARGV[0];
+    } 
+    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
+       $infile .= ".ly";
+    }
+    if ($opt_edit && $infile ne "-") {
+       $opt_edit = 1;
+       $outfile = "$infile.NEW";
+       $infile = "$infile";
+    }
+    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
+
+}
+
+sub do_one_arg
+{
+    set_files;
+
+    local ($from_version, $to_version);
+    $from_version = $opt_from;
+    $to_version = $opt_to;
+    
+    ($from_version = get_auto_from $infile) unless defined($opt_from);
+    return if (!defined($from_version));
+    
+    ($to_version =  last_conversion) unless (defined($opt_to));
+
+    die "can't open \`$infile\'" unless open INLY,$infile ;
+    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
+    
+    do_conversion $from_version, $to_version;
+    close INLY;
+    close OUTLY;
+
+    if ($opt_edit) {
+       rename $infile, "$infile~";
+       rename $outfile, "$infile";
+    }
+}
+
+## "main"
+
+identify;
+
+
+GetOptions ("help", "output=s", "from=s", "to=s", "minor=i", "edit", "show-rules");
+
+if ($opt_help) {
+    usage();
+    $opt_help = 0;     # to extinguish typo check.
+    exit 0;
+}
+
+if ($opt_show_rules) { 
+    show_rules ;
+    $opt_show_rules = 0;       # to extinguish typo check.
+    exit 0;
+}
+
+local ( $infile,$outfile);
+my $processed_one=0;
+
+while (defined($ARGV[0])) {
+    do_one_arg;
+    shift @ARGV;
+    $processed_one = 1;
+}
+do_one_arg unless ($processed_one);
+
+    
diff --git a/bin/convert-mudela.pl b/bin/convert-mudela.pl
deleted file mode 100644 (file)
index 3be80d9..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-#!@PERL@ -w
-# -*-perl-*-
-
-=head1 TODO
-
-    detect \lyrics and \melodic, and do substitution accordingly.
-    count <> and {} ?
-
-Ugh . Perl sux. Anybody for Python?
-    
-=cut    
-
-
-
-#
-# version of "supporting" engine, not mudela conversions.
-# 
-
-
-
-
-$convert_mudela_version = "0.1.2";
-
-use Getopt::Long;
-
-
-sub version_compare
-{
-    local ($a,$b)=@_;
-    return &cmpver;
-}
-    
-
-sub  cmpver 
-{      
-       my(@a)= split /\./,$a;
-       my(@b)= split /\./,$b;
-
-       for $i (0,1,2) {
-           return $a[$i] <=> $b[$i] if ($a[$i] != $b[$i]);
-       }
-       return $a cmp $b;
-}
-
-sub version_string_conv
-{
-    my ($from_version, $to_version) = @_;
-    s/\version \"$from_version\"/\version \"$to_version\"/g;
-}
-
-################################################################
-
-sub no_conv
-{
-}
-sub convert_0_0_52_to_0_0_53
-{
-
-    s/include \"/$1\\include \"/g;
-}
-
-  
-sub convert_0_0_54_to_0_0_55
-{
-    s/%{/% {/g;
-}
-
-  
-sub convert_0_0_53_to_0_0_54
-{
-    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
-}
-
-# we-re not at 58 yet, but this is at least one of the rules
-sub convert_0_0_55_to_0_0_56
-{
-    s/\"\|\|\"/\"|.\"/g;
-}
-
-sub convert_0_0_56_to_0_0_57
-{
-    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
-}
-
-sub convert_0_0_57_to_0_0_58
-{
-    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
-}
-
-sub convert_0_0_58_to_0_0_59
-{
-    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
-}
-
-sub convert_0_0_59_to_0_0_60
-{
-    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
-    s/(\\output \"[^\"]+\")/$1;/;
-    s/(\\tempo  [0-9: ]+)/$1;/;
-}
-
-sub convert_0_0_60_to_0_0_61
-{
-    s/(\\unitspace|\\geometric|\\width)/$1=/g;
-   
-}
-
-sub convert_0_1_0_to_0_1_1
-{
-    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
-}
-
-sub convert_0_1_2_to_0_1_3
-{
-    s/\\stem *(\\up|1) *;/\\stemup/g;
-    s/\\stem *(\\down|-1) *;/\\stemdown/g;
-    s/\\stem *0 *;/\\stemboth/g;
-    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
-}
-
-my $header_b = 0;
-
-sub generic_conversion_scan
-{
-    if (/\\header *\{/)
-    {
-       $header_b = 1;
-    }
-    if ($header_b && /^ *\}/)
-    {
-       $header_b = 0;
-    }
-}
-sub convert_0_1_4_to_0_1_5
-{
-    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
-    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
-}
-
-       
-sub convert_0_1_5_to_0_1_6
-{
-    s/< *\\multi (.*);/\\multi $1 </;
-}
-
-sub convert_0_1_6_to_0_1_7
-{
-    if ($header_b) 
-    {
-       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
-       s/^([ \t])+(.*)$/$1 \"$2\";/;
-    }
-}  
-
-sub convert_0_1_7_to_0_1_8
-{
-    s/\\plet *1 *\/ *1 *;/\\]/;    
-    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
-}  
-
-sub convert_0_1_8_to_0_1_9
-{
-# sticky plet shorthand...
-#  print "introduced plet and finger shorthands...\n";
-}
-
-###############################################################
-
-sub    last_conversion
-{
-    my @v = &versions;
-    return pop @v;
-}
-sub identify
-{
-    
-    print STDERR "This is convert-mudela " . $convert_mudela_version . 
-       " (up to mudela version ", last_conversion,     ")\n";
-}
-  
-  
- sub usage
-  {
-     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
-     . "Convert old mudela source from mudela-file or stdin\n\n"
-     . "Options:\n"
-     . "  -e, --edit             perform in-place conversion\n"
-     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
-     . "  -h, --help             print this help\n"
-     . "  -o, --output=FILE      name output file\n"
-     . "  -s, --show-rules       print all known conversion rules\n"
-     . "  -t, --to=VERSION       convert to version VERSION\n"
-  }
-      
-
-my %minor_conversions = ("0.0.50" => \&no_conv,
-                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
-                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
-                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
-                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
-                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
-                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
-                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
-                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
-                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
-                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
-                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
-                        "0.1.2" => \&no_conv,
-                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
-                        "0.1.4" => \&no_conv,
-                        "0.1.5" => \&convert_0_1_4_to_0_1_5,
-                        "0.1.6" => \&convert_0_1_5_to_0_1_6
-                        ,"0.1.7" => \&convert_0_1_6_to_0_1_7
-                        ,"0.1.8" => \&convert_0_1_7_to_0_1_8
-                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
-                        );
-
-
-sub versions 
-{
-    return (sort { cmpver; } (keys %minor_conversions));
-}
-
-
-sub show_rules
-{
-    my (@v) = versions;
-
-    print "Rules: ", join(", ", @v), "\n";
-    
-}
-
-sub do_conversion
-{
-    my ($from,$to) = @_;
-
-    my @applicable_conversion;
-    my @mudela_levels;
-    
-    my @v = versions;
-    foreach $ver (@v) {
-       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
-           push @applicable_conversion, $minor_conversions{$ver};
-           push @mudela_levels, $ver;
-       }
-    }
-    
-    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
-
-    while (<INLY>) {
-       generic_conversion_scan;
-       foreach $subroutine (@applicable_conversion) {
-       
-           &$subroutine;
-           
-       }
-       version_string_conv $from, $to;
-       print OUTLY;
-    }
-}
-
-sub get_auto_from
-{
-    my ($fn)=@_;
-    my ($ver);
-    open INLY, $fn || die "Can't open";
-
-    while (<INLY>) {
-       s/^.*\\version \"([^\"]*)\".*$//;
-       if (defined ($1)) {
-           print STDERR "Guessing version: ", $1, ".. ";
-           $ver = $1;
-           last;
-       }
-    }
-    if (!defined($ver)){
-       print STDERR "can't determine mudela version in $fn.\n";
-       my $u;
-       return $u;
-    }
-    close INLY;
-    return $ver;
-}   
-
-sub  set_files 
-{
-    $infile = "-";
-    $outfile = "-";
-    $outfile = $opt_output if (defined($opt_output));
-
-    if ($ARGV [0])  {
-       $infile = $ARGV[0];
-    } 
-    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
-       $infile .= ".ly";
-    }
-    if ($opt_edit && $infile ne "-") {
-       $opt_edit = 1;
-       $outfile = "$infile.NEW";
-       $infile = "$infile";
-    }
-    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
-
-}
-
-sub do_one_arg
-{
-    set_files;
-
-    local ($from_version, $to_version);
-    $from_version = $opt_from;
-    $to_version = $opt_to;
-    
-    ($from_version = get_auto_from $infile) unless defined($opt_from);
-    return if (!defined($from_version));
-    
-    ($to_version =  last_conversion) unless (defined($opt_to));
-
-    die "can't open \`$infile\'" unless open INLY,$infile ;
-    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
-    
-    do_conversion $from_version, $to_version;
-    close INLY;
-    close OUTLY;
-
-    if ($opt_edit) {
-       rename $infile, "$infile~";
-       rename $outfile, "$infile";
-    }
-}
-
-## "main"
-
-identify;
-
-
-GetOptions ("help", "output=s", "from=s", "to=s", "minor=i", "edit", "show-rules");
-
-if ($opt_help) {
-    usage();
-    $opt_help = 0;     # to extinguish typo check.
-    exit 0;
-}
-
-if ($opt_show_rules) { 
-    show_rules ;
-    $opt_show_rules = 0;       # to extinguish typo check.
-    exit 0;
-}
-
-local ( $infile,$outfile);
-my $processed_one=0;
-
-while (defined($ARGV[0])) {
-    do_one_arg;
-    shift @ARGV;
-    $processed_one = 1;
-}
-do_one_arg unless ($processed_one);
-
-    
diff --git a/bin/convert-mudela.py b/bin/convert-mudela.py
deleted file mode 100644 (file)
index 9654db9..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-#!@PYTHON@ -w
-# -*-perl-*-
-
-version = "0.2";
-
-################################################################
-
-sub no_conv
-{
-}
-sub convert_0_0_52_to_0_0_53
-{
-
-    s/include \"/$1\\include \"/g;
-}
-
-  
-sub convert_0_0_54_to_0_0_55
-{
-    s/%{/% {/g;
-}
-
-  
-sub convert_0_0_53_to_0_0_54
-{
-    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
-}
-
-# we-re not at 58 yet, but this is at least one of the rules
-sub convert_0_0_55_to_0_0_56
-{
-    s/\"\|\|\"/\"|.\"/g;
-}
-
-sub convert_0_0_56_to_0_0_57
-{
-    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
-}
-
-sub convert_0_0_57_to_0_0_58
-{
-    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
-}
-
-sub convert_0_0_58_to_0_0_59
-{
-    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
-}
-
-sub convert_0_0_59_to_0_0_60
-{
-    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
-    s/(\\output \"[^\"]+\")/$1;/;
-    s/(\\tempo  [0-9: ]+)/$1;/;
-}
-
-sub convert_0_0_60_to_0_0_61
-{
-    s/(\\unitspace|\\geometric|\\width)/$1=/g;
-   
-}
-
-sub convert_0_1_0_to_0_1_1
-{
-    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
-}
-
-sub convert_0_1_2_to_0_1_3
-{
-    s/\\stem *(\\up|1) *;/\\stemup/g;
-    s/\\stem *(\\down|-1) *;/\\stemdown/g;
-    s/\\stem *0 *;/\\stemboth/g;
-    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
-}
-
-my $header_b = 0;
-
-sub generic_conversion_scan
-{
-    if (/\\header *\{/)
-    {
-       $header_b = 1;
-    }
-    if ($header_b && /^ *\}/)
-    {
-       $header_b = 0;
-    }
-}
-sub convert_0_1_4_to_0_1_5
-{
-    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
-    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
-}
-
-       
-sub convert_0_1_5_to_0_1_6
-{
-    s/< *\\multi (.*);/\\multi $1 </;
-}
-
-sub convert_0_1_6_to_0_1_7
-{
-    if ($header_b) 
-    {
-       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
-       s/^([ \t])+(.*)$/$1 \"$2\";/;
-    }
-}  
-
-sub convert_0_1_7_to_0_1_8
-{
-    s/\\plet *1 *\/ *1 *;/\\]/;    
-    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
-}  
-
-sub convert_0_1_8_to_0_1_9
-{
-# sticky plet shorthand...
-#  print "introduced plet and finger shorthands...\n";
-}
-
-###############################################################
-
-sub    last_conversion
-{
-    my @v = &versions;
-    return pop @v;
-}
-sub identify
-{
-    
-    print STDERR "This is convert-mudela " . $convert_mudela_version . 
-       " (up to mudela version ", last_conversion,     ")\n";
-}
-  
-  
- sub usage
-  {
-     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
-     . "Convert old mudela source from mudela-file or stdin\n\n"
-     . "Options:\n"
-     . "  -e, --edit             perform in-place conversion\n"
-     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
-     . "  -h, --help             print this help\n"
-     . "  -o, --output=FILE      name output file\n"
-     . "  -s, --show-rules       print all known conversion rules\n"
-     . "  -t, --to=VERSION       convert to version VERSION\n"
-  }
-      
-
-my %minor_conversions = ("0.0.50" => \&no_conv,
-                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
-                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
-                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
-                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
-                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
-                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
-                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
-                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
-                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
-                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
-                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
-                        "0.1.2" => \&no_conv,
-                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
-                        "0.1.4" => \&no_conv,
-                        "0.1.5" => \&convert_0_1_4_to_0_1_5,
-                        "0.1.6" => \&convert_0_1_5_to_0_1_6
-                        ,"0.1.7" => \&convert_0_1_6_to_0_1_7
-                        ,"0.1.8" => \&convert_0_1_7_to_0_1_8
-                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
-                        );
-
-
-sub versions 
-{
-    return (sort { cmpver; } (keys %minor_conversions));
-}
-
-
-sub show_rules
-{
-    my (@v) = versions;
-
-    print "Rules: ", join(", ", @v), "\n";
-    
-}
-
-sub do_conversion
-{
-    my ($from,$to) = @_;
-
-    my @applicable_conversion;
-    my @mudela_levels;
-    
-    my @v = versions;
-    foreach $ver (@v) {
-       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
-           push @applicable_conversion, $minor_conversions{$ver};
-           push @mudela_levels, $ver;
-       }
-    }
-    
-    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
-
-    while (<INLY>) {
-       generic_conversion_scan;
-       foreach $subroutine (@applicable_conversion) {
-       
-           &$subroutine;
-           
-       }
-       version_string_conv $from, $to;
-       print OUTLY;
-    }
-}
-
-sub get_auto_from
-{
-    my ($fn)=@_;
-    my ($ver);
-    open INLY, $fn || die "Can't open";
-
-    while (<INLY>) {
-       s/^.*\\version \"([^\"]*)\".*$//;
-       if (defined ($1)) {
-           print STDERR "Guessing version: ", $1, ".. ";
-           $ver = $1;
-           last;
-       }
-    }
-    if (!defined($ver)){
-       print STDERR "can't determine mudela version in $fn.\n";
-       my $u;
-       return $u;
-    }
-    close INLY;
-    return $ver;
-}   
-
-sub  set_files 
-{
-    $infile = "-";
-    $outfile = "-";
-    $outfile = $opt_output if (defined($opt_output));
-
-    if ($ARGV [0])  {
-       $infile = $ARGV[0];
-    } 
-    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
-       $infile .= ".ly";
-    }
-    if ($opt_edit && $infile ne "-") {
-       $opt_edit = 1;
-       $outfile = "$infile.NEW";
-       $infile = "$infile";
-    }
-    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
-
-}
-
-sub do_one_arg
-{
-    set_files;
-
-    local ($from_version, $to_version);
-    $from_version = $opt_from;
-    $to_version = $opt_to;
-    
-    ($from_version = get_auto_from $infile) unless defined($opt_from);
-    return if (!defined($from_version));
-    
-    ($to_version =  last_conversion) unless (defined($opt_to));
-
-    die "can't open \`$infile\'" unless open INLY,$infile ;
-    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
-    
-    do_conversion $from_version, $to_version;
-    close INLY;
-    close OUTLY;
-
-    if ($opt_edit) {
-       rename $infile, "$infile~";
-       rename $outfile, "$infile";
-    }
-}
-
-## "main"
-
-identify;
-
-
-GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
-
-if ($opt_help) {
-    usage();
-    $opt_help = 0;     # to extinguish typo check.
-    exit 0;
-}
-
-if ($opt_show_rules) { 
-    show_rules ;
-    $opt_show_rules = 0;       # to extinguish typo check.
-    exit 0;
-}
-
-local ( $infile,$outfile);
-my $processed_one=0;
-
-while (defined($ARGV[0])) {
-    do_one_arg;
-    shift @ARGV;
-    $processed_one = 1;
-}
-do_one_arg unless ($processed_one);
-
-    
diff --git a/bin/cvm.in b/bin/cvm.in
new file mode 100644 (file)
index 0000000..9654db9
--- /dev/null
@@ -0,0 +1,318 @@
+#!@PYTHON@ -w
+# -*-perl-*-
+
+version = "0.2";
+
+################################################################
+
+sub no_conv
+{
+}
+sub convert_0_0_52_to_0_0_53
+{
+
+    s/include \"/$1\\include \"/g;
+}
+
+  
+sub convert_0_0_54_to_0_0_55
+{
+    s/%{/% {/g;
+}
+
+  
+sub convert_0_0_53_to_0_0_54
+{
+    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
+}
+
+# we-re not at 58 yet, but this is at least one of the rules
+sub convert_0_0_55_to_0_0_56
+{
+    s/\"\|\|\"/\"|.\"/g;
+}
+
+sub convert_0_0_56_to_0_0_57
+{
+    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
+}
+
+sub convert_0_0_57_to_0_0_58
+{
+    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
+}
+
+sub convert_0_0_58_to_0_0_59
+{
+    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
+}
+
+sub convert_0_0_59_to_0_0_60
+{
+    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
+    s/(\\output \"[^\"]+\")/$1;/;
+    s/(\\tempo  [0-9: ]+)/$1;/;
+}
+
+sub convert_0_0_60_to_0_0_61
+{
+    s/(\\unitspace|\\geometric|\\width)/$1=/g;
+   
+}
+
+sub convert_0_1_0_to_0_1_1
+{
+    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
+}
+
+sub convert_0_1_2_to_0_1_3
+{
+    s/\\stem *(\\up|1) *;/\\stemup/g;
+    s/\\stem *(\\down|-1) *;/\\stemdown/g;
+    s/\\stem *0 *;/\\stemboth/g;
+    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
+}
+
+my $header_b = 0;
+
+sub generic_conversion_scan
+{
+    if (/\\header *\{/)
+    {
+       $header_b = 1;
+    }
+    if ($header_b && /^ *\}/)
+    {
+       $header_b = 0;
+    }
+}
+sub convert_0_1_4_to_0_1_5
+{
+    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
+    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
+}
+
+       
+sub convert_0_1_5_to_0_1_6
+{
+    s/< *\\multi (.*);/\\multi $1 </;
+}
+
+sub convert_0_1_6_to_0_1_7
+{
+    if ($header_b) 
+    {
+       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
+       s/^([ \t])+(.*)$/$1 \"$2\";/;
+    }
+}  
+
+sub convert_0_1_7_to_0_1_8
+{
+    s/\\plet *1 *\/ *1 *;/\\]/;    
+    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
+}  
+
+sub convert_0_1_8_to_0_1_9
+{
+# sticky plet shorthand...
+#  print "introduced plet and finger shorthands...\n";
+}
+
+###############################################################
+
+sub    last_conversion
+{
+    my @v = &versions;
+    return pop @v;
+}
+sub identify
+{
+    
+    print STDERR "This is convert-mudela " . $convert_mudela_version . 
+       " (up to mudela version ", last_conversion,     ")\n";
+}
+  
+  
+ sub usage
+  {
+     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
+     . "Convert old mudela source from mudela-file or stdin\n\n"
+     . "Options:\n"
+     . "  -e, --edit             perform in-place conversion\n"
+     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
+     . "  -h, --help             print this help\n"
+     . "  -o, --output=FILE      name output file\n"
+     . "  -s, --show-rules       print all known conversion rules\n"
+     . "  -t, --to=VERSION       convert to version VERSION\n"
+  }
+      
+
+my %minor_conversions = ("0.0.50" => \&no_conv,
+                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
+                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
+                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
+                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
+                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
+                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
+                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
+                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
+                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
+                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
+                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
+                        "0.1.2" => \&no_conv,
+                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
+                        "0.1.4" => \&no_conv,
+                        "0.1.5" => \&convert_0_1_4_to_0_1_5,
+                        "0.1.6" => \&convert_0_1_5_to_0_1_6
+                        ,"0.1.7" => \&convert_0_1_6_to_0_1_7
+                        ,"0.1.8" => \&convert_0_1_7_to_0_1_8
+                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
+                        );
+
+
+sub versions 
+{
+    return (sort { cmpver; } (keys %minor_conversions));
+}
+
+
+sub show_rules
+{
+    my (@v) = versions;
+
+    print "Rules: ", join(", ", @v), "\n";
+    
+}
+
+sub do_conversion
+{
+    my ($from,$to) = @_;
+
+    my @applicable_conversion;
+    my @mudela_levels;
+    
+    my @v = versions;
+    foreach $ver (@v) {
+       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
+           push @applicable_conversion, $minor_conversions{$ver};
+           push @mudela_levels, $ver;
+       }
+    }
+    
+    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
+
+    while (<INLY>) {
+       generic_conversion_scan;
+       foreach $subroutine (@applicable_conversion) {
+       
+           &$subroutine;
+           
+       }
+       version_string_conv $from, $to;
+       print OUTLY;
+    }
+}
+
+sub get_auto_from
+{
+    my ($fn)=@_;
+    my ($ver);
+    open INLY, $fn || die "Can't open";
+
+    while (<INLY>) {
+       s/^.*\\version \"([^\"]*)\".*$//;
+       if (defined ($1)) {
+           print STDERR "Guessing version: ", $1, ".. ";
+           $ver = $1;
+           last;
+       }
+    }
+    if (!defined($ver)){
+       print STDERR "can't determine mudela version in $fn.\n";
+       my $u;
+       return $u;
+    }
+    close INLY;
+    return $ver;
+}   
+
+sub  set_files 
+{
+    $infile = "-";
+    $outfile = "-";
+    $outfile = $opt_output if (defined($opt_output));
+
+    if ($ARGV [0])  {
+       $infile = $ARGV[0];
+    } 
+    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
+       $infile .= ".ly";
+    }
+    if ($opt_edit && $infile ne "-") {
+       $opt_edit = 1;
+       $outfile = "$infile.NEW";
+       $infile = "$infile";
+    }
+    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
+
+}
+
+sub do_one_arg
+{
+    set_files;
+
+    local ($from_version, $to_version);
+    $from_version = $opt_from;
+    $to_version = $opt_to;
+    
+    ($from_version = get_auto_from $infile) unless defined($opt_from);
+    return if (!defined($from_version));
+    
+    ($to_version =  last_conversion) unless (defined($opt_to));
+
+    die "can't open \`$infile\'" unless open INLY,$infile ;
+    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
+    
+    do_conversion $from_version, $to_version;
+    close INLY;
+    close OUTLY;
+
+    if ($opt_edit) {
+       rename $infile, "$infile~";
+       rename $outfile, "$infile";
+    }
+}
+
+## "main"
+
+identify;
+
+
+GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
+
+if ($opt_help) {
+    usage();
+    $opt_help = 0;     # to extinguish typo check.
+    exit 0;
+}
+
+if ($opt_show_rules) { 
+    show_rules ;
+    $opt_show_rules = 0;       # to extinguish typo check.
+    exit 0;
+}
+
+local ( $infile,$outfile);
+my $processed_one=0;
+
+while (defined($ARGV[0])) {
+    do_one_arg;
+    shift @ARGV;
+    $processed_one = 1;
+}
+do_one_arg unless ($processed_one);
+
+    
diff --git a/bin/cvm.py b/bin/cvm.py
deleted file mode 100644 (file)
index 9654db9..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-#!@PYTHON@ -w
-# -*-perl-*-
-
-version = "0.2";
-
-################################################################
-
-sub no_conv
-{
-}
-sub convert_0_0_52_to_0_0_53
-{
-
-    s/include \"/$1\\include \"/g;
-}
-
-  
-sub convert_0_0_54_to_0_0_55
-{
-    s/%{/% {/g;
-}
-
-  
-sub convert_0_0_53_to_0_0_54
-{
-    print STDERR "Not smart enough to convert \\transpose\n"    if (/\\transpose/) ;
-}
-
-# we-re not at 58 yet, but this is at least one of the rules
-sub convert_0_0_55_to_0_0_56
-{
-    s/\"\|\|\"/\"|.\"/g;
-}
-
-sub convert_0_0_56_to_0_0_57
-{
-    s/\(([ \]\[|\t-\.>]|\\[<!>a-z]+)*\)/\~ $1/g;
-}
-
-sub convert_0_0_57_to_0_0_58
-{
-    s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g;
-}
-
-sub convert_0_0_58_to_0_0_59
-{
-    die "Not smart enough to convert 0.0.58 to 0.0.59\n";
-}
-
-sub convert_0_0_59_to_0_0_60
-{
-    s/(\\unitspace [0-9.mcptin\\ ]+|\\geometric [0-9.]+|\\width [0-9.mcp\\tin]+)/$1;/g;
-    s/(\\output \"[^\"]+\")/$1;/;
-    s/(\\tempo  [0-9: ]+)/$1;/;
-}
-
-sub convert_0_0_60_to_0_0_61
-{
-    s/(\\unitspace|\\geometric|\\width)/$1=/g;
-   
-}
-
-sub convert_0_1_0_to_0_1_1
-{
-    s/\\tempo (.*):(.*);/\\tempo $1 = $2;/g
-}
-
-sub convert_0_1_2_to_0_1_3
-{
-    s/\\stem *(\\up|1) *;/\\stemup/g;
-    s/\\stem *(\\down|-1) *;/\\stemdown/g;
-    s/\\stem *0 *;/\\stemboth/g;
-    s/\\hshift ([^;]+) *;/\\property Voice.hshift = $1/g;
-}
-
-my $header_b = 0;
-
-sub generic_conversion_scan
-{
-    if (/\\header *\{/)
-    {
-       $header_b = 1;
-    }
-    if ($header_b && /^ *\}/)
-    {
-       $header_b = 0;
-    }
-}
-sub convert_0_1_4_to_0_1_5
-{
-    s/([<{]) *\\id "Piano" (.+);/\\type Grandstaff = $3 $1/;    
-    s/([<{]) *\\id (.+) (.+);/\\type $2 = $3 $1/;
-}
-
-       
-sub convert_0_1_5_to_0_1_6
-{
-    s/< *\\multi (.*);/\\multi $1 </;
-}
-
-sub convert_0_1_6_to_0_1_7
-{
-    if ($header_b) 
-    {
-       s/^([a-zA-z]+)[ \t]+(.*)$/$1 =\t \"$2\";/;
-       s/^([ \t])+(.*)$/$1 \"$2\";/;
-    }
-}  
-
-sub convert_0_1_7_to_0_1_8
-{
-    s/\\plet *1 *\/ *1 *;/\\]/;    
-    s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/;    
-}  
-
-sub convert_0_1_8_to_0_1_9
-{
-# sticky plet shorthand...
-#  print "introduced plet and finger shorthands...\n";
-}
-
-###############################################################
-
-sub    last_conversion
-{
-    my @v = &versions;
-    return pop @v;
-}
-sub identify
-{
-    
-    print STDERR "This is convert-mudela " . $convert_mudela_version . 
-       " (up to mudela version ", last_conversion,     ")\n";
-}
-  
-  
- sub usage
-  {
-     print STDERR "Usage: convert-mudela [options] [mudela-file]...\n"
-     . "Convert old mudela source from mudela-file or stdin\n\n"
-     . "Options:\n"
-     . "  -e, --edit             perform in-place conversion\n"
-     . "  -f, --from=PATHLEVEL   use source version 0.0.PATCHLEVEL\n"
-     . "  -h, --help             print this help\n"
-     . "  -o, --output=FILE      name output file\n"
-     . "  -s, --show-rules       print all known conversion rules\n"
-     . "  -t, --to=VERSION       convert to version VERSION\n"
-  }
-      
-
-my %minor_conversions = ("0.0.50" => \&no_conv,
-                        "0.0.52" => \&convert_0_0_50_to_0_0_52,
-                        "0.0.53" => \&convert_0_0_52_to_0_0_53,
-                        "0.0.54" => \&convert_0_0_53_to_0_0_54,
-                        "0.0.55" => \&convert_0_0_54_to_0_0_55,
-                        "0.0.56" => \&convert_0_0_55_to_0_0_56,
-                        "0.0.57" => \&convert_0_0_56_to_0_0_57,
-                        "0.0.58" => \&convert_0_0_57_to_0_0_58,
-                        "0.0.59" => \&convert_0_0_58_to_0_0_59,
-                        "0.0.60" => \&convert_0_0_59_to_0_0_60,
-                        "0.0.61" => \&convert_0_0_60_to_0_0_61,
-                        "0.1.1" => \&convert_0_1_0_to_0_1_1,
-                        "0.1.2" => \&no_conv,
-                        "0.1.3" => \&convert_0_1_2_to_0_1_3,
-                        "0.1.4" => \&no_conv,
-                        "0.1.5" => \&convert_0_1_4_to_0_1_5,
-                        "0.1.6" => \&convert_0_1_5_to_0_1_6
-                        ,"0.1.7" => \&convert_0_1_6_to_0_1_7
-                        ,"0.1.8" => \&convert_0_1_7_to_0_1_8
-                        ,"0.1.9" => \&convert_0_1_8_to_0_1_9
-                        );
-
-
-sub versions 
-{
-    return (sort { cmpver; } (keys %minor_conversions));
-}
-
-
-sub show_rules
-{
-    my (@v) = versions;
-
-    print "Rules: ", join(", ", @v), "\n";
-    
-}
-
-sub do_conversion
-{
-    my ($from,$to) = @_;
-
-    my @applicable_conversion;
-    my @mudela_levels;
-    
-    my @v = versions;
-    foreach $ver (@v) {
-       if (version_compare($ver, $from) > 0 && version_compare($ver,$to) <= 0 ){ 
-           push @applicable_conversion, $minor_conversions{$ver};
-           push @mudela_levels, $ver;
-       }
-    }
-    
-    print STDERR "Applying following rules: ", join(", ", @mudela_levels) , "\n";
-
-    while (<INLY>) {
-       generic_conversion_scan;
-       foreach $subroutine (@applicable_conversion) {
-       
-           &$subroutine;
-           
-       }
-       version_string_conv $from, $to;
-       print OUTLY;
-    }
-}
-
-sub get_auto_from
-{
-    my ($fn)=@_;
-    my ($ver);
-    open INLY, $fn || die "Can't open";
-
-    while (<INLY>) {
-       s/^.*\\version \"([^\"]*)\".*$//;
-       if (defined ($1)) {
-           print STDERR "Guessing version: ", $1, ".. ";
-           $ver = $1;
-           last;
-       }
-    }
-    if (!defined($ver)){
-       print STDERR "can't determine mudela version in $fn.\n";
-       my $u;
-       return $u;
-    }
-    close INLY;
-    return $ver;
-}   
-
-sub  set_files 
-{
-    $infile = "-";
-    $outfile = "-";
-    $outfile = $opt_output if (defined($opt_output));
-
-    if ($ARGV [0])  {
-       $infile = $ARGV[0];
-    } 
-    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
-       $infile .= ".ly";
-    }
-    if ($opt_edit && $infile ne "-") {
-       $opt_edit = 1;
-       $outfile = "$infile.NEW";
-       $infile = "$infile";
-    }
-    print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. ";
-
-}
-
-sub do_one_arg
-{
-    set_files;
-
-    local ($from_version, $to_version);
-    $from_version = $opt_from;
-    $to_version = $opt_to;
-    
-    ($from_version = get_auto_from $infile) unless defined($opt_from);
-    return if (!defined($from_version));
-    
-    ($to_version =  last_conversion) unless (defined($opt_to));
-
-    die "can't open \`$infile\'" unless open INLY,$infile ;
-    die "can't open \`$outfile\'" unless open OUTLY, ">$outfile";
-    
-    do_conversion $from_version, $to_version;
-    close INLY;
-    close OUTLY;
-
-    if ($opt_edit) {
-       rename $infile, "$infile~";
-       rename $outfile, "$infile";
-    }
-}
-
-## "main"
-
-identify;
-
-
-GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
-
-if ($opt_help) {
-    usage();
-    $opt_help = 0;     # to extinguish typo check.
-    exit 0;
-}
-
-if ($opt_show_rules) { 
-    show_rules ;
-    $opt_show_rules = 0;       # to extinguish typo check.
-    exit 0;
-}
-
-local ( $infile,$outfile);
-my $processed_one=0;
-
-while (defined($ARGV[0])) {
-    do_one_arg;
-    shift @ARGV;
-    $processed_one = 1;
-}
-do_one_arg unless ($processed_one);
-
-    
diff --git a/bin/find-typenames.in b/bin/find-typenames.in
new file mode 100644 (file)
index 0000000..890f9ca
--- /dev/null
@@ -0,0 +1,20 @@
+#!@PERL@
+
+open GREP, "egrep -h '^struct|^class' *.hh *.cc|";
+open OUT, "|sort | uniq";
+while (<GREP>) {
+
+       s/^struct/class/;
+       if (! /; *$/) {
+               s/:[^{]+{.*$//;
+               s/ *{.*$/;/;
+       }
+       if (! /; *$/) {
+               chop;
+               $_ .= ";\n";
+               
+       }
+       print OUT;
+}
+close OUT;
+close GREP;
diff --git a/bin/find-typenames.pl b/bin/find-typenames.pl
deleted file mode 100644 (file)
index 890f9ca..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!@PERL@
-
-open GREP, "egrep -h '^struct|^class' *.hh *.cc|";
-open OUT, "|sort | uniq";
-while (<GREP>) {
-
-       s/^struct/class/;
-       if (! /; *$/) {
-               s/:[^{]+{.*$//;
-               s/ *{.*$/;/;
-       }
-       if (! /; *$/) {
-               chop;
-               $_ .= ";\n";
-               
-       }
-       print OUT;
-}
-close OUT;
-close GREP;
diff --git a/bin/foo.in b/bin/foo.in
new file mode 100755 (executable)
index 0000000..36ac368
--- /dev/null
@@ -0,0 +1 @@
+#! /bin/bash
diff --git a/bin/foo.sh b/bin/foo.sh
deleted file mode 100755 (executable)
index 36ac368..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#! /bin/bash
diff --git a/bin/genheader.in b/bin/genheader.in
new file mode 100644 (file)
index 0000000..57f0e9f
--- /dev/null
@@ -0,0 +1,135 @@
+#!@PYTHON@
+
+# 
+# genheader.py -- do headers (like these) 
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+
+
+import posix
+import pwd
+import regex
+import regsub
+import string
+import sys
+import os
+import getopt
+
+class My_options:
+    def __init__(self):
+       self.commentify = None
+       self.add_hdr_def = 0
+       self.classname = ''
+
+my_options = My_options()
+
+def mail():
+    return os.environ['MAILADDRESS']
+
+def name():
+    return pwd.getpwuid(posix.getuid())[4]
+
+def c_commentify(str):
+    return  '/* ' + regsub.gsub('^','  ', str) + '\n */';
+
+def sh_commentify(str):
+    return regsub.gsub('^', '# ', str)
+
+def tex_commentify(str):
+    return regsub.gsub('^', '% ', str)
+
+def project_str():
+    cwd = posix.getcwd()
+    if regex.search('flower', cwd) <> -1:
+       PROJECT = "the Flower Library"
+    elif regex.search('mf$', cwd) <> -1:
+       PROJECT = "the Feta (defintively not an abbreviation for Font-En-Tja) music font"
+    else:
+       PROJECT = "the GNU LilyPond music typesetter"
+    return PROJECT
+
+def head_str(filename):
+    if my_options.add_hdr_def:
+       what = "declare " 
+    else:
+       what=" implement "
+
+
+    headstr = '\n%s -- %s\n\nsource file of %s\n\n(c) 1997 %s <%s>\n' \
+             %(filename, what, project_str(), name(), mail())
+    return headstr
+
+
+def c_include(filename):
+    startdef= filename;
+    trans = string.maketrans( string.lowercase + '-.', string.uppercase + '__')
+    startdef = string.translate(filename, trans)
+
+   
+    headstr = "\n\n#ifndef %s\n#define %s\n" % (startdef, startdef)
+    terminatestr = "#endif /* %s */\n"  % (startdef);
+
+    return headstr+ '\n\n'+ terminatestr;
+
+
+
+
+
+(options, files) = getopt.getopt(sys.argv[1:], 'tcsh', ['class']) 
+
+for opt in options:
+    o = opt[0]
+    a = opt[1]
+    if o == '-c':
+       my_options.commentify = c_commentify
+    elif o == '-t':
+       my_options.commentify = tex_commentify
+    elif o == '-s':
+       my_options.commentify = sh_commentify
+    elif o == '-h':
+       my_options.add_hdr_def = 1
+    elif o == '--class':
+       my_options.classname = a
+
+
+
+#
+# FIXME:  should create xxx.cc and include/xxx.hh, with implement/declare Xxx
+# in  one run
+if my_options.classname:
+    pass
+       
+def do_file(nm):
+    s = my_options.commentify(head_str(nm)) 
+    if my_options.add_hdr_def:
+       s = s + c_include(nm)
+    return s
+
+
+def extension(ext,nm):
+    ext = '\\.' + ext
+    return regex.search(ext, nm) <> -1
+
+def c_extension(nm):
+    return extension('hh',nm) or extension('cc',nm) \
+          or extension('icc', nm) or extension('tcc',nm)
+def select_commentification(nm):
+    if c_extension (nm):
+       return c_commentify
+    elif extension('py',nm) or extension('pl',nm) or extension('sh',nm):
+       return  sh_commentify
+    elif extension('mf',nm) or extension('tex',nm) or extension('ly',nm):
+       return tex_commentify
+    else: 
+       raise 'help'
+
+for nm in files:
+    if extension('hh', nm) or extension('icc', nm) or  extension('tcc', nm): 
+       my_options.add_hdr_def = 1
+    if my_options.commentify == None:
+       my_options.commentify = select_commentification(nm)
+    print do_file(nm)
diff --git a/bin/genheader.py b/bin/genheader.py
deleted file mode 100644 (file)
index 57f0e9f..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#!@PYTHON@
-
-# 
-# genheader.py -- do headers (like these) 
-# 
-# source file of the GNU LilyPond music typesetter
-# 
-# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-# 
-
-
-
-import posix
-import pwd
-import regex
-import regsub
-import string
-import sys
-import os
-import getopt
-
-class My_options:
-    def __init__(self):
-       self.commentify = None
-       self.add_hdr_def = 0
-       self.classname = ''
-
-my_options = My_options()
-
-def mail():
-    return os.environ['MAILADDRESS']
-
-def name():
-    return pwd.getpwuid(posix.getuid())[4]
-
-def c_commentify(str):
-    return  '/* ' + regsub.gsub('^','  ', str) + '\n */';
-
-def sh_commentify(str):
-    return regsub.gsub('^', '# ', str)
-
-def tex_commentify(str):
-    return regsub.gsub('^', '% ', str)
-
-def project_str():
-    cwd = posix.getcwd()
-    if regex.search('flower', cwd) <> -1:
-       PROJECT = "the Flower Library"
-    elif regex.search('mf$', cwd) <> -1:
-       PROJECT = "the Feta (defintively not an abbreviation for Font-En-Tja) music font"
-    else:
-       PROJECT = "the GNU LilyPond music typesetter"
-    return PROJECT
-
-def head_str(filename):
-    if my_options.add_hdr_def:
-       what = "declare " 
-    else:
-       what=" implement "
-
-
-    headstr = '\n%s -- %s\n\nsource file of %s\n\n(c) 1997 %s <%s>\n' \
-             %(filename, what, project_str(), name(), mail())
-    return headstr
-
-
-def c_include(filename):
-    startdef= filename;
-    trans = string.maketrans( string.lowercase + '-.', string.uppercase + '__')
-    startdef = string.translate(filename, trans)
-
-   
-    headstr = "\n\n#ifndef %s\n#define %s\n" % (startdef, startdef)
-    terminatestr = "#endif /* %s */\n"  % (startdef);
-
-    return headstr+ '\n\n'+ terminatestr;
-
-
-
-
-
-(options, files) = getopt.getopt(sys.argv[1:], 'tcsh', ['class']) 
-
-for opt in options:
-    o = opt[0]
-    a = opt[1]
-    if o == '-c':
-       my_options.commentify = c_commentify
-    elif o == '-t':
-       my_options.commentify = tex_commentify
-    elif o == '-s':
-       my_options.commentify = sh_commentify
-    elif o == '-h':
-       my_options.add_hdr_def = 1
-    elif o == '--class':
-       my_options.classname = a
-
-
-
-#
-# FIXME:  should create xxx.cc and include/xxx.hh, with implement/declare Xxx
-# in  one run
-if my_options.classname:
-    pass
-       
-def do_file(nm):
-    s = my_options.commentify(head_str(nm)) 
-    if my_options.add_hdr_def:
-       s = s + c_include(nm)
-    return s
-
-
-def extension(ext,nm):
-    ext = '\\.' + ext
-    return regex.search(ext, nm) <> -1
-
-def c_extension(nm):
-    return extension('hh',nm) or extension('cc',nm) \
-          or extension('icc', nm) or extension('tcc',nm)
-def select_commentification(nm):
-    if c_extension (nm):
-       return c_commentify
-    elif extension('py',nm) or extension('pl',nm) or extension('sh',nm):
-       return  sh_commentify
-    elif extension('mf',nm) or extension('tex',nm) or extension('ly',nm):
-       return tex_commentify
-    else: 
-       raise 'help'
-
-for nm in files:
-    if extension('hh', nm) or extension('icc', nm) or  extension('tcc', nm): 
-       my_options.add_hdr_def = 1
-    if my_options.commentify == None:
-       my_options.commentify = select_commentification(nm)
-    print do_file(nm)
index 6f329a86146c8d5f71a0aa2f3bd9c1b6a67e9bee..06ad6459d568b0e8031d88f4181fe1fbd06f0a59 100644 (file)
@@ -1,4 +1,4 @@
-#!@PYTHON@
+#!/usr/bin/python
 
 # 
 # lily-python.py --  implement general LilyPond-wide python stuff
@@ -22,7 +22,9 @@ import getopt
 
 
 version_re = regex.compile('\\version *\"\(.*\)\"')
-make_assign_re = regex.compile('^\([A-Z_]*\) *= *\(.*\)$')
+# now used as shell script in configure too!
+# make_assign_re = regex.compile('^\([A-Z_]*\) *= *\(.*\)$')
+make_assign_re = regex.compile('^\([A-Z_]*\)=\(.*\)$')
 
 def version_tuple(file):
     lines = file.readlines()
@@ -34,13 +36,17 @@ def version_tuple(file):
        if make_assign_re.search(l) <> -1:
            nm = make_assign_re.group(1)
            val = make_assign_re.group(2)
-           if nm == 'TOPLEVEL_MAJOR_VERSION':
+#          if nm == 'TOPLEVEL_MAJOR_VERSION':
+           if nm == 'MAJOR_VERSION':
                mj = atoi(val)
-           elif nm == 'TOPLEVEL_MINOR_VERSION':
+#          elif nm == 'TOPLEVEL_MINOR_VERSION':
+           elif nm == 'MINOR_VERSION':
                mi = atoi(val)
-           elif nm == 'TOPLEVEL_PATCH_LEVEL':
+#          elif nm == 'TOPLEVEL_PATCH_LEVEL':
+           elif nm == 'PATCH_LEVEL':
                pa = atoi(val)
-           elif nm == 'TOPLEVEL_MY_PATCH_LEVEL':
+#          elif nm == 'TOPLEVEL_MY_PATCH_LEVEL':
+           elif nm == 'MY_PATCH_LEVEL':
                mp = val
     return (mj,mi,pa,mp)
 
diff --git a/bin/ly2dvi.in b/bin/ly2dvi.in
new file mode 100644 (file)
index 0000000..e20f85a
--- /dev/null
@@ -0,0 +1,594 @@
+#!/bin/sh
+#
+# Script to make a LaTeX file for Lilypond
+#
+# Written by Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>
+#  Sat Nov 22 22:26:43 CET 1997
+#
+#  Original LaTeX file made by Mats Bengtsson, 17/8 1997
+#
+
+VERSION="0.7"
+NAME=ly2dvi.sh
+IDENTIFICATION="$NAME $VERSION" 
+NOW=`date`
+echo "$IDENTIFICATION" 1>&2
+
+# TODO
+
+# 0.7
+#      - Improved Lilypond error checking
+#      - Output orientation (landscape...). Overrides mudela file
+#        variable orientation="landscape";
+#      - Paper width and heigth put into variables (only A4!)
+#      - Adjusted top margin to default.....
+#
+#TODO
+#      - Include more papersizes.
+#      - Manual page.......
+#      - should detect crashing lilypond
+
+
+# NEWS
+    
+# 0.6.hwn1.jaf
+#      - LILYINCLUDE update
+#
+# 0.6.hwn1
+#      - handle LILYINCLUDE
+#       - --output
+#
+# 0.6
+#      - Source rc-files, if present. Files are:
+#        /usr/local/share/lilyrc /etc/lilyrc $HOME/.lilyrc ./.lilyrc
+#      - tee output from Lilypond
+#      - Handles margins for A4 paper (equal on both sides)
+#      - new option -s (--separate) for one LaTeX run per file,
+#        else all files are run together
+
+# 0.5
+#      - More useful ("two-level") debug.
+#      - The Q&D hack to find file names and not handling \include
+#        is replaced by grabbing output file names from Lilypond.
+#      = Detects multiple output files - adds them when running
+#        LaTeX.
+#      - Works with multiple input files - no matter if they are
+#        (a mix of) input to or output from Lilypond.
+#
+#TODO
+#      - Still no margins handling.
+#      - We have to discuss how to handle multiple output files
+#        from Lilypond - 'ly2dvi standchen' gives a rather odd
+#        result....
+
+# 0.4.1
+#      - Always exit after printing help info
+# 0.4
+#      - Changes to ensure for more strict grep'ing of parameters
+#        Thanks to from G.B.Stott@bolton.ac.uk
+#      - More efficient use of sed -e 's///' -e 's///'
+#        Thanks to Johan Vromans <jvromans@squirrel.nl> and GBS
+#      - Ask tex for location of titledefs.tex (Thanks to JV)
+#      - Accept only exact match of "\def\mudelacomposer{"
+#        (or whatever mudela* defined in titledefs.tex)
+#      - Even more efficient use of sed (Thanks to JV)
+#      - Default file name for single output file implemented.
+#      - Moved help into function - finally included from 0.1.jcn1
+#
+#TODO
+#      - Still doesn't handle \include
+#      - The Q&D for finding output file name from the sequence of
+#        \paper \output \midi \output really needs to be looked at.
+#        I have improved it a lot, but it's only capable of finding
+#        one (the last) file name.
+#        Well, I have to rewrite this entirely to handle \include,
+#        then I can fix it.
+#      - Still no margins handling.
+#
+#WARNING
+#      - Some lines of output from lilypond do NOT start
+#        at first character position, therefore I have removed "^"
+#        in sed'ing and grep'ing.
+
+# 0.3.hwn1
+#      - add "Creator: " line to output
+#
+# 0.3
+#      - multiple input files to make score from several files
+#        (extra files assumed to be Lilypond output)
+#      - cp dvi-file instead of mv, to allow for xdvi reload
+#      - check for illegal long options
+#      - put in pt in text width, if not given
+#      - put in \nonstopmode in LaTeX file
+#      - restored LaTeX exit value check
+# 0.2.1
+#      - temporarily omit LaTeX exit value check
+#      - remove ALL temporary files
+
+# 0.2
+#      - fix for solaris          - included from 0.1.jcn1
+#      - long option hack         - included from 0.1.jcn1 - modified
+#      - moved help into function - NOT included from 0.1.jcn1 yet
+#      - various improvements     - included from 0.1.jcn1
+#      - find mudela definitions from titledefs.tex
+#      - find papersize from lilypond output file (mudelapapersize),
+#        overridden by option '-p size' or '--papersize=size'
+#      - option -l lang or --language=lang overrides
+#        lilypond output file definition (mudelalanguage)
+#      - textwidth from lilypond output file (mudelapaperlinewidth)
+
+# 0.1.jcn1
+#      - fix for solaris
+#      - long option hack
+#      - moved help into function
+
+#
+# print usage
+#
+help() {
+  cat << EOF
+Generate dvi file from mudela or lilypond output
+Usage: $0 [options] file[s]
+
+Options:
+  -D, --debug           set debug mode
+  -O, --orientation=    set orientation (landscape or portrait (default))
+  -o, --output=         set output directory
+  -h, --help            this help text
+  -k, --keep            keep LaTeX file
+  -l, --language=       give LaTeX language (babel)
+  -p, --papersize=      give LaTeX papersize (eg. a4paper)
+  -s, --separate        run all files separately through LaTeX
+
+  files may be (a mix of) input to or output from lilypond(1)
+EOF
+}
+
+PWIDTH=600;                            # Width of A4 paper!
+PHEIGTH=830;                            # Heigth of A4 paper!
+#
+# RC-files ?
+#
+for D in /usr/local/share/ /etc/ $HOME/. ./.
+do
+  RCfile=$D"lilyrc"
+  [ -f $RCfile ] && . $RCfile
+done
+
+#
+# Keywords defined in titledefs.tex
+#
+TF=`kpsewhich -n tex tex titledefs.tex`
+if [ -n $TF ]
+then
+  TF=/usr/lib/texmf/tex/lilypond/titledefs.tex
+fi
+MU_DEF=""
+if [ -f $TF ]
+then
+  MU_DEF=`egrep "^.newcommand...mudela" $TF | \\
+    sed -e 's/^.newcommand...//' -e 's/\\}.*$//'`
+fi
+
+if [ -z "$MU_DEF" ]
+then
+  MU_DEF="mudelatitle mudelasubtitle mudelacomposer \
+          mudelaarranger mudelainstrument"
+fi
+
+#
+# debugging
+#
+debug_echo=true
+#
+# All files in one LaTeX run
+#
+SEPFILE=N
+#
+# Find command line options and switches
+#
+# "x:" x takes argument
+#
+switches="DO:hkl:o:p:s\?"
+options=""
+#
+# ugh, "\-" is a hack to support long options
+# while getopts \-:$options$switches O
+# must be in double quotes for bash-2.0
+while getopts "\-:$options$switches" O
+do
+  $debug_echo "O: \`$O'"
+  $debug_echo "arg: \`$OPTARG'"
+  case $O in
+    D  )
+      if [ $debug_echo = echo ]
+      then
+        set -x
+      fi
+      debug_echo=echo
+      ;;
+    O  )
+      ORI=$OPTARG
+      ;;
+    h  )
+      help;
+      exit 0
+      ;;
+    k  )
+      KEEP=Y
+      ;;
+    l  )
+      LNG=$OPTARG
+      ;;
+    o  )
+      OUTPUTDIR=$OPTARG
+      ;;
+    p  )
+      PSZ=$OPTARG
+      ;;
+    s  )
+      SEPFILE=Y
+      ;;
+    \? )
+      help;
+      exit -1
+      ;;
+    # a long option!
+    -)
+      $debug_echo "long option: \`$OPTARG'"
+      case "$OPTARG" in
+        D*|-D*)
+          if [ $debug_echo = echo ]
+          then
+            set -x
+          fi
+          debug_echo=echo
+          ;;
+        h*|-h*)
+          help;
+         exit 0
+          ;;
+        k*|-k*)
+          KEEP=Y
+          ;;
+        l*|-l*)
+          LNG=`echo $OPTARG | sed -e s/"^.*="//`
+          ;;
+        p*|-p*)
+          PSZ=`echo $OPTARG | sed -e s/"^.*="//`
+          ;;
+       or*|-or*)
+         ORI=`echo $OPTARG | sed -e s/"^.*="//`
+         ;;
+       ou*|-ou*)
+         OUTPUTDIR=`echo $OPTARG | sed -e s/"^.*="//`
+         ;;
+        s*|-s*)
+         SEPFILE=Y
+          ;;
+        *|-*)
+          echo $0": illegal option -- "$OPTARG;
+          help;
+          exit -1
+          ;;
+      esac
+  esac
+done
+shift `expr $OPTIND - 1`
+#
+# Input file name
+#
+if [ "$1" = "" ]
+then
+  help
+  $debug_echo $IDENTIFICATION": No input file name given"
+  exit 1
+fi
+#
+startFile(){
+#
+# LaTeX file name
+#
+if [ "$KEEP" != "Y" ]
+then
+  if [ "$TMP" = "" ]
+  then
+    TMP=/tmp
+  fi
+  if [ ! -d $TMP ]
+  then
+    $debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
+    TMP=/tmp
+  fi
+#
+  BN=`basename $File .tex`
+  FN=$BN.$$
+  LF=$TMP/$FN.tex
+else
+  BN=`basename $File .tex`
+  FN=$BN.$$
+  LF=$FN.tex
+fi
+#
+# Find:
+#   paper size        (PSZ, overridden by command line option -p)
+#   paper orientation (ORI, overridden by command line option -o)
+#   language          (LNG, overridden by command line option -l)
+#   textwidth
+#
+eval `sed -n \\
+  -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
+  -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
+  -e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
+  -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
+    $File`
+if [ -z "$PSZ" ]
+then
+  PSZ=$fPSZ
+fi
+if [ ! -z "$PSZ" ]
+then
+  PAPEROPT=$PSZ
+fi
+#
+if [ -z "$ORI" ]
+then
+  ORI=$fORI
+fi
+if [ ! -z "$ORI" ]
+then
+  if [ -z "$PAPEROPT" ]
+  then
+    PAPEROPT=$ORI
+  else
+    PAPEROPT=$PAPEROPT,$ORI
+  fi
+fi
+#
+if [ ! -z "$PAPEROPT" ]
+then
+  PAPER="["$PAPEROPT"]"
+fi
+#
+if [ -z "$LNG" ]
+then
+  LNG=$fLNG
+fi
+if [ ! -z "$LNG" ]
+then
+  LLNG="\usepackage["$LNG"]{babel}"
+else
+  LLNG="%"
+fi
+
+#
+# Find textwidth
+#
+if [ ! -z "$TWN" ]
+then
+  TW=$TWN
+  case $TW in
+    *mm)
+      ;;
+    *cm)
+      ;;
+    *pt)
+      ;;
+    *)
+      TW=$TW"pt"
+      ;;
+  esac
+  $debug_echo "Text width = "$TW
+fi
+TWp=`echo $TW | sed -e 's/\..*$//'`
+PWp=$PWIDTH
+if [ "$ORI" = "landscape" ]
+then
+  PWp=$PHEIGTH
+fi
+MARG=`expr $PWp - $TWp`
+MARG=`expr $MARG / 2`"pt"
+#
+# Geometry: /var/lib/texmf/latex/geometry/geometry.dvi
+#
+#
+# Write LaTeX file
+#
+cat << EOF > $LF
+% Creator: $IDENTIFICATION
+% Automatically generated from  $IF, $NOW
+
+\documentclass$PAPER{article}
+\nonstopmode
+$LLNG
+\usepackage{geometry}
+\usepackage[T1]{fontenc}
+%\addtolength{\oddsidemargin}{-1cm}
+%\addtolength{\topmargin}{-1cm}
+\setlength{\textwidth}{$TW}
+%\geometry{width=$TW, left=$MARG, top=1cm}
+\geometry{width=$TW, left=$MARG}
+\input lilyponddefs
+\input titledefs
+\begin{document}
+EOF
+#
+# Include \def\mudela-definitions
+#
+for L in $MU_DEF
+do
+  LL=`egrep '^\\\\def.'$L'{' $OF`
+  if [ "$LL" != "" ]
+  then
+    LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
+    if [ "$LLL" != "" ]
+    then
+      echo '\'$L'{'$LLL'}%'                                >> $LF
+    fi
+  fi
+done
+#
+cat << EOF >> $LF
+\makelilytitle
+EOF
+}
+#
+# Conclusion
+#
+endFile(){
+cat << EOF >> $LF
+\vfill\hfill{(\LilyIdString)}
+\end{document}
+EOF
+#
+# Run LaTeX
+#
+latex $LF || exit 5
+#
+# Rename dvi file
+#
+if [ -f $FN.dvi ]
+then
+    RESULT=$BN.dvi
+    if [ x$OUTPUTDIR != x ]; then
+       RESULT="$OUTPUTDIR/$RESULT"
+    fi
+    cp $FN.dvi $RESULT
+fi
+#
+# Clean up
+#
+if [ "$KEEP" != "Y" ]
+then
+  rm $LF $FN.*
+fi
+#
+# Output some info
+#
+cat << EOF
+
+$IDENTIFICATION: dvi file name is $RESULT
+
+EOF
+}
+
+# ugh. GF is side-effect.
+findInput() {
+# should check for LILYINCLUDE
+  for lypath in "." `echo $LILYINCLUDE| sed 's/:/ /g'`
+  do
+    if [ -f "$lypath/$1" ]
+    then
+      GF="$lypath/$1"
+      return       
+    fi
+
+    if [ -f "$lypath/$1.ly" ]
+    then
+      GF="$lypath/$1.ly"
+      return
+    fi
+  done
+  $debug_echo $IDENTIFICATION": Input file "$GF" not found"
+  echo $NAME": Input file "$GF" not found"                       1>&2
+  exit 2
+}
+#
+# Loop through all files
+#
+for GF in $*
+do
+    findInput $GF
+
+  #
+  # Check whether the file is input to or output from lilypond
+  #
+  L1=`head -1 $GF` 
+  OP=`echo $L1 | grep "^% Creator: GNU LilyPond"`
+  if [ -n "$OP" ]
+  then
+    #
+    # OK - it's the output from lilypond.
+    #
+    # Get lilypond source file name
+    #
+    OF=$GF
+    IFL=`grep mudelafilename $OF`
+    if [ "$IFL" != "" ]
+    then
+      IF=`echo $IFL | sed -e 's/.*{//' -e 's/}*.$//'`
+      #
+      # Check if source file exists
+      #
+      if [ ! -f $IF ]
+      then
+        $debug_echo $IDENTIFICATION": Mudela file not found."
+        TW=15.5cm
+      fi
+    else
+      $debug_echo $IDENTIFICATION": Mudela file name not found."
+      TW=15.5cm
+    fi
+  else
+    #
+    # I have to assume this is the lilypond input file
+    # Find output file name, if defined
+    #
+    IF=$GF
+    #
+    # Run lilypond
+    # Grab output file names
+    #
+    $debug_echo "lilypond "$IF
+
+    lilypond $IF 2>&1  | tee /tmp/lilylog.$$
+    OF=`egrep '^TeX output to ' /tmp/lilylog.$$ | \\
+        sed -e 's/TeX output to//' -e 's/\.\.\.//'`
+    $debug_echo "==> "$OF
+    STATUS=`grep -i error /tmp/lilylog.$$`
+    rm /tmp/lilylog.$$
+    if [ ! -z "$STATUS" ]
+    then
+      exit 10
+    fi
+  fi
+  #
+  # "Spin through" all the files
+  #
+  for File in $OF
+  do
+    $debug_echo "--- "$File
+    #
+    # Check if output file is generated
+    #
+    if [ ! -f $File ]
+    then
+      $debug_echo $IDENTIFICATION": hmm, I could not find the output file "$File
+      exit 4
+    fi
+    #
+    # Is this the first file?
+    #
+    if [ -z "$FFile" ]
+    then
+      FFile=$File
+      startFile
+    fi
+    cat << EOF >> $LF
+\input{$File}
+EOF
+    if [ $SEPFILE = Y ]
+    then
+      FFile=""
+      endFile
+    fi
+  done
+done
+if [ $SEPFILE = N ]
+then
+  endFile
+fi
+#
+# OK - finished
+#
diff --git a/bin/ly2dvi.sh b/bin/ly2dvi.sh
deleted file mode 100644 (file)
index e20f85a..0000000
+++ /dev/null
@@ -1,594 +0,0 @@
-#!/bin/sh
-#
-# Script to make a LaTeX file for Lilypond
-#
-# Written by Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>
-#  Sat Nov 22 22:26:43 CET 1997
-#
-#  Original LaTeX file made by Mats Bengtsson, 17/8 1997
-#
-
-VERSION="0.7"
-NAME=ly2dvi.sh
-IDENTIFICATION="$NAME $VERSION" 
-NOW=`date`
-echo "$IDENTIFICATION" 1>&2
-
-# TODO
-
-# 0.7
-#      - Improved Lilypond error checking
-#      - Output orientation (landscape...). Overrides mudela file
-#        variable orientation="landscape";
-#      - Paper width and heigth put into variables (only A4!)
-#      - Adjusted top margin to default.....
-#
-#TODO
-#      - Include more papersizes.
-#      - Manual page.......
-#      - should detect crashing lilypond
-
-
-# NEWS
-    
-# 0.6.hwn1.jaf
-#      - LILYINCLUDE update
-#
-# 0.6.hwn1
-#      - handle LILYINCLUDE
-#       - --output
-#
-# 0.6
-#      - Source rc-files, if present. Files are:
-#        /usr/local/share/lilyrc /etc/lilyrc $HOME/.lilyrc ./.lilyrc
-#      - tee output from Lilypond
-#      - Handles margins for A4 paper (equal on both sides)
-#      - new option -s (--separate) for one LaTeX run per file,
-#        else all files are run together
-
-# 0.5
-#      - More useful ("two-level") debug.
-#      - The Q&D hack to find file names and not handling \include
-#        is replaced by grabbing output file names from Lilypond.
-#      = Detects multiple output files - adds them when running
-#        LaTeX.
-#      - Works with multiple input files - no matter if they are
-#        (a mix of) input to or output from Lilypond.
-#
-#TODO
-#      - Still no margins handling.
-#      - We have to discuss how to handle multiple output files
-#        from Lilypond - 'ly2dvi standchen' gives a rather odd
-#        result....
-
-# 0.4.1
-#      - Always exit after printing help info
-# 0.4
-#      - Changes to ensure for more strict grep'ing of parameters
-#        Thanks to from G.B.Stott@bolton.ac.uk
-#      - More efficient use of sed -e 's///' -e 's///'
-#        Thanks to Johan Vromans <jvromans@squirrel.nl> and GBS
-#      - Ask tex for location of titledefs.tex (Thanks to JV)
-#      - Accept only exact match of "\def\mudelacomposer{"
-#        (or whatever mudela* defined in titledefs.tex)
-#      - Even more efficient use of sed (Thanks to JV)
-#      - Default file name for single output file implemented.
-#      - Moved help into function - finally included from 0.1.jcn1
-#
-#TODO
-#      - Still doesn't handle \include
-#      - The Q&D for finding output file name from the sequence of
-#        \paper \output \midi \output really needs to be looked at.
-#        I have improved it a lot, but it's only capable of finding
-#        one (the last) file name.
-#        Well, I have to rewrite this entirely to handle \include,
-#        then I can fix it.
-#      - Still no margins handling.
-#
-#WARNING
-#      - Some lines of output from lilypond do NOT start
-#        at first character position, therefore I have removed "^"
-#        in sed'ing and grep'ing.
-
-# 0.3.hwn1
-#      - add "Creator: " line to output
-#
-# 0.3
-#      - multiple input files to make score from several files
-#        (extra files assumed to be Lilypond output)
-#      - cp dvi-file instead of mv, to allow for xdvi reload
-#      - check for illegal long options
-#      - put in pt in text width, if not given
-#      - put in \nonstopmode in LaTeX file
-#      - restored LaTeX exit value check
-# 0.2.1
-#      - temporarily omit LaTeX exit value check
-#      - remove ALL temporary files
-
-# 0.2
-#      - fix for solaris          - included from 0.1.jcn1
-#      - long option hack         - included from 0.1.jcn1 - modified
-#      - moved help into function - NOT included from 0.1.jcn1 yet
-#      - various improvements     - included from 0.1.jcn1
-#      - find mudela definitions from titledefs.tex
-#      - find papersize from lilypond output file (mudelapapersize),
-#        overridden by option '-p size' or '--papersize=size'
-#      - option -l lang or --language=lang overrides
-#        lilypond output file definition (mudelalanguage)
-#      - textwidth from lilypond output file (mudelapaperlinewidth)
-
-# 0.1.jcn1
-#      - fix for solaris
-#      - long option hack
-#      - moved help into function
-
-#
-# print usage
-#
-help() {
-  cat << EOF
-Generate dvi file from mudela or lilypond output
-Usage: $0 [options] file[s]
-
-Options:
-  -D, --debug           set debug mode
-  -O, --orientation=    set orientation (landscape or portrait (default))
-  -o, --output=         set output directory
-  -h, --help            this help text
-  -k, --keep            keep LaTeX file
-  -l, --language=       give LaTeX language (babel)
-  -p, --papersize=      give LaTeX papersize (eg. a4paper)
-  -s, --separate        run all files separately through LaTeX
-
-  files may be (a mix of) input to or output from lilypond(1)
-EOF
-}
-
-PWIDTH=600;                            # Width of A4 paper!
-PHEIGTH=830;                            # Heigth of A4 paper!
-#
-# RC-files ?
-#
-for D in /usr/local/share/ /etc/ $HOME/. ./.
-do
-  RCfile=$D"lilyrc"
-  [ -f $RCfile ] && . $RCfile
-done
-
-#
-# Keywords defined in titledefs.tex
-#
-TF=`kpsewhich -n tex tex titledefs.tex`
-if [ -n $TF ]
-then
-  TF=/usr/lib/texmf/tex/lilypond/titledefs.tex
-fi
-MU_DEF=""
-if [ -f $TF ]
-then
-  MU_DEF=`egrep "^.newcommand...mudela" $TF | \\
-    sed -e 's/^.newcommand...//' -e 's/\\}.*$//'`
-fi
-
-if [ -z "$MU_DEF" ]
-then
-  MU_DEF="mudelatitle mudelasubtitle mudelacomposer \
-          mudelaarranger mudelainstrument"
-fi
-
-#
-# debugging
-#
-debug_echo=true
-#
-# All files in one LaTeX run
-#
-SEPFILE=N
-#
-# Find command line options and switches
-#
-# "x:" x takes argument
-#
-switches="DO:hkl:o:p:s\?"
-options=""
-#
-# ugh, "\-" is a hack to support long options
-# while getopts \-:$options$switches O
-# must be in double quotes for bash-2.0
-while getopts "\-:$options$switches" O
-do
-  $debug_echo "O: \`$O'"
-  $debug_echo "arg: \`$OPTARG'"
-  case $O in
-    D  )
-      if [ $debug_echo = echo ]
-      then
-        set -x
-      fi
-      debug_echo=echo
-      ;;
-    O  )
-      ORI=$OPTARG
-      ;;
-    h  )
-      help;
-      exit 0
-      ;;
-    k  )
-      KEEP=Y
-      ;;
-    l  )
-      LNG=$OPTARG
-      ;;
-    o  )
-      OUTPUTDIR=$OPTARG
-      ;;
-    p  )
-      PSZ=$OPTARG
-      ;;
-    s  )
-      SEPFILE=Y
-      ;;
-    \? )
-      help;
-      exit -1
-      ;;
-    # a long option!
-    -)
-      $debug_echo "long option: \`$OPTARG'"
-      case "$OPTARG" in
-        D*|-D*)
-          if [ $debug_echo = echo ]
-          then
-            set -x
-          fi
-          debug_echo=echo
-          ;;
-        h*|-h*)
-          help;
-         exit 0
-          ;;
-        k*|-k*)
-          KEEP=Y
-          ;;
-        l*|-l*)
-          LNG=`echo $OPTARG | sed -e s/"^.*="//`
-          ;;
-        p*|-p*)
-          PSZ=`echo $OPTARG | sed -e s/"^.*="//`
-          ;;
-       or*|-or*)
-         ORI=`echo $OPTARG | sed -e s/"^.*="//`
-         ;;
-       ou*|-ou*)
-         OUTPUTDIR=`echo $OPTARG | sed -e s/"^.*="//`
-         ;;
-        s*|-s*)
-         SEPFILE=Y
-          ;;
-        *|-*)
-          echo $0": illegal option -- "$OPTARG;
-          help;
-          exit -1
-          ;;
-      esac
-  esac
-done
-shift `expr $OPTIND - 1`
-#
-# Input file name
-#
-if [ "$1" = "" ]
-then
-  help
-  $debug_echo $IDENTIFICATION": No input file name given"
-  exit 1
-fi
-#
-startFile(){
-#
-# LaTeX file name
-#
-if [ "$KEEP" != "Y" ]
-then
-  if [ "$TMP" = "" ]
-  then
-    TMP=/tmp
-  fi
-  if [ ! -d $TMP ]
-  then
-    $debug_echo $IDENTIFICATION": temporary directory "$TMP" not found, set to /tmp"
-    TMP=/tmp
-  fi
-#
-  BN=`basename $File .tex`
-  FN=$BN.$$
-  LF=$TMP/$FN.tex
-else
-  BN=`basename $File .tex`
-  FN=$BN.$$
-  LF=$FN.tex
-fi
-#
-# Find:
-#   paper size        (PSZ, overridden by command line option -p)
-#   paper orientation (ORI, overridden by command line option -o)
-#   language          (LNG, overridden by command line option -l)
-#   textwidth
-#
-eval `sed -n \\
-  -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
-  -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
-  -e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
-  -e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
-    $File`
-if [ -z "$PSZ" ]
-then
-  PSZ=$fPSZ
-fi
-if [ ! -z "$PSZ" ]
-then
-  PAPEROPT=$PSZ
-fi
-#
-if [ -z "$ORI" ]
-then
-  ORI=$fORI
-fi
-if [ ! -z "$ORI" ]
-then
-  if [ -z "$PAPEROPT" ]
-  then
-    PAPEROPT=$ORI
-  else
-    PAPEROPT=$PAPEROPT,$ORI
-  fi
-fi
-#
-if [ ! -z "$PAPEROPT" ]
-then
-  PAPER="["$PAPEROPT"]"
-fi
-#
-if [ -z "$LNG" ]
-then
-  LNG=$fLNG
-fi
-if [ ! -z "$LNG" ]
-then
-  LLNG="\usepackage["$LNG"]{babel}"
-else
-  LLNG="%"
-fi
-
-#
-# Find textwidth
-#
-if [ ! -z "$TWN" ]
-then
-  TW=$TWN
-  case $TW in
-    *mm)
-      ;;
-    *cm)
-      ;;
-    *pt)
-      ;;
-    *)
-      TW=$TW"pt"
-      ;;
-  esac
-  $debug_echo "Text width = "$TW
-fi
-TWp=`echo $TW | sed -e 's/\..*$//'`
-PWp=$PWIDTH
-if [ "$ORI" = "landscape" ]
-then
-  PWp=$PHEIGTH
-fi
-MARG=`expr $PWp - $TWp`
-MARG=`expr $MARG / 2`"pt"
-#
-# Geometry: /var/lib/texmf/latex/geometry/geometry.dvi
-#
-#
-# Write LaTeX file
-#
-cat << EOF > $LF
-% Creator: $IDENTIFICATION
-% Automatically generated from  $IF, $NOW
-
-\documentclass$PAPER{article}
-\nonstopmode
-$LLNG
-\usepackage{geometry}
-\usepackage[T1]{fontenc}
-%\addtolength{\oddsidemargin}{-1cm}
-%\addtolength{\topmargin}{-1cm}
-\setlength{\textwidth}{$TW}
-%\geometry{width=$TW, left=$MARG, top=1cm}
-\geometry{width=$TW, left=$MARG}
-\input lilyponddefs
-\input titledefs
-\begin{document}
-EOF
-#
-# Include \def\mudela-definitions
-#
-for L in $MU_DEF
-do
-  LL=`egrep '^\\\\def.'$L'{' $OF`
-  if [ "$LL" != "" ]
-  then
-    LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
-    if [ "$LLL" != "" ]
-    then
-      echo '\'$L'{'$LLL'}%'                                >> $LF
-    fi
-  fi
-done
-#
-cat << EOF >> $LF
-\makelilytitle
-EOF
-}
-#
-# Conclusion
-#
-endFile(){
-cat << EOF >> $LF
-\vfill\hfill{(\LilyIdString)}
-\end{document}
-EOF
-#
-# Run LaTeX
-#
-latex $LF || exit 5
-#
-# Rename dvi file
-#
-if [ -f $FN.dvi ]
-then
-    RESULT=$BN.dvi
-    if [ x$OUTPUTDIR != x ]; then
-       RESULT="$OUTPUTDIR/$RESULT"
-    fi
-    cp $FN.dvi $RESULT
-fi
-#
-# Clean up
-#
-if [ "$KEEP" != "Y" ]
-then
-  rm $LF $FN.*
-fi
-#
-# Output some info
-#
-cat << EOF
-
-$IDENTIFICATION: dvi file name is $RESULT
-
-EOF
-}
-
-# ugh. GF is side-effect.
-findInput() {
-# should check for LILYINCLUDE
-  for lypath in "." `echo $LILYINCLUDE| sed 's/:/ /g'`
-  do
-    if [ -f "$lypath/$1" ]
-    then
-      GF="$lypath/$1"
-      return       
-    fi
-
-    if [ -f "$lypath/$1.ly" ]
-    then
-      GF="$lypath/$1.ly"
-      return
-    fi
-  done
-  $debug_echo $IDENTIFICATION": Input file "$GF" not found"
-  echo $NAME": Input file "$GF" not found"                       1>&2
-  exit 2
-}
-#
-# Loop through all files
-#
-for GF in $*
-do
-    findInput $GF
-
-  #
-  # Check whether the file is input to or output from lilypond
-  #
-  L1=`head -1 $GF` 
-  OP=`echo $L1 | grep "^% Creator: GNU LilyPond"`
-  if [ -n "$OP" ]
-  then
-    #
-    # OK - it's the output from lilypond.
-    #
-    # Get lilypond source file name
-    #
-    OF=$GF
-    IFL=`grep mudelafilename $OF`
-    if [ "$IFL" != "" ]
-    then
-      IF=`echo $IFL | sed -e 's/.*{//' -e 's/}*.$//'`
-      #
-      # Check if source file exists
-      #
-      if [ ! -f $IF ]
-      then
-        $debug_echo $IDENTIFICATION": Mudela file not found."
-        TW=15.5cm
-      fi
-    else
-      $debug_echo $IDENTIFICATION": Mudela file name not found."
-      TW=15.5cm
-    fi
-  else
-    #
-    # I have to assume this is the lilypond input file
-    # Find output file name, if defined
-    #
-    IF=$GF
-    #
-    # Run lilypond
-    # Grab output file names
-    #
-    $debug_echo "lilypond "$IF
-
-    lilypond $IF 2>&1  | tee /tmp/lilylog.$$
-    OF=`egrep '^TeX output to ' /tmp/lilylog.$$ | \\
-        sed -e 's/TeX output to//' -e 's/\.\.\.//'`
-    $debug_echo "==> "$OF
-    STATUS=`grep -i error /tmp/lilylog.$$`
-    rm /tmp/lilylog.$$
-    if [ ! -z "$STATUS" ]
-    then
-      exit 10
-    fi
-  fi
-  #
-  # "Spin through" all the files
-  #
-  for File in $OF
-  do
-    $debug_echo "--- "$File
-    #
-    # Check if output file is generated
-    #
-    if [ ! -f $File ]
-    then
-      $debug_echo $IDENTIFICATION": hmm, I could not find the output file "$File
-      exit 4
-    fi
-    #
-    # Is this the first file?
-    #
-    if [ -z "$FFile" ]
-    then
-      FFile=$File
-      startFile
-    fi
-    cat << EOF >> $LF
-\input{$File}
-EOF
-    if [ $SEPFILE = Y ]
-    then
-      FFile=""
-      endFile
-    fi
-  done
-done
-if [ $SEPFILE = N ]
-then
-  endFile
-fi
-#
-# OK - finished
-#
diff --git a/bin/make-docxx.in b/bin/make-docxx.in
new file mode 100644 (file)
index 0000000..b274731
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+if [ x$LILYTOP = x ];
+then
+    LILYTOP = .
+fi
+p1=`find $LILYTOP -name '*.hh' |egrep -v out/` 
+p2=`find $LILYTOP -name '*.cc' |egrep -v out/`
+doc++ -f -d docxx/ -S -k -p $BANNEROPT $p1 $p2
diff --git a/bin/make-docxx.sh b/bin/make-docxx.sh
deleted file mode 100644 (file)
index b274731..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-if [ x$LILYTOP = x ];
-then
-    LILYTOP = .
-fi
-p1=`find $LILYTOP -name '*.hh' |egrep -v out/` 
-p2=`find $LILYTOP -name '*.cc' |egrep -v out/`
-doc++ -f -d docxx/ -S -k -p $BANNEROPT $p1 $p2
diff --git a/bin/make-examples.in b/bin/make-examples.in
new file mode 100644 (file)
index 0000000..620a28a
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+# make-examples
+
+examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E scsii-menuetto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams stem"
+pss=$(echo $examples | sed "s/[^ ][^ ]*/out\\/&.ps/g")
+
+# cd ~/lelie/current/Documentation/out
+cd ~/lelie/current/input
+make -C ../Documentation $pss
diff --git a/bin/make-examples.sh b/bin/make-examples.sh
deleted file mode 100644 (file)
index 620a28a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-# make-examples
-
-examples="twinkle-pop wtk1-fugue2 standchen-16 standchen-20 wtk1-prelude1 toccata-fuga-E scsii-menuetto cadenza gallina twinkle collisions font font20 scales rhythm multi spacing beams stem"
-pss=$(echo $examples | sed "s/[^ ][^ ]*/out\\/&.ps/g")
-
-# cd ~/lelie/current/Documentation/out
-cd ~/lelie/current/input
-make -C ../Documentation $pss
diff --git a/bin/make-patch.in b/bin/make-patch.in
new file mode 100644 (file)
index 0000000..0f5ee30
--- /dev/null
@@ -0,0 +1,136 @@
+#!@PYTHON@
+
+import sys
+import os
+
+lilypath =''
+try:
+    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
+lilypath = lilypath + '/bin/'
+sys.path.append(lilypath)
+
+
+from lilypython import *
+import getopt
+import pipes
+
+
+mp_version = '0.3'
+
+class Options:
+    def __init__(self):
+       self.to_version = lilydirs.version_tuple()
+       self.from_version = prev_version(self.to_version)
+
+options = Options()
+       
+
+def help():
+    sys.stdout.write(
+       'Generate a patch to go to this version.\n'
+       '  --from=FROM, -f FROM    old is FROM\n'
+       '  --to=TO, -t TO          to version TO\n'  
+       
+       )
+
+
+
+def untar(fn):
+    # os.system('pwd');
+    sys.stderr.write('untarring ' + fn + '\n')
+# can't seem to fix errors:
+# gzip: stdout: Broken pipe
+# tar: Child returned status 1
+#   os.system ('tar xzf ' + fn)
+#   sys.stderr.write('\n')
+# ugh, even this does not work, but one error message less :-)
+    os.system ('gzip --quiet -dc ' + fn + '| tar xf - ')
+# so print soothing message:
+#    sys.stderr.write('make-patch:ugh: Please ignore error: gzip: stdout: Broken pipe\n');
+    sys.stderr.flush()
+
+
+header = 'Generated by make-patch, old = %s, new = %s\n\
+\n\
+usage \n\
+\n\
+       cd lilypond-source-dir; patch -E -p0 < %s\n\
+\n\
+Patches do not contain automatically generated files, \n\
+i.e. you should rerun configure\n\n'
+
+pats = ['*.lsm', 'configure', '*.txt', 'lilypond.spec']
+def remove_automatic(dirnames):
+    files = []
+    files = files + multiple_find(pats, dirnames)
+
+    for f in files:
+       os.remove(f)
+
+def makepatch(fv, tv, patfile_nm):
+    import tempfile
+    prev_cwd = os.getcwd();
+    try:
+       os.mkdir ('/tmp/make-patch');
+    except:
+       pass
+       
+    os.chdir ('/tmp/make-patch');
+    untar(released_tarball(fv))
+    untar(released_tarball(tv))
+    remove_automatic([dirname(fv), dirname(tv)])
+
+    os.chdir(dirname(tv))
+    
+    if not patfile_nm:
+       patfile_nm = '../patch-%s' % version_tuple_to_str(tv)
+
+    f = open(patfile_nm, 'w')
+    f.write(header %\
+           (version_tuple_to_str(fv), version_tuple_to_str(tv), \
+            os.path.basename(patfile_nm)))
+    f.close()
+           
+    sys.stderr.write('diffing to %s... ' % patfile_nm)
+    os.system('diff -urN ../%s . >> %s' % (dirname(fv), patfile_nm))
+    #os.system('gzip -9f %s' % patfile_nm)
+    os.chdir('/tmp/make-patch')
+
+    sys.stderr.write('cleaning ... ')
+    os.system('rm -fr %s %s' % (dirname(tv), dirname(fv)))
+    sys.stderr.write('\n')
+    os.chdir(prev_cwd)
+    
+def main():
+    os.environ['GZIP'] = '-q'
+    sys.stderr.write('This is make-patch version %s\n' % mp_version)
+    (cl_options, files) = getopt.getopt(sys.argv[1:], 
+                                       'hf:o:t:', ['output=', 'help', 'from=', 'to='])
+    outfn = ''
+    for opt in cl_options:
+       o = opt[0]
+       a = opt[1]
+       if o == '--from' or o == '-f':
+            options.from_version = version_str_to_tuple(a)
+       elif o == '--to' or o == '-t':
+           options.to_version = version_str_to_tuple(a)
+       elif o== '--help' or o == '-h':
+           help()
+           return 0;
+       elif o == '--output' or o == '-o':
+           outfn = os.path.join(os.getcwd(), a)
+       else:
+           raise getopt.error
+
+    if not outfn:
+       pn = 'patch-%s' % version_tuple_to_str(options.to_version)
+       outfn =  os.path.join(os.getcwd(), pn)
+
+    makepatch(options.from_version, options.to_version, outfn)
+
+if __name__ == '__main__':
+    main()
diff --git a/bin/make-patch.py b/bin/make-patch.py
deleted file mode 100644 (file)
index 0f5ee30..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-#!@PYTHON@
-
-import sys
-import os
-
-lilypath =''
-try:
-    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except KeyError:
-    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
-    sys.exit(1)
-
-lilypath = lilypath + '/bin/'
-sys.path.append(lilypath)
-
-
-from lilypython import *
-import getopt
-import pipes
-
-
-mp_version = '0.3'
-
-class Options:
-    def __init__(self):
-       self.to_version = lilydirs.version_tuple()
-       self.from_version = prev_version(self.to_version)
-
-options = Options()
-       
-
-def help():
-    sys.stdout.write(
-       'Generate a patch to go to this version.\n'
-       '  --from=FROM, -f FROM    old is FROM\n'
-       '  --to=TO, -t TO          to version TO\n'  
-       
-       )
-
-
-
-def untar(fn):
-    # os.system('pwd');
-    sys.stderr.write('untarring ' + fn + '\n')
-# can't seem to fix errors:
-# gzip: stdout: Broken pipe
-# tar: Child returned status 1
-#   os.system ('tar xzf ' + fn)
-#   sys.stderr.write('\n')
-# ugh, even this does not work, but one error message less :-)
-    os.system ('gzip --quiet -dc ' + fn + '| tar xf - ')
-# so print soothing message:
-#    sys.stderr.write('make-patch:ugh: Please ignore error: gzip: stdout: Broken pipe\n');
-    sys.stderr.flush()
-
-
-header = 'Generated by make-patch, old = %s, new = %s\n\
-\n\
-usage \n\
-\n\
-       cd lilypond-source-dir; patch -E -p0 < %s\n\
-\n\
-Patches do not contain automatically generated files, \n\
-i.e. you should rerun configure\n\n'
-
-pats = ['*.lsm', 'configure', '*.txt', 'lilypond.spec']
-def remove_automatic(dirnames):
-    files = []
-    files = files + multiple_find(pats, dirnames)
-
-    for f in files:
-       os.remove(f)
-
-def makepatch(fv, tv, patfile_nm):
-    import tempfile
-    prev_cwd = os.getcwd();
-    try:
-       os.mkdir ('/tmp/make-patch');
-    except:
-       pass
-       
-    os.chdir ('/tmp/make-patch');
-    untar(released_tarball(fv))
-    untar(released_tarball(tv))
-    remove_automatic([dirname(fv), dirname(tv)])
-
-    os.chdir(dirname(tv))
-    
-    if not patfile_nm:
-       patfile_nm = '../patch-%s' % version_tuple_to_str(tv)
-
-    f = open(patfile_nm, 'w')
-    f.write(header %\
-           (version_tuple_to_str(fv), version_tuple_to_str(tv), \
-            os.path.basename(patfile_nm)))
-    f.close()
-           
-    sys.stderr.write('diffing to %s... ' % patfile_nm)
-    os.system('diff -urN ../%s . >> %s' % (dirname(fv), patfile_nm))
-    #os.system('gzip -9f %s' % patfile_nm)
-    os.chdir('/tmp/make-patch')
-
-    sys.stderr.write('cleaning ... ')
-    os.system('rm -fr %s %s' % (dirname(tv), dirname(fv)))
-    sys.stderr.write('\n')
-    os.chdir(prev_cwd)
-    
-def main():
-    os.environ['GZIP'] = '-q'
-    sys.stderr.write('This is make-patch version %s\n' % mp_version)
-    (cl_options, files) = getopt.getopt(sys.argv[1:], 
-                                       'hf:o:t:', ['output=', 'help', 'from=', 'to='])
-    outfn = ''
-    for opt in cl_options:
-       o = opt[0]
-       a = opt[1]
-       if o == '--from' or o == '-f':
-            options.from_version = version_str_to_tuple(a)
-       elif o == '--to' or o == '-t':
-           options.to_version = version_str_to_tuple(a)
-       elif o== '--help' or o == '-h':
-           help()
-           return 0;
-       elif o == '--output' or o == '-o':
-           outfn = os.path.join(os.getcwd(), a)
-       else:
-           raise getopt.error
-
-    if not outfn:
-       pn = 'patch-%s' % version_tuple_to_str(options.to_version)
-       outfn =  os.path.join(os.getcwd(), pn)
-
-    makepatch(options.from_version, options.to_version, outfn)
-
-if __name__ == '__main__':
-    main()
diff --git a/bin/make-version.in b/bin/make-version.in
new file mode 100644 (file)
index 0000000..3be1435
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+#shift;
+if test "x$1" = x;
+then
+    versionfile="VERSION"
+else
+    versionfile=$1;
+fi
+
+cat $versionfile| sed 's/#.*$//g'|sed 's/\([^ ]*\)[\t ]*=[ \t]*\([^ ]*\)$/#define \1 \"\2\"/g' 
+echo
+    
diff --git a/bin/make-version.sh b/bin/make-version.sh
deleted file mode 100644 (file)
index 3be1435..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-#shift;
-if test "x$1" = x;
-then
-    versionfile="VERSION"
-else
-    versionfile=$1;
-fi
-
-cat $versionfile| sed 's/#.*$//g'|sed 's/\([^ ]*\)[\t ]*=[ \t]*\([^ ]*\)$/#define \1 \"\2\"/g' 
-echo
-    
diff --git a/bin/make-website.in b/bin/make-website.in
new file mode 100644 (file)
index 0000000..40420fb
--- /dev/null
@@ -0,0 +1,312 @@
+#!@PYTHON@
+# 
+# make-website.py --  implement The lilypond WWW site
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+""" 
+ stupid script to generate WWW site.  
+
+ The WWW site is my test-suite for LilyPond, I usually don't
+ distribute versions that fail to complete this script 
+
+You should set the following environment vars:
+
+LILYPOND_SOURCEDIR
+TEXINPUTS
+MAILADDRESS
+
+
+ """
+
+import sys
+import os
+
+lilypath =''
+try:
+    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
+lilypath = lilypath + '/bin/'
+sys.path.append(lilypath)
+from lilypython import *
+import __main__
+import glob
+
+depth = ''
+makewebsite_id = "<!make_website!>";
+id_str = "make-website 0.8";
+tar = "tar";
+make = "make -f OLD-Makefile";
+mailaddress = "unknown"
+fullname = "unknown"
+footstr = ""
+lilyversion= ''
+
+include_path=[ 'input', 'mutopia' , 'mutopia/J.S.Bach', 
+              'mutopia/J.S.Bach/out' ]
+
+def set_vars():
+    __main__.lilyversion =  version_tuple_to_str(lilydirs.version_tuple())
+    os.environ["TEXINPUTS"] = os.environ["TEXINPUTS"] + ":%s/input/:" % depth;
+    
+    os.environ["LILYINCLUDE"] = join (':', __main__.include_path)
+    os.environ["LILYTOP"] = depth;
+    __main__.mailaddress= os.environ['MAILADDRESS']
+    pw = pwd.getpwuid (os.getuid());
+
+    __main__.fullname= pw[4];
+
+backstr = '\n<hr>Please take me <a href=%s>back to the index</a>\n\
+of LilyPond -- The GNU Project Music typesetter\n\
+<hr><font size=-1>\n\
+This page was built using <code>%s</code> from lilypond-%s by <p>\n\
+<address><br>%s <a href=mailto:%s>&lt<!bla>%s</a>&gt</address>\n\
+<p></font>' 
+
+    
+def footstr(index):
+     return backstr % (index, id_str, lilyversion, fullname, mailaddress, mailaddress)
+
+    
+
+# do something, check return status
+def my_system(cmds):
+    for cmd in cmds:
+       ignoreret=0;
+       if cmd[0] == '-':
+           ignoreret = 1
+           cmd = cmd[1:]
+       
+       ret = os.system (cmd)
+       if ret:
+           if ignoreret: 
+               sys.stderr.write( "ignoring failed command \`%s\' (status %d)\n" % (cmd, ret))
+           else:
+               sys.stderr.write( 'make-website: failed on command %s (status %d)\n' % (cmd, ret))
+               sys.exit (2)
+
+base="lilypond/";
+
+examples=["twinkle-pop", 
+         "praeludium-fuga-E", 
+         "cadenza", 
+         "twinkle", 
+         "collisions",
+         "font16",
+         "font20",
+         #"scales", 
+         "rhythm", 
+         "multi"]
+
+mutopia_examples = [ "wtk1-fugue2",
+                    "standje",
+                    "preludes-1",
+                    "preludes-2",
+                    "wtk1-prelude1",
+                    "gallina",   
+                    "scsii-menuetto"]
+
+
+def gen_html():
+    print 'generating HTML'
+    my_system (["make -f OLD-Makefile -kC .. html"]);
+    
+
+def gen_examples(inputs):
+    print 'generating examples:\n'
+    outputs = []
+    for i in inputs:
+       try:
+               located = multiple_find ([i + '.ly'], include_path) [0]
+       except IndexError:
+               print 'continuing dazed & confused (%s) ' % i
+               continue
+       outputs.append (located)
+       if not file_exist_b(i + '.dvi'):
+           my_system (['ly2dvi %s' % located])
+       if not file_exist_b(i + '.ly.txt'):
+           os.link (located, i + ".ly.txt")
+    list = map(lambda x: 'out/%s.ps.gz out/%s.gif' % (x,x), inputs)
+    my_system (['make -C .. ' + join(' ', list)])
+
+    return outputs
+
+def gen_list(inputs, filename):
+    print "generating HTML list %s\n" % filename;
+    list = open(filename, 'w')
+    list.write ('<html><TITLE>Rendered Examples</TITLE>\n'
+     '<body>These example files are taken from the LilyPond distribution.\n'
+     'LilyPond currently only outputs TeX and MIDI. The pictures and\n'
+     'PostScript files were generated using TeX, Ghostscript and some\n'
+     'graphics tools.  The papersize used for these examples is A4.  The GIF\n'
+     'files have been scaled to eliminate aliasing.\n');
+
+    for ex in inputs:
+       print '%s, ' % ex
+       header  = read_mudela_header(ex + '.ly.txt')
+       
+       def read_dict(s, default, h =header):
+               try:
+                   ret = h[s]
+               except KeyError:
+                   ret = default
+               return ret
+       head = read_dict('title', ex)
+       composer = read_dict('composer', '')
+       desc = read_dict('description', '')
+       list.write('<hr>')
+       list.write('<h1>example file: %s</h1>' % head);
+       if composer <> '':
+           list.write('<h2>%s</h2>\n' % composer)
+       if desc <> '':
+           list.write('%s<p>' % desc)
+       list.write ('<ul>')
+       def list_item(filename, desc, l = list):
+           if file_exist_b(filename):
+               l.write ('<li><a href=%s>%s</a>\n' % (filename, desc))
+           
+       list_item(ex + '.ly.txt', 'The input')
+       for pageno in range(1,10):
+           f  = ex + '-page%d.gif' % pageno
+           if not file_exist_b (f):
+               break
+           list_item(f, 'The output (picture, page %d)' % pageno)
+       list_item(ex + '.ps.gz', 'The output (gzipped PostScript)')
+       list_item(ex + '.midi', 'The output (MIDI)')
+       list.write ("</ul>");
+
+    list.write( "</BODY></HTML>");
+    list.close()
+
+texstuff = ["mudela-man", "mudela-course"]
+
+def gen_manuals():
+    print 'generating TeX doco manuals'
+    list = open('tex_manuals.html', 'w')
+    list.write( "<HTML><TITLE>PostScript Manuals</TITLE>\n" 
+     "<BODY><h1>LilyPond manuals (in PostScript)</h1>"
+     "<ul>\n")
+    todo='' 
+    for stuff in texstuff:
+       todo = todo + ' out/' + stuff + '.ps.gz'
+       list.write("<li><a href=%s.ps.gz>%s.ps.gz</a>" % (stuff, stuff))
+    list.write('</ul></BODY></HTML>')
+    list.close ()
+
+    my_system (['make -C .. ' + todo])
+
+def file_exist_b(name):
+    try: 
+       f = open(name)
+    except IOError:
+       return 0
+    f.close ()
+    return 1
+def copy_files():
+    print "copying files\n"
+    
+#    my_system ("ln -s depth/out ./docxx" )
+    my_system([ "cp %s/TODO ./TODO.txt" % depth,
+    "cp %s/ANNOUNCE-0.1 ./ANNOUNCE.txt" % depth,
+    "cp %s/NEWS ./NEWS.txt" % depth,
+    "cp %s/DEDICATION ./DEDICATION.txt" % depth]);
+    my_system([ "make -C .. gifs"]);
+    
+def docxx_update():
+    print 'docxx.. \n'
+    banner= open('/tmp/lilybanner.html', 'w');
+    banner.write (footstr('../index.html'))
+    banner.close ()
+    my_system(['BANNEROPT=\"-B /tmp/lilybanner.html\" %s/bin/out/make-docxx' % depth]);
+#    os.unlink( "/tmp/lilybanner.html");
+
+def get_glob(exts):
+    result = []
+    for a in exts:
+       result = result + glob.glob1('./', '*.' + a)
+
+    return result
+
+def join(inter, list):
+    return reduce (lambda x,y, i=inter: x + i + y, list)
+
+def do_tar():
+     print "tarring.\n";
+     list = get_glob( ['html', 'gif', 'ps.gz' , 'txt', 'midi']) 
+     files = join (' ', list)
+     print files
+     my_system( ['-tar zvhcf website.tar.gz ' + files + ' docxx/*'])
+
+
+def identify():
+    print 'This is %s\n' % id_str
+    
+def clean_tmp():
+    my_system(['rm -f /tmp/gs*'])
+    
+def get_top_of_NEWS():
+    i = open('NEWS.txt')
+    lines = i.readlines()
+    i.close ()
+    s = ''
+    for l in lines:
+       if regex.search('^\*\*\*\*\*\*', l) <> -1:
+           return s;
+       s = s + l
+    return s
+
+def edit_index():
+    s = gulp_file('index.html')
+    s = regsub.sub ('top_of_NEWS', '<XMP>\n' + get_top_of_NEWS () + '\n</XMP>', s)
+    dump_file ('index.html', s)
+
+def edit_html():
+    files = get_glob(['html'])
+    for f in files:
+
+       s = gulp_file(f)
+       if regex.search(makewebsite_id, s) <> -1:
+           continue;
+
+       s = regsub.sub ('</BODY>', footstr('index.html') + makewebsite_id + '</BODY>', s)
+       s = regsub.sub('<TITLE>\(.*\)</TITLE>$', 
+                      '<TITLE>LilyPond WWW: \\1</TITLE>', s)
+
+       dump_file (f,s)
+
+
+def do_examples (examples, filename):
+    located_files = gen_examples (examples)
+    gen_list (examples, filename)
+def main():
+    identify();
+
+    os.chdir (lilydirs.topdir + 'Documentation/out')
+    __main__.depth = "../../";
+    __main__.include_path = map(lambda p: __main__.depth + '/' + 
+                               p, __main__.include_path)
+
+    set_vars();
+    gen_html();
+    copy_files();
+    do_examples (examples, 'examples_output.html');
+    do_examples (mutopia_examples, 'mutopiaexamples_output.html');
+    gen_manuals();
+    #set_images();
+    edit_html();
+    edit_index();
+    docxx_update()
+    do_tar()
+    clean_tmp();
+
+
+main()
+
+
diff --git a/bin/make-website.py b/bin/make-website.py
deleted file mode 100644 (file)
index a2243a7..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-#!@PYTHON@
-# 
-# make-website.py --  implement The lilypond WWW site
-# 
-# source file of the GNU LilyPond music typesetter
-# 
-# (c) 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
-# 
-
-""" 
- stupid script to generate WWW site.  
-
- The WWW site is my test-suite for LilyPond, I usually don't
- distribute versions that fail to complete this script 
-
-You should set the following environment vars:
-
-LILYPOND_SOURCEDIR
-TEXINPUTS
-MAILADDRESS
-
-
- """
-
-import sys
-import os
-
-lilypath =''
-try:
-    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except KeyError:
-    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
-    sys.exit(1)
-
-lilypath = lilypath + '/bin/'
-sys.path.append(lilypath)
-from lilypython import *
-import __main__
-import glob
-
-depth = ''
-makewebsite_id = "<!make_website!>";
-id_str = "make-website 0.8";
-tar = "tar";
-make = "make";
-mailaddress = "unknown"
-fullname = "unknown"
-footstr = ""
-lilyversion= ''
-
-include_path=[ 'input', 'mutopia' , 'mutopia/J.S.Bach', 
-              'mutopia/J.S.Bach/out' ]
-
-def set_vars():
-    __main__.lilyversion =  version_tuple_to_str(lilydirs.version_tuple())
-    os.environ["TEXINPUTS"] = os.environ["TEXINPUTS"] + ":%s/input/:" % depth;
-    
-    os.environ["LILYINCLUDE"] = join (':', __main__.include_path)
-    os.environ["LILYTOP"] = depth;
-    __main__.mailaddress= os.environ['MAILADDRESS']
-    pw = pwd.getpwuid (os.getuid());
-
-    __main__.fullname= pw[4];
-
-backstr = '\n<hr>Please take me <a href=%s>back to the index</a>\n\
-of LilyPond -- The GNU Project Music typesetter\n\
-<hr><font size=-1>\n\
-This page was built using <code>%s</code> from lilypond-%s by <p>\n\
-<address><br>%s <a href=mailto:%s>&lt<!bla>%s</a>&gt</address>\n\
-<p></font>' 
-
-    
-def footstr(index):
-     return backstr % (index, id_str, lilyversion, fullname, mailaddress, mailaddress)
-
-    
-
-# do something, check return status
-def my_system(cmds):
-    for cmd in cmds:
-       ignoreret=0;
-       if cmd[0] == '-':
-           ignoreret = 1
-           cmd = cmd[1:]
-       
-       ret = os.system (cmd)
-       if ret:
-           if ignoreret: 
-               sys.stderr.write( "ignoring failed command \`%s\' (status %d)\n" % (cmd, ret))
-           else:
-               sys.stderr.write( 'make-website: failed on command %s (status %d)\n' % (cmd, ret))
-               sys.exit (2)
-
-base="lilypond/";
-
-examples=["twinkle-pop", 
-         "praeludium-fuga-E", 
-         "cadenza", 
-         "twinkle", 
-         "collisions",
-         "font16",
-         "font20",
-         #"scales", 
-         "rhythm", 
-         "multi"]
-
-mutopia_examples = [ "wtk1-fugue2",
-                    "standje",
-                    "preludes-1",
-                    "preludes-2",
-                    "wtk1-prelude1",
-                    "gallina",   
-                    "scsii-menuetto"]
-
-
-def gen_html():
-    print 'generating HTML'
-    my_system (["make -kC .. html"]);
-    
-
-def gen_examples(inputs):
-    print 'generating examples:\n'
-    outputs = []
-    for i in inputs:
-       try:
-               located = multiple_find ([i + '.ly'], include_path) [0]
-       except IndexError:
-               print 'continuing dazed & confused (%s) ' % i
-               continue
-       outputs.append (located)
-       if not file_exist_b(i + '.dvi'):
-           my_system (['ly2dvi %s' % located])
-       if not file_exist_b(i + '.ly.txt'):
-           os.link (located, i + ".ly.txt")
-    list = map(lambda x: 'out/%s.ps.gz out/%s.gif' % (x,x), inputs)
-    my_system (['make -C .. ' + join(' ', list)])
-
-    return outputs
-
-def gen_list(inputs, filename):
-    print "generating HTML list %s\n" % filename;
-    list = open(filename, 'w')
-    list.write ('<html><TITLE>Rendered Examples</TITLE>\n'
-     '<body>These example files are taken from the LilyPond distribution.\n'
-     'LilyPond currently only outputs TeX and MIDI. The pictures and\n'
-     'PostScript files were generated using TeX, Ghostscript and some\n'
-     'graphics tools.  The papersize used for these examples is A4.  The GIF\n'
-     'files have been scaled to eliminate aliasing.\n');
-
-    for ex in inputs:
-       print '%s, ' % ex
-       header  = read_mudela_header(ex + '.ly.txt')
-       
-       def read_dict(s, default, h =header):
-               try:
-                   ret = h[s]
-               except KeyError:
-                   ret = default
-               return ret
-       head = read_dict('title', ex)
-       composer = read_dict('composer', '')
-       desc = read_dict('description', '')
-       list.write('<hr>')
-       list.write('<h1>example file: %s</h1>' % head);
-       if composer <> '':
-           list.write('<h2>%s</h2>\n' % composer)
-       if desc <> '':
-           list.write('%s<p>' % desc)
-       list.write ('<ul>')
-       def list_item(filename, desc, l = list):
-           if file_exist_b(filename):
-               l.write ('<li><a href=%s>%s</a>\n' % (filename, desc))
-           
-       list_item(ex + '.ly.txt', 'The input')
-       for pageno in range(1,10):
-           f  = ex + '-page%d.gif' % pageno
-           if not file_exist_b (f):
-               break
-           list_item(f, 'The output (picture, page %d)' % pageno)
-       list_item(ex + '.ps.gz', 'The output (gzipped PostScript)')
-       list_item(ex + '.midi', 'The output (MIDI)')
-       list.write ("</ul>");
-
-    list.write( "</BODY></HTML>");
-    list.close()
-
-texstuff = ["mudela-man", "mudela-course"]
-
-def gen_manuals():
-    print 'generating TeX doco manuals'
-    list = open('tex_manuals.html', 'w')
-    list.write( "<HTML><TITLE>PostScript Manuals</TITLE>\n" 
-     "<BODY><h1>LilyPond manuals (in PostScript)</h1>"
-     "<ul>\n")
-    todo='' 
-    for stuff in texstuff:
-       todo = todo + ' out/' + stuff + '.ps.gz'
-       list.write("<li><a href=%s.ps.gz>%s.ps.gz</a>" % (stuff, stuff))
-    list.write('</ul></BODY></HTML>')
-    list.close ()
-
-    my_system (['make -C .. ' + todo])
-
-def file_exist_b(name):
-    try: 
-       f = open(name)
-    except IOError:
-       return 0
-    f.close ()
-    return 1
-def copy_files():
-    print "copying files\n"
-    
-#    my_system ("ln -s depth/out ./docxx" )
-    my_system([ "cp %s/TODO ./TODO.txt" % depth,
-    "cp %s/ANNOUNCE-0.1 ./ANNOUNCE.txt" % depth,
-    "cp %s/NEWS ./NEWS.txt" % depth,
-    "cp %s/DEDICATION ./DEDICATION.txt" % depth]);
-    my_system([ "make -C .. gifs"]);
-    
-def docxx_update():
-    print 'docxx.. \n'
-    banner= open('/tmp/lilybanner.html', 'w');
-    banner.write (footstr('../index.html'))
-    banner.close ()
-    my_system(['BANNEROPT=\"-B /tmp/lilybanner.html\" %s/bin/out/make-docxx' % depth]);
-#    os.unlink( "/tmp/lilybanner.html");
-
-def get_glob(exts):
-    result = []
-    for a in exts:
-       result = result + glob.glob1('./', '*.' + a)
-
-    return result
-
-def join(inter, list):
-    return reduce (lambda x,y, i=inter: x + i + y, list)
-
-def do_tar():
-     print "tarring.\n";
-     list = get_glob( ['html', 'gif', 'ps.gz' , 'txt', 'midi']) 
-     files = join (' ', list)
-     print files
-     my_system( ['-tar zvhcf website.tar.gz ' + files + ' docxx/*'])
-
-
-def identify():
-    print 'This is %s\n' % id_str
-    
-def clean_tmp():
-    my_system(['rm -f /tmp/gs*'])
-    
-def get_top_of_NEWS():
-    i = open('NEWS.txt')
-    lines = i.readlines()
-    i.close ()
-    s = ''
-    for l in lines:
-       if regex.search('^\*\*\*\*\*\*', l) <> -1:
-           return s;
-       s = s + l
-    return s
-
-def edit_index():
-    s = gulp_file('index.html')
-    s = regsub.sub ('top_of_NEWS', '<XMP>\n' + get_top_of_NEWS () + '\n</XMP>', s)
-    dump_file ('index.html', s)
-
-def edit_html():
-    files = get_glob(['html'])
-    for f in files:
-
-       s = gulp_file(f)
-       if regex.search(makewebsite_id, s) <> -1:
-           continue;
-
-       s = regsub.sub ('</BODY>', footstr('index.html') + makewebsite_id + '</BODY>', s)
-       s = regsub.sub('<TITLE>\(.*\)</TITLE>$', 
-                      '<TITLE>LilyPond WWW: \\1</TITLE>', s)
-
-       dump_file (f,s)
-
-
-def do_examples (examples, filename):
-    located_files = gen_examples (examples)
-    gen_list (examples, filename)
-def main():
-    identify();
-
-    os.chdir (lilydirs.topdir + 'Documentation/out')
-    __main__.depth = "../../";
-    __main__.include_path = map(lambda p: __main__.depth + '/' + 
-                               p, __main__.include_path)
-
-    set_vars();
-    gen_html();
-    copy_files();
-    do_examples (examples, 'examples_output.html');
-    do_examples (mutopia_examples, 'mutopiaexamples_output.html');
-    gen_manuals();
-    #set_images();
-    edit_html();
-    edit_index();
-    docxx_update()
-    do_tar()
-    clean_tmp();
-
-
-main()
-
-
diff --git a/bin/makepatch.py b/bin/makepatch.py
deleted file mode 100644 (file)
index 0d7ecfc..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#!@PYTHON@
-from lilypython import *
-import getopt
-import pipes
-
-
-mp_version = '2'
-
-class Options:
-    def __init__(self):
-       self.to_version = lilydirs.version_tuple()
-       self.from_version = prev_version(self.to_version)
-
-options = Options()
-       
-
-def help():
-    sys.stdout.write(
-       'Generate a patch to go to this version.\n'
-       '  --from=FROM, -f FROM    old is FROM\n'
-       '  --to=TO, -t TO          to version TO\n'  
-       
-       )
-    sys.exit();
-
-
-
-def untar(fn):
-    sys.stderr.write('untarring ' + fn)
-    os.system ('tar xzf ' + fn)
-    sys.stderr.write('\n')
-    sys.stderr.flush()
-
-
-header = 'Generated by make-patch, old = %s, new = %s\n\
-\n\
-usage \n\
-\n\
-       cd lilypond-source-dir; patch -E -p0 < %s\n\
-\n\
-Patches do not contain automatically generated files, \n\
-i.e. you should rerun configure\n\n'
-
-import fnmatch
-import os
-
-_debug = 0
-
-_prune = ['(*)']
-
-
-def my_find(patterns, dir = os.curdir):
-        list = []
-        names = os.listdir(dir)
-        names.sort()
-        for name in names:
-                if name in (os.curdir, os.pardir):
-                        continue
-                fullname = os.path.join(dir, name)
-               for pat in patterns:
-                   if fnmatch.fnmatch(name, pat):
-                        list.append(fullname)
-                if os.path.isdir(fullname) and not os.path.islink(fullname):
-                        for p in _prune:
-                                if fnmatch.fnmatch(name, p):
-                                        if _debug: print "skip", `fullname`
-                                        break
-                        else:
-                                if _debug: print "descend into", `fullname`
-                               found = my_find(patterns, fullname)
-                               if found:
-                                   list = list + found
-        return list
-
-def multiple_find(pats, dirnames):
-    from find import find
-    l = []
-    for d in dirnames:
-       l = l + my_find(pats,  d)
-    return l
-
-pats = ['*.lsm', 'configure', '*.text', 'lilypond.spec']
-def remove_automatic(dirnames):
-    files = []
-    files = files + multiple_find(pats, dirnames)
-
-    for f in files:
-       os.remove(f)
-
-def makepatch(fv, tv, patfile_nm):
-    import tempfile
-    prev_cwd = os.getcwd();
-    os.chdir ('/tmp')
-    untar(released_tarball(fv))
-    untar(released_tarball(tv))
-    remove_automatic([dirname(fv), dirname(tv)])
-
-    os.chdir(dirname(tv))
-    
-    if not patfile_nm:
-       patfile_nm = '../patch-%s' % version_tuple_to_str(tv)
-
-    f = open(patfile_nm, 'w')
-    f.write(header %\
-           (version_tuple_to_str(fv), version_tuple_to_str(tv), \
-            os.path.basename(patfile_nm)))
-    f.close()
-           
-    sys.stderr.write('diffing to %s... ' % patfile_nm)
-    os.system('diff -urN ../%s . >> %s' % (dirname(fv), patfile_nm))
-    #os.system('gzip -9f %s' % patfile_nm)
-    os.chdir('/tmp')
-
-    sys.stderr.write('cleaning ... ')
-    os.system('rm -fr %s %s' % (dirname(tv), dirname(fv)))
-    sys.stderr.write('\n')
-    os.chdir(prev_cwd)
-    
-def main():
-    sys.stderr.write('This is make-patch version %s\n' % mp_version)
-    (cl_options, files) = getopt.getopt(sys.argv[1:], 
-                                       'hf:o:t:', ['output=', 'help', 'from=', 'to='])
-    outfn = ''
-    for opt in cl_options:
-       o = opt[0]
-       a = opt[1]
-       if o == '--from' or o == '-f':
-            options.from_version = version_str_to_tuple(a)
-       elif o == '--to' or o == '-t':
-           options.to_version = version_str_to_tuple(a)
-       elif o== '--help' or o == '-h':
-           help()
-       elif o == '--output' or o == '-o':
-           outfn = os.path.join(os.getcwd(), a)
-       else:
-           raise getopt.error
-
-    if not outfn:
-       pn = 'patch-%s' % version_tuple_to_str(options.to_version)
-       outfn =  os.path.join(os.getcwd(), pn)
-
-    makepatch(options.from_version, options.to_version, outfn)
-
-if __name__ == '__main__':
-    main()
diff --git a/bin/mf-deps.in b/bin/mf-deps.in
new file mode 100644 (file)
index 0000000..6d022ff
--- /dev/null
@@ -0,0 +1,88 @@
+#!@PYTHON@
+
+# 
+# mf-deps.py -- dependencies for metafont 
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+
+"""look into metafont source for dependencies.
+
+ fixme: python path
+ fixme: error reporting
+ fixem: python sucks slightly: why doesn't it have closures?
+
+"""
+
+from regex import * ;
+from regsub import * ;
+import sys;
+import os;
+
+
+version = "0.2"
+input_re = compile('^[ \t]*input *\([^;]+\);')
+postfixes = ['log', 'dvi', '2602gf', 'tfm']
+
+def identify ():
+    return "mf-deps.py %s" % version
+
+
+
+def print_one(x):
+    print x
+
+def line_concat(x,y):
+    return x + '\n' +  y
+
+class Targetdeps:
+    """Dependencies for one toplevel sourcefile
+
+    """
+    
+    def __init__(self,nm):
+       split = os.path.splitext(nm)    
+       self.basename=split[0];
+       self.depfiles = []
+       self.checkdep(nm)
+       
+    def checkdep(self, name):
+       split = os.path.splitext(name)
+       name = split[0] + '.mf';
+
+       if name not in self.depfiles:
+           self.get_filedeps(name)
+
+    def get_filedeps(self,filename):
+#      print sys.stderr.write( 'checking ' + filename + '\n');
+       try:
+           file = open(filename)
+       except IOError:
+#          print sys.stderr.write( 'can\'t open ' + filename + '\n')
+           return
+
+       self.depfiles.append(filename)
+       lines = file.readlines()
+       file.close()
+       for line in lines:
+           if input_re.search (line) <> -1:
+               self.checkdep( input_re.group(1))
+
+    def target_string(self):
+       # ugh.  Closures, anyone?
+       targets =  map (lambda x,y = self.basename: 'out/' + y + '.' + x, postfixes)
+       depstring = reduce(lambda x,y: x + ' ' + y, self.depfiles) 
+       dependencies = map (lambda x, y=depstring: x + ': ' + y, targets)
+
+       return reduce(line_concat, dependencies)
+
+print "# Automatically generated by %s\n" % identify ()
+
+for file in sys.argv[1:]: # skip programname
+    t = Targetdeps(file)
+    print t.target_string()
+
+
diff --git a/bin/mf-deps.py b/bin/mf-deps.py
deleted file mode 100644 (file)
index 6d022ff..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#!@PYTHON@
-
-# 
-# mf-deps.py -- dependencies for metafont 
-# 
-# source file of the GNU LilyPond music typesetter
-# 
-# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-# 
-
-
-"""look into metafont source for dependencies.
-
- fixme: python path
- fixme: error reporting
- fixem: python sucks slightly: why doesn't it have closures?
-
-"""
-
-from regex import * ;
-from regsub import * ;
-import sys;
-import os;
-
-
-version = "0.2"
-input_re = compile('^[ \t]*input *\([^;]+\);')
-postfixes = ['log', 'dvi', '2602gf', 'tfm']
-
-def identify ():
-    return "mf-deps.py %s" % version
-
-
-
-def print_one(x):
-    print x
-
-def line_concat(x,y):
-    return x + '\n' +  y
-
-class Targetdeps:
-    """Dependencies for one toplevel sourcefile
-
-    """
-    
-    def __init__(self,nm):
-       split = os.path.splitext(nm)    
-       self.basename=split[0];
-       self.depfiles = []
-       self.checkdep(nm)
-       
-    def checkdep(self, name):
-       split = os.path.splitext(name)
-       name = split[0] + '.mf';
-
-       if name not in self.depfiles:
-           self.get_filedeps(name)
-
-    def get_filedeps(self,filename):
-#      print sys.stderr.write( 'checking ' + filename + '\n');
-       try:
-           file = open(filename)
-       except IOError:
-#          print sys.stderr.write( 'can\'t open ' + filename + '\n')
-           return
-
-       self.depfiles.append(filename)
-       lines = file.readlines()
-       file.close()
-       for line in lines:
-           if input_re.search (line) <> -1:
-               self.checkdep( input_re.group(1))
-
-    def target_string(self):
-       # ugh.  Closures, anyone?
-       targets =  map (lambda x,y = self.basename: 'out/' + y + '.' + x, postfixes)
-       depstring = reduce(lambda x,y: x + ' ' + y, self.depfiles) 
-       dependencies = map (lambda x, y=depstring: x + ': ' + y, targets)
-
-       return reduce(line_concat, dependencies)
-
-print "# Automatically generated by %s\n" % identify ()
-
-for file in sys.argv[1:]: # skip programname
-    t = Targetdeps(file)
-    print t.target_string()
-
-
diff --git a/bin/mf-to-table.in b/bin/mf-to-table.in
new file mode 100644 (file)
index 0000000..58c96c3
--- /dev/null
@@ -0,0 +1,222 @@
+#!@PYTHON@
+
+# 
+# mf-to-table.py -- convert spacing info in  MF logs .ly and .tex
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+import getopt
+from string import *
+import regex
+import regsub
+import os
+import sys
+import time
+from flower import *
+
+begin_autometric_re = regex.compile('@{')
+end_autometric_re = regex.compile('@}')
+autometric_re = regex.compile('@{\(.*\)@}')
+version = '0.5'
+
+class Feta_file(File):
+    """Read Feta metrics from a metafont log-file."""
+    def read_autometricline(self):
+       line = ''
+       while end_autometric_re.search(line) == -1 and not self.eof():
+           suf = File.readline(self)
+           if begin_autometric_re.search(line) == -1:
+               line = ''
+           line = line + regsub.sub('\n','', suf)
+
+       if self.eof():
+          return ''
+
+       return line;
+    def readline(self):
+       """return what is enclosed in one @{ @} pair"""
+       line = '';
+       while autometric_re.search(line) == -1 and not self.eof():
+           line = self.read_autometricline()
+
+       if self.eof():
+           return '';
+
+       return autometric_re.group(1);
+    def __init__(self, nm):
+       File.__init__(self, nm)
+    def do_file(infile_nm):
+       infile = readline();
+
+#
+# FIXME: should parse output for {} to do indenting.
+#
+class Indentable_file(File):
+    """Output file with support for indentation"""
+    def __init__(self,nm, mode):
+       File.__init__(self,nm,mode)
+       self.current_indent_ = 0
+       self.delta_indent_ = 4
+    def writeline (self, str):
+       File.write(self, str)
+    def writeeol(self):
+       File.write(self, '\n')
+       File.write(self, ' '* self.current_indent_)
+
+    def indent(self):
+       self.current_indent_ = self.delta_indent_ + self.current_indent_;
+    def dedent(self):
+       self.current_indent_ = self.current_indent_ - self.delta_indent_;
+       if self.current_indent_ < 0:
+           raise 'Nesting!'
+
+    def write(self, str):
+       lines = split(str, '\n')
+       for l in lines[:-1]:
+           self.writeline(l)
+           self.writeeol()
+        self.writeline (lines[-1])
+
+class Ly_file(Indentable_file):
+    """extra provisions for mozarella quirks"""
+    def print_lit(self, str):
+       self.write('\"%s\"\t' % str)
+
+    def print_f_dimen(self, f):
+       dimstr = '%.2f' % f
+
+       # try to mask rounding errors
+       if (dimstr == '-0.00'):
+               dimstr = '0.00'
+       self.write( dimstr  +'\\pt\t');
+
+    def print_dimen(self, str):
+       self.print_f_dimen(atof(str))
+    
+    def neg_print_dimen(self, str):
+       self.print_f_dimen(-atof(str));
+       
+    def def_symbol(self, lily_id, tex_id, dims):
+       self.print_lit(lily_id)
+       self.print_lit('\\\\' + tex_id)
+
+       self.neg_print_dimen(dims [0])
+       self.print_dimen(dims [1])
+       self.neg_print_dimen(dims [2])
+       self.print_dimen(dims [3])
+       self.write('\n')
+       
+       
+class Log_reader:
+    """Read logs, destill info, and put into output files"""
+    def output_label(self, line):
+
+       if not line:
+           return;
+       tags = split(line, '@:')
+       label = tags[0]
+       name = tags[1]
+       ly = self.lyfile        
+       if tags[0] == 'font':
+           ly.indent()
+           ly.write("% name=\\symboltables {\n")
+           self.texfile.write("% name\n")
+       elif label == "group":
+           ly.indent()
+           ly.print_lit(name)
+           ly.write(' = \\table {\n')
+           self.texfile.write("% " + name + "\n")
+       elif label == "puorg":
+           ly.dedent()
+           ly.write("}\n")
+           self.texfile.write("\n")
+       elif label == "tnof":
+           ly.dedent()
+           ly.write("%  } % $name\n")
+       elif label == "char":
+           code = tags[2]
+           id = tags [7]
+           texstr = tags [8]
+           
+           ly.def_symbol(id, texstr, tags[3:7])
+           
+           self.texfile.write("\\fetdef\\%s{%s}\n" % (texstr, code))
+       else:
+           raise 'unknown label: ' + label
+
+
+    def do_file(self,filenm):
+       self.lyfile.write('\n% input from ' + filenm + '\n')
+       self.texfile.write('\n% input from ' + filenm + '\n')
+       feta = Feta_file(filenm)
+       while not feta.eof():
+           line = feta.readline()
+           self.output_label(line)
+       feta.close()
+
+    def __init__(self, lyfile_nm, texfile_nm):     
+       self.lyfile = Ly_file(lyfile_nm, 'w')
+       self.texfile = Indentable_file(texfile_nm, 'w')
+
+
+       headerstr = '%% Creator: %s\n%% Automatically generated on\n%% Do not edit' % \
+                  (program_id() )
+
+       self.lyfile.write(headerstr)
+       self.texfile.write(headerstr)
+
+    def close(self):
+       self.lyfile.close()
+       self.texfile.close()
+
+    def __del__(self):
+       self.close()
+
+def today_str():
+    return time.asctime(time.localtime(time.time()))
+       
+def program_id():
+    return 'mf-to-table.py version ' + version;
+
+def identify():
+    sys.stdout.write(program_id() + '\n')
+    
+def help():
+    sys.stdout.write("Usage: mf-to-table [options] LOGFILEs\n"
+                + "Generate mozarella metrics table from preparated feta log\n\n"
+                + "Options:\n"
+                + "  -h, --help             print this help\n"
+                + "  -l, --ly=FILE          name output table\n"
+                + "  -t, --tex=FILE         name output tex chardefs\n")
+
+
+def main():
+    identify()
+    (options, files) = getopt.getopt(
+       sys.argv[1:], 'hl:t:', ['ly=', 'tex=', 'debug', 'help'])
+
+    lyfile_nm = texfile_nm = '';
+    for opt in options:
+       o = opt[0]
+       a = opt[1]
+       if o == '--ly' or o == '-l':
+           lyfile_nm = a
+       elif o == '--tex' or o == '-t':
+           texfile_nm = a
+       elif o== '--help' or o == '-h':
+           help()
+       elif o == '--debug':
+           debug_b = 1
+       else:
+           raise getopt.error
+
+    log_reader = Log_reader(lyfile_nm, texfile_nm)
+    for filenm in files:
+       log_reader.do_file(filenm)
+    log_reader.close()
+
+
+main()
diff --git a/bin/mf-to-table.py b/bin/mf-to-table.py
deleted file mode 100644 (file)
index 58c96c3..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-#!@PYTHON@
-
-# 
-# mf-to-table.py -- convert spacing info in  MF logs .ly and .tex
-# 
-# source file of the GNU LilyPond music typesetter
-# 
-# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-# 
-
-import getopt
-from string import *
-import regex
-import regsub
-import os
-import sys
-import time
-from flower import *
-
-begin_autometric_re = regex.compile('@{')
-end_autometric_re = regex.compile('@}')
-autometric_re = regex.compile('@{\(.*\)@}')
-version = '0.5'
-
-class Feta_file(File):
-    """Read Feta metrics from a metafont log-file."""
-    def read_autometricline(self):
-       line = ''
-       while end_autometric_re.search(line) == -1 and not self.eof():
-           suf = File.readline(self)
-           if begin_autometric_re.search(line) == -1:
-               line = ''
-           line = line + regsub.sub('\n','', suf)
-
-       if self.eof():
-          return ''
-
-       return line;
-    def readline(self):
-       """return what is enclosed in one @{ @} pair"""
-       line = '';
-       while autometric_re.search(line) == -1 and not self.eof():
-           line = self.read_autometricline()
-
-       if self.eof():
-           return '';
-
-       return autometric_re.group(1);
-    def __init__(self, nm):
-       File.__init__(self, nm)
-    def do_file(infile_nm):
-       infile = readline();
-
-#
-# FIXME: should parse output for {} to do indenting.
-#
-class Indentable_file(File):
-    """Output file with support for indentation"""
-    def __init__(self,nm, mode):
-       File.__init__(self,nm,mode)
-       self.current_indent_ = 0
-       self.delta_indent_ = 4
-    def writeline (self, str):
-       File.write(self, str)
-    def writeeol(self):
-       File.write(self, '\n')
-       File.write(self, ' '* self.current_indent_)
-
-    def indent(self):
-       self.current_indent_ = self.delta_indent_ + self.current_indent_;
-    def dedent(self):
-       self.current_indent_ = self.current_indent_ - self.delta_indent_;
-       if self.current_indent_ < 0:
-           raise 'Nesting!'
-
-    def write(self, str):
-       lines = split(str, '\n')
-       for l in lines[:-1]:
-           self.writeline(l)
-           self.writeeol()
-        self.writeline (lines[-1])
-
-class Ly_file(Indentable_file):
-    """extra provisions for mozarella quirks"""
-    def print_lit(self, str):
-       self.write('\"%s\"\t' % str)
-
-    def print_f_dimen(self, f):
-       dimstr = '%.2f' % f
-
-       # try to mask rounding errors
-       if (dimstr == '-0.00'):
-               dimstr = '0.00'
-       self.write( dimstr  +'\\pt\t');
-
-    def print_dimen(self, str):
-       self.print_f_dimen(atof(str))
-    
-    def neg_print_dimen(self, str):
-       self.print_f_dimen(-atof(str));
-       
-    def def_symbol(self, lily_id, tex_id, dims):
-       self.print_lit(lily_id)
-       self.print_lit('\\\\' + tex_id)
-
-       self.neg_print_dimen(dims [0])
-       self.print_dimen(dims [1])
-       self.neg_print_dimen(dims [2])
-       self.print_dimen(dims [3])
-       self.write('\n')
-       
-       
-class Log_reader:
-    """Read logs, destill info, and put into output files"""
-    def output_label(self, line):
-
-       if not line:
-           return;
-       tags = split(line, '@:')
-       label = tags[0]
-       name = tags[1]
-       ly = self.lyfile        
-       if tags[0] == 'font':
-           ly.indent()
-           ly.write("% name=\\symboltables {\n")
-           self.texfile.write("% name\n")
-       elif label == "group":
-           ly.indent()
-           ly.print_lit(name)
-           ly.write(' = \\table {\n')
-           self.texfile.write("% " + name + "\n")
-       elif label == "puorg":
-           ly.dedent()
-           ly.write("}\n")
-           self.texfile.write("\n")
-       elif label == "tnof":
-           ly.dedent()
-           ly.write("%  } % $name\n")
-       elif label == "char":
-           code = tags[2]
-           id = tags [7]
-           texstr = tags [8]
-           
-           ly.def_symbol(id, texstr, tags[3:7])
-           
-           self.texfile.write("\\fetdef\\%s{%s}\n" % (texstr, code))
-       else:
-           raise 'unknown label: ' + label
-
-
-    def do_file(self,filenm):
-       self.lyfile.write('\n% input from ' + filenm + '\n')
-       self.texfile.write('\n% input from ' + filenm + '\n')
-       feta = Feta_file(filenm)
-       while not feta.eof():
-           line = feta.readline()
-           self.output_label(line)
-       feta.close()
-
-    def __init__(self, lyfile_nm, texfile_nm):     
-       self.lyfile = Ly_file(lyfile_nm, 'w')
-       self.texfile = Indentable_file(texfile_nm, 'w')
-
-
-       headerstr = '%% Creator: %s\n%% Automatically generated on\n%% Do not edit' % \
-                  (program_id() )
-
-       self.lyfile.write(headerstr)
-       self.texfile.write(headerstr)
-
-    def close(self):
-       self.lyfile.close()
-       self.texfile.close()
-
-    def __del__(self):
-       self.close()
-
-def today_str():
-    return time.asctime(time.localtime(time.time()))
-       
-def program_id():
-    return 'mf-to-table.py version ' + version;
-
-def identify():
-    sys.stdout.write(program_id() + '\n')
-    
-def help():
-    sys.stdout.write("Usage: mf-to-table [options] LOGFILEs\n"
-                + "Generate mozarella metrics table from preparated feta log\n\n"
-                + "Options:\n"
-                + "  -h, --help             print this help\n"
-                + "  -l, --ly=FILE          name output table\n"
-                + "  -t, --tex=FILE         name output tex chardefs\n")
-
-
-def main():
-    identify()
-    (options, files) = getopt.getopt(
-       sys.argv[1:], 'hl:t:', ['ly=', 'tex=', 'debug', 'help'])
-
-    lyfile_nm = texfile_nm = '';
-    for opt in options:
-       o = opt[0]
-       a = opt[1]
-       if o == '--ly' or o == '-l':
-           lyfile_nm = a
-       elif o == '--tex' or o == '-t':
-           texfile_nm = a
-       elif o== '--help' or o == '-h':
-           help()
-       elif o == '--debug':
-           debug_b = 1
-       else:
-           raise getopt.error
-
-    log_reader = Log_reader(lyfile_nm, texfile_nm)
-    for filenm in files:
-       log_reader.do_file(filenm)
-    log_reader.close()
-
-
-main()
diff --git a/bin/mudela-book.in b/bin/mudela-book.in
new file mode 100644 (file)
index 0000000..f23b428
--- /dev/null
@@ -0,0 +1,208 @@
+#!@PERL@ -w
+# -*-Perl-*-
+my $mudcount = 0;
+my $mudela_b = 0;
+my $outname = "-";
+my $outdir;
+use Getopt::Long;
+
+
+# do something, check return status
+sub my_system
+{
+    my (@cmds) = @_;
+    foreach $cmd (@cmds) {
+       my ($ignoreret)=0;
+       if ( $cmd  =~ /^-/ ) {
+           $ignoreret = 1;
+           $cmd = substr ($cmd, 1);
+       }
+       
+       my $ret =  ( system ($cmd));
+       if ($ret) {
+           if ($ignoreret) {
+               print STDERR "ignoring failed command \`$cmd\' (status $ret)\n";
+           }else {
+               print STDERR "\nmudela-book: failed on command \`$cmd\' (status $ret)\n";
+               exit 2;
+           }
+       }
+    }
+}
+sub gen_mufile
+{
+    return "$outdir/$outname$mudcount.ly";
+}
+
+sub gen_texbase
+{
+    return "$outname$mudcount.tex";
+}
+sub gen_texfile
+{
+    return "$outdir/" . gen_texbase;
+}
+
+sub close_mudela
+{
+    $mudela_b = 0;
+    if ($fragment_b) {
+       print MUDELA "}\n \\paper { linewidth = -1.0\\cm;";
+       print MUDELA "castingalgorithm = \\Wordwrap; } }\n";
+       $fragment_b =0;
+    }
+    if ($verbatim_b)  {
+       print BOOK "\\end{verbatim}";
+    }
+    if ($center_b) {
+       print BOOK "\\end{minipage}";
+    }
+    if ($verbatim_b)  {
+       print BOOK "\\interexample";
+       $verbatim_b = 0;
+    }
+    close MUDELA;
+    my $status =0;
+    if ( -f gen_mufile ) {
+       $status = system "diff -q $outdir/book-mudela.ly " . gen_mufile;
+    } else {
+       $status = 1;
+       }
+    if ( $status ) {
+       rename "$outdir/book-mudela.ly", gen_mufile;
+       unlink gen_texfile;
+    }
+    
+    if ( ! -f gen_texfile) {
+       my_system "lilypond ". gen_mufile;
+       rename gen_texbase, gen_texfile;
+    }
+
+    if ($center_b) {
+       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
+    }
+    print BOOK "\\input " . gen_texfile . "%\n";
+    if ($center_b) {
+       print BOOK "\\end{minipage}";
+       $center_b = 0;
+    }
+    print BOOK "\\postexample%\n";
+}
+
+sub open_mudela
+{
+    $mudcount++;
+    $mudela_b = 1      ;
+    open MUDELA, ">$outdir/book-mudela.ly";
+    print BOOK "\\preexample%\n";
+    if ($center_b) {
+       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
+    }
+    if ($verbatim_b) {
+       print BOOK "\\begin{verbatim}\n";
+    }
+    if ($fragment_b) {
+       print MUDELA "\\score { \\melodic {\\octave c';";
+    } else {
+       print MUDELA "default_paper = \\paper { \\paper_sixteen ";
+       print MUDELA "linewidth = 7.\\cm;}";
+    }
+
+}
+
+sub begin_b
+{
+    my ($s) = @_;
+    return (/^\\begin{$s}/) ;    
+}
+
+sub end_b
+{
+    my ($s) = @_;
+    return (/^\\end{$s}/) ;    
+}
+sub parse_mudela_opts
+{
+   my ($s) = @_;
+   $s =~ s/[\[\]]//g;
+
+   $verbatim_b =1 if ($s =~ /verbatim/ );
+   $fragment_b = 1 if ($s =~ /fragment/ );
+   $center_b = 1 if ($s =~ /center/ );
+}   
+
+sub help
+{
+    print  "usage: convert-mudela [options] [file]
+options: 
+--help
+--outdir=DIRECTORY     write all files in directory DIRECTORY
+--outname=NAME         use NAME as base  for the output
+";
+    exit;
+}
+    
+sub main
+{
+    GetOptions( 'outdir=s', 'outname=s', 'help');
+    if ( $opt_help ) {
+       help();
+       $opt_help = 0;  # to extinguish typo check. brr, what a language
+    }
+
+    if  (defined ($opt_outdir)) {
+       $outdir = $opt_outdir .  "/";
+    } else {
+       $outdir = ".";
+    }
+   
+    if (defined ($ARGV[0])) {
+       $infile = $ARGV[0] ;
+    } else {
+       $infile = "-";
+    }
+    if (defined ($opt_outname)) {
+       $outname = $opt_outname ;
+    } else { 
+       die "Need to have an output name, use --outname" if ( $infile eq "-");
+       $outname = "$infile.tex";
+    }
+
+    my $openout ="$outdir$outname"; 
+    if  ( $infile eq $openout ) {
+       die "The input can't be the output\n";
+    }
+
+    open INFILE, "<$infile";
+    open BOOK, ">$openout";
+    while (<INFILE>) {
+       if ($mudela_b) {
+           if (end_b "mudela") {
+               close_mudela;
+               next;
+           }
+           print MUDELA;
+           if ( $verbatim_b ) {
+               my $s = $_;
+               $s =~ s/\t/    /g; #shit
+               print BOOK $s;
+           }
+           
+       } else {
+           if (/^\\begin(\[.*\])?{mudela}/ ) {
+               my $opts ="";
+               $opts = $1 if ( defined ($1));
+
+               parse_mudela_opts($opts);
+               open_mudela;
+               next;  
+           } 
+           print BOOK;
+       }
+    }
+    close INFILE;
+    close BOOK;
+}
+
+
+main;
diff --git a/bin/mudela-book.pl b/bin/mudela-book.pl
deleted file mode 100644 (file)
index f23b428..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-#!@PERL@ -w
-# -*-Perl-*-
-my $mudcount = 0;
-my $mudela_b = 0;
-my $outname = "-";
-my $outdir;
-use Getopt::Long;
-
-
-# do something, check return status
-sub my_system
-{
-    my (@cmds) = @_;
-    foreach $cmd (@cmds) {
-       my ($ignoreret)=0;
-       if ( $cmd  =~ /^-/ ) {
-           $ignoreret = 1;
-           $cmd = substr ($cmd, 1);
-       }
-       
-       my $ret =  ( system ($cmd));
-       if ($ret) {
-           if ($ignoreret) {
-               print STDERR "ignoring failed command \`$cmd\' (status $ret)\n";
-           }else {
-               print STDERR "\nmudela-book: failed on command \`$cmd\' (status $ret)\n";
-               exit 2;
-           }
-       }
-    }
-}
-sub gen_mufile
-{
-    return "$outdir/$outname$mudcount.ly";
-}
-
-sub gen_texbase
-{
-    return "$outname$mudcount.tex";
-}
-sub gen_texfile
-{
-    return "$outdir/" . gen_texbase;
-}
-
-sub close_mudela
-{
-    $mudela_b = 0;
-    if ($fragment_b) {
-       print MUDELA "}\n \\paper { linewidth = -1.0\\cm;";
-       print MUDELA "castingalgorithm = \\Wordwrap; } }\n";
-       $fragment_b =0;
-    }
-    if ($verbatim_b)  {
-       print BOOK "\\end{verbatim}";
-    }
-    if ($center_b) {
-       print BOOK "\\end{minipage}";
-    }
-    if ($verbatim_b)  {
-       print BOOK "\\interexample";
-       $verbatim_b = 0;
-    }
-    close MUDELA;
-    my $status =0;
-    if ( -f gen_mufile ) {
-       $status = system "diff -q $outdir/book-mudela.ly " . gen_mufile;
-    } else {
-       $status = 1;
-       }
-    if ( $status ) {
-       rename "$outdir/book-mudela.ly", gen_mufile;
-       unlink gen_texfile;
-    }
-    
-    if ( ! -f gen_texfile) {
-       my_system "lilypond ". gen_mufile;
-       rename gen_texbase, gen_texfile;
-    }
-
-    if ($center_b) {
-       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
-    }
-    print BOOK "\\input " . gen_texfile . "%\n";
-    if ($center_b) {
-       print BOOK "\\end{minipage}";
-       $center_b = 0;
-    }
-    print BOOK "\\postexample%\n";
-}
-
-sub open_mudela
-{
-    $mudcount++;
-    $mudela_b = 1      ;
-    open MUDELA, ">$outdir/book-mudela.ly";
-    print BOOK "\\preexample%\n";
-    if ($center_b) {
-       print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
-    }
-    if ($verbatim_b) {
-       print BOOK "\\begin{verbatim}\n";
-    }
-    if ($fragment_b) {
-       print MUDELA "\\score { \\melodic {\\octave c';";
-    } else {
-       print MUDELA "default_paper = \\paper { \\paper_sixteen ";
-       print MUDELA "linewidth = 7.\\cm;}";
-    }
-
-}
-
-sub begin_b
-{
-    my ($s) = @_;
-    return (/^\\begin{$s}/) ;    
-}
-
-sub end_b
-{
-    my ($s) = @_;
-    return (/^\\end{$s}/) ;    
-}
-sub parse_mudela_opts
-{
-   my ($s) = @_;
-   $s =~ s/[\[\]]//g;
-
-   $verbatim_b =1 if ($s =~ /verbatim/ );
-   $fragment_b = 1 if ($s =~ /fragment/ );
-   $center_b = 1 if ($s =~ /center/ );
-}   
-
-sub help
-{
-    print  "usage: convert-mudela [options] [file]
-options: 
---help
---outdir=DIRECTORY     write all files in directory DIRECTORY
---outname=NAME         use NAME as base  for the output
-";
-    exit;
-}
-    
-sub main
-{
-    GetOptions( 'outdir=s', 'outname=s', 'help');
-    if ( $opt_help ) {
-       help();
-       $opt_help = 0;  # to extinguish typo check. brr, what a language
-    }
-
-    if  (defined ($opt_outdir)) {
-       $outdir = $opt_outdir .  "/";
-    } else {
-       $outdir = ".";
-    }
-   
-    if (defined ($ARGV[0])) {
-       $infile = $ARGV[0] ;
-    } else {
-       $infile = "-";
-    }
-    if (defined ($opt_outname)) {
-       $outname = $opt_outname ;
-    } else { 
-       die "Need to have an output name, use --outname" if ( $infile eq "-");
-       $outname = "$infile.tex";
-    }
-
-    my $openout ="$outdir$outname"; 
-    if  ( $infile eq $openout ) {
-       die "The input can't be the output\n";
-    }
-
-    open INFILE, "<$infile";
-    open BOOK, ">$openout";
-    while (<INFILE>) {
-       if ($mudela_b) {
-           if (end_b "mudela") {
-               close_mudela;
-               next;
-           }
-           print MUDELA;
-           if ( $verbatim_b ) {
-               my $s = $_;
-               $s =~ s/\t/    /g; #shit
-               print BOOK $s;
-           }
-           
-       } else {
-           if (/^\\begin(\[.*\])?{mudela}/ ) {
-               my $opts ="";
-               $opts = $1 if ( defined ($1));
-
-               parse_mudela_opts($opts);
-               open_mudela;
-               next;  
-           } 
-           print BOOK;
-       }
-    }
-    close INFILE;
-    close BOOK;
-}
-
-
-main;
diff --git a/bin/out/dummy.dep b/bin/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/bin/ps-to-gifs.in b/bin/ps-to-gifs.in
new file mode 100755 (executable)
index 0000000..dc51988
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+  
+usage()
+{
+    echo 'ps-to-gifs.sh FILE.ps'
+    exit 2;
+}
+
+case $# in
+1)
+    FILE=`basename $1 .ps`
+    ;;
+*)
+    usage
+    ;;
+esac
+
+# generate the pixmap at twice the size, then rescale (for antialiasing)
+cat $1 | gs  -q -sDEVICE=ppmraw \
+    -sOutputFile="|pnmscale 0.5|ppmtogif > $FILE-page%d.gif" \
+    -r200 -dNOPAUSE - -c quit
+
+
+
diff --git a/bin/ps-to-gifs.sh b/bin/ps-to-gifs.sh
deleted file mode 100755 (executable)
index dc51988..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-  
-usage()
-{
-    echo 'ps-to-gifs.sh FILE.ps'
-    exit 2;
-}
-
-case $# in
-1)
-    FILE=`basename $1 .ps`
-    ;;
-*)
-    usage
-    ;;
-esac
-
-# generate the pixmap at twice the size, then rescale (for antialiasing)
-cat $1 | gs  -q -sDEVICE=ppmraw \
-    -sOutputFile="|pnmscale 0.5|ppmtogif > $FILE-page%d.gif" \
-    -r200 -dNOPAUSE - -c quit
-
-
-
diff --git a/bin/release.in b/bin/release.in
new file mode 100644 (file)
index 0000000..1ba3c6c
--- /dev/null
@@ -0,0 +1,56 @@
+#!@PYTHON@
+
+import sys
+import os
+
+lilypath =''
+try:
+    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
+except KeyError:
+    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
+    sys.exit(1)
+
+lilypath = lilypath + '/bin/'
+sys.path.append(lilypath)
+
+from lilypython import *
+
+os.chdir(lilydirs.topdir)
+os.system('make dist')
+cur_ver = lilydirs.version_tuple()
+print tarball(cur_ver)
+try:
+    os.rename('out/' + tarball(cur_ver), released_tarball(cur_ver))
+except posix.error:
+    os.system('cp out/' + tarball(cur_ver)  + ' ' + released_tarball(cur_ver))
+    os.unlink('out/' + tarball (cur_ver))
+    
+os.chdir(lilydirs.groupdir + '/test')
+os.system('pwd')
+os.system('rm ../test/*gz')
+
+#huh?
+#os.symlink(released_tarball(cur_ver), tarball(cur_ver))
+
+try:
+    os.link(released_tarball(cur_ver), tarball(cur_ver))
+except posix.error:
+    os.system('cp ' + released_tarball(cur_ver) + ' '+  tarball(cur_ver))
+
+# not a module, but a script (JCN)
+# makepatch.main()
+
+# Module wherefore aren't thou Script
+# A Rose by any other name would be as blonde. --HWN
+
+os.system('python ' + lilydirs.topdir + '/bin/make-patch.py');
+
+pn = 'patch-%s' % version_tuple_to_str(cur_ver)
+os.system('gzip -9 ' + pn)
+pn = pn + '.gz'
+rel_pn = lilydirs.release_dir + '../patches/' + pn;
+
+os.rename(pn, rel_pn);
+os.link(rel_pn, pn);
+
+os.system('tar cf updeet *gz')
diff --git a/bin/release.py b/bin/release.py
deleted file mode 100644 (file)
index 1ba3c6c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#!@PYTHON@
-
-import sys
-import os
-
-lilypath =''
-try:
-    lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except KeyError:
-    print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
-    sys.exit(1)
-
-lilypath = lilypath + '/bin/'
-sys.path.append(lilypath)
-
-from lilypython import *
-
-os.chdir(lilydirs.topdir)
-os.system('make dist')
-cur_ver = lilydirs.version_tuple()
-print tarball(cur_ver)
-try:
-    os.rename('out/' + tarball(cur_ver), released_tarball(cur_ver))
-except posix.error:
-    os.system('cp out/' + tarball(cur_ver)  + ' ' + released_tarball(cur_ver))
-    os.unlink('out/' + tarball (cur_ver))
-    
-os.chdir(lilydirs.groupdir + '/test')
-os.system('pwd')
-os.system('rm ../test/*gz')
-
-#huh?
-#os.symlink(released_tarball(cur_ver), tarball(cur_ver))
-
-try:
-    os.link(released_tarball(cur_ver), tarball(cur_ver))
-except posix.error:
-    os.system('cp ' + released_tarball(cur_ver) + ' '+  tarball(cur_ver))
-
-# not a module, but a script (JCN)
-# makepatch.main()
-
-# Module wherefore aren't thou Script
-# A Rose by any other name would be as blonde. --HWN
-
-os.system('python ' + lilydirs.topdir + '/bin/make-patch.py');
-
-pn = 'patch-%s' % version_tuple_to_str(cur_ver)
-os.system('gzip -9 ' + pn)
-pn = pn + '.gz'
-rel_pn = lilydirs.release_dir + '../patches/' + pn;
-
-os.rename(pn, rel_pn);
-os.link(rel_pn, pn);
-
-os.system('tar cf updeet *gz')
diff --git a/bin/show-latest.in b/bin/show-latest.in
new file mode 100644 (file)
index 0000000..1c3d14d
--- /dev/null
@@ -0,0 +1,53 @@
+#!@PERL@
+# -*-Perl-*-
+
+
+$reldir="/home/hanwen/musix/releases";
+
+use FileHandle;
+use Getopt::Long;
+
+sub cmpver 
+{      
+    my(@a)= split( /\./, $a);
+    my(@b)= split( /\./, $b);
+    
+    for $i (0,1,2) {
+       return $a[$i] <=> $b[$i] if ($a[$i] != $b[$i]);
+    }
+    return $a cmp $b;
+}
+
+my @versions;
+open LS, "ls -1 $reldir|";
+
+GetOptions( 'print', 'news', 'latest');
+
+
+while (<LS>) {
+    $_ =~ /lilypond-([^.]+\.[^.]+\.[^.]+).tar.gz/;
+    push @versions, $1;
+}
+
+
+@versions = sort cmpver @versions;
+my $last= (pop @versions);
+
+
+if (  $opt_print ) {
+    print $last;
+}
+
+if ( $opt_latest) {
+    system "rm $reldir/zZ*";
+    system  "> $reldir/zZ_LATEST_IS_$last";
+}
+if ( $opt_news ) {
+    open NEWS, "tar --to-stdout  -zxf $reldir/lilypond-$last.tar.gz lilypond-$last/NEWS |";
+    input_record_separator NEWS "****";
+    $desc = <NEWS>;
+    chop ($desc);
+    close NEWS;
+
+    print $desc;
+}
diff --git a/bin/show-latest.pl b/bin/show-latest.pl
deleted file mode 100644 (file)
index 1c3d14d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!@PERL@
-# -*-Perl-*-
-
-
-$reldir="/home/hanwen/musix/releases";
-
-use FileHandle;
-use Getopt::Long;
-
-sub cmpver 
-{      
-    my(@a)= split( /\./, $a);
-    my(@b)= split( /\./, $b);
-    
-    for $i (0,1,2) {
-       return $a[$i] <=> $b[$i] if ($a[$i] != $b[$i]);
-    }
-    return $a cmp $b;
-}
-
-my @versions;
-open LS, "ls -1 $reldir|";
-
-GetOptions( 'print', 'news', 'latest');
-
-
-while (<LS>) {
-    $_ =~ /lilypond-([^.]+\.[^.]+\.[^.]+).tar.gz/;
-    push @versions, $1;
-}
-
-
-@versions = sort cmpver @versions;
-my $last= (pop @versions);
-
-
-if (  $opt_print ) {
-    print $last;
-}
-
-if ( $opt_latest) {
-    system "rm $reldir/zZ*";
-    system  "> $reldir/zZ_LATEST_IS_$last";
-}
-if ( $opt_news ) {
-    open NEWS, "tar --to-stdout  -zxf $reldir/lilypond-$last.tar.gz lilypond-$last/NEWS |";
-    input_record_separator NEWS "****";
-    $desc = <NEWS>;
-    chop ($desc);
-    close NEWS;
-
-    print $desc;
-}
diff --git a/bin/wild-perl b/bin/wild-perl
new file mode 100644 (file)
index 0000000..83c2c82
--- /dev/null
@@ -0,0 +1,34 @@
+# -*- perl -*-
+##! @PERL@
+
+@ignorestuff = ();
+
+sub ignore_query
+{
+    my ($testfile) = @_;
+    return !grep(/$testfile/, @ignorestuff);
+}
+
+while (<>) {
+       $line = $_;
+       if ($line =~ /^ *nowildcard: *(.*)$/) {
+           $ignore = $1;
+           @ignorelist = split (/ +/, $ignore);
+           foreach $i (@ignorelist) {
+               print "# ignoring wildcards for \`$i\'\n";
+               push @ignorestuff, $i; # concat ? uh?
+           }
+
+           
+       } elsif ($line =~ /(.*)\$\(wildcard(.*)\)(.*)/) {
+           $wild = $2;
+           
+           @expanded = glob ($wild);
+
+           @expanded = grep {ignore_query($_);}  @expanded;
+           
+           print $1 . join (' ', @expanded) . $3 . "\n";
+       } else {
+           print $line;
+       }
+}
index 3cd69740dd1098b34b938d64c3f37e7d3c78459e..30e3032d68868cfe072d38e9639883cc39cbc00e 100755 (executable)
--- a/configure
+++ b/configure
@@ -29,8 +29,6 @@ ac_help="$ac_help
   enable-tex-dir=DIR             set the directory to put LilyPond TeX files in. "
 ac_help="$ac_help
   enable-mf-dir=DIR             set the directory to put LilyPond MetaFont files in. "
-ac_help="$ac_help
-  enable-out-dir                 set the directory for machine generated files. Default out or out-HOST"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -463,81 +461,964 @@ if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
 if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
 if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=flower/choleski.cc
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+. ./VERSION
+FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+if test x$MY_PATCH_LEVEL != x; then
+       FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
+fi
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:576: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall installbsd scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+         if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           # OSF/1 installbsd also uses dspmsg, but is usable.
+           :
+         else
+           ac_cv_path_install="$ac_dir/$ac_prog -c"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+
+PACKAGE=lilypond
+
+VERSION=$FULL_VERSION
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:645: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "$2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:692: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:705: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:718: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:731: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:744: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+   MAKEINFO=makeinfo
+   echo "$ac_t""found" 1>&6
+else
+   MAKEINFO="$missing_dir/missing makeinfo"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:757: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftestmake <<\EOF
+all:
+       @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  SET_MAKE=
+else
+  echo "$ac_t""no" 1>&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:787: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:816: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  ac_prog_rejected=no
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+       continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:864: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 874 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:898: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:903: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:912: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:927: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
+  fi
+else
+  GCC=
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:959: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:990: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 1000 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:1004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1030: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:1035: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+  GXX=yes
+  ac_test_CXXFLAGS="${CXXFLAGS+set}"
+  ac_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS=
+  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:1059: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_cxx_g=yes
+else
+  ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+  if test "$ac_test_CXXFLAGS" = set; then
+    CXXFLAGS="$ac_save_CXXFLAGS"
+  elif test $ac_cv_prog_cxx_g = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-O2"
+  fi
+else
+  GXX=
+  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1089: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+# ugh, automake: we want (and check for) bison
+for ac_prog in 'bison -y' byacc
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1122: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$YACC"; then
+  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_YACC="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+YACC="$ac_cv_prog_YACC"
+if test -n "$YACC"; then
+  echo "$ac_t""$YACC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+
+# ugh, automake: we want (and check for) flex
+# Extract the first word of "flex", so it can be a program name with args.
+set dummy flex; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1156: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$LEX"; then
+  ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_LEX="flex"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
+fi
+fi
+LEX="$ac_cv_prog_LEX"
+if test -n "$LEX"; then
+  echo "$ac_t""$LEX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$LEXLIB"
+then
+  case "$LEX" in
+  flex*) ac_lib=fl ;;
+  *) ac_lib=l ;;
+  esac
+  echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
+echo "configure:1189: checking for yywrap in -l$ac_lib" >&5
+ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-l$ac_lib  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1197 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char yywrap();
+
+int main() {
+yywrap()
+; return 0; }
+EOF
+if { (eval echo configure:1208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LEXLIB="-l$ac_lib"
+else
+  echo "$ac_t""no" 1>&6
+fi
 
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=flower/choleski.cc
+fi
 
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1232: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
 else
-  ac_srcdir_defaulted=no
+    # This must be in double quotes, not single quotes, because CPP may get
+  # substituted into the Makefile and "${CC-cc}" will confuse make.
+  CPP="${CC-cc} -E"
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp.
+  cat > conftest.$ac_ext <<EOF
+#line 1247 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+  cat > conftest.$ac_ext <<EOF
+#line 1264 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1270: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
+rm -f conftest*
 fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+rm -f conftest*
+  ac_cv_prog_CPP="$CPP"
 fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
+  CPP="$ac_cv_prog_CPP"
+else
+  ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
 
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
+echo $ac_n "checking lex output file root""... $ac_c" 1>&6
+echo "configure:1293: checking lex output file root" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
 else
-  echo "creating cache $cache_file"
-  > $cache_file
+  # The minimal lex program is just a single line: %%.  But some broken lexes
+# (Solaris, I think it was) want two %% lines, so accommodate them.
+echo '%%
+%%' | $LEX
+if test -f lex.yy.c; then
+  ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+  ac_cv_prog_lex_root=lexyy
+else
+  { echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; }
+fi
 fi
 
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
+echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='       '
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
+echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
+echo "configure:1314: checking whether yytext is a pointer" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
 else
-  ac_n= ac_c='\c' ac_t=
+  # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent. Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
+ac_save_LIBS="$LIBS"
+LIBS="$LIBS $LEXLIB"
+cat > conftest.$ac_ext <<EOF
+#line 1326 "configure"
+#include "confdefs.h"
+`cat $LEX_OUTPUT_ROOT.c`
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:1333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  ac_cv_prog_lex_yytext_pointer=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
 fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+rm -f "${LEX_OUTPUT_ROOT}.c"
+
+fi
+
+echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+  cat >> confdefs.h <<\EOF
+#define YYTEXT_POINTER 1
+EOF
+
+fi
+
+# ugh, ugh
+ac_cv_prog_lex_root=lex.yy
 
+missing_dir=`cd $ac_aux_dir && pwd`
 
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:1360: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:1373: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:1386: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:1399: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:1412: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+   MAKEINFO=makeinfo
+   echo "$ac_t""found" 1>&6
+else
+   MAKEINFO="$missing_dir/missing makeinfo"
+   echo "$ac_t""missing" 1>&6
+fi
 
 
 if test x$srcdir != x.; then
@@ -550,13 +1431,6 @@ if test x$srcdir != x.; then
 
 fi
 
-# if given here, these vars are initted at the checking point.
-if test x$host = xNONE; then
-    OUTDIR_NAME=${OUTDIR_NAME-"out"}
-else
-    OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
-fi
-
 printing_b=no
 checking_b=yes
 debug_b=yes
@@ -643,14 +1517,6 @@ else
 fi
 
 
-# Check whether --enable-out-dir or --disable-out-dir was given.
-if test "${enable_out_dir+set}" = set; then
-  enableval="$enable_out_dir"
-  OUTDIR_NAME=$enableval
-    
-fi
-
-
 if test $profile_b = yes; then
     EXTRA_LIBES="-pg"
     DEFINES="$DEFINES -pg"
@@ -694,7 +1560,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:698: checking for $ac_word" >&5
+echo "configure:1564: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -725,7 +1591,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:729: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1595: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -735,11 +1601,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 739 "configure"
+#line 1605 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -759,12 +1625,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:763: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1629: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:768: checking whether we are using GNU C++" >&5
+echo "configure:1634: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -773,7 +1639,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -788,7 +1654,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:792: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1658: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -818,7 +1684,7 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:822: checking for $ac_word" >&5
+echo "configure:1688: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -844,25 +1710,6 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -874,7 +1721,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:878: checking for a BSD compatible install" >&5
+echo "configure:1725: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -928,7 +1775,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:932: checking for $ac_word" >&5
+echo "configure:1779: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -962,7 +1809,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:966: checking for $ac_word" >&5
+echo "configure:1813: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1021,7 +1868,6 @@ test -n "$FIND" || FIND="error"
 
 
 
-
 
 
 for ac_prog in bison
@@ -1029,7 +1875,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1033: checking for $ac_word" >&5
+echo "configure:1879: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1063,7 +1909,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1067: checking for $ac_word" >&5
+echo "configure:1913: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1097,7 +1943,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1101: checking for $ac_word" >&5
+echo "configure:1947: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1129,7 +1975,7 @@ test -n "$MAKE" || MAKE="error"
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1133: checking for $ac_word" >&5
+echo "configure:1979: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1161,7 +2007,7 @@ fi
 # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1165: checking for $ac_word" >&5
+echo "configure:2011: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1190,39 +2036,73 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
+for ac_prog in pod2html
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2045: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_POD2HTML'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$POD2HTML"; then
+  ac_cv_prog_POD2HTML="$POD2HTML" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_POD2HTML="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+POD2HTML="$ac_cv_prog_POD2HTML"
+if test -n "$POD2HTML"; then
+  echo "$ac_t""$POD2HTML" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$POD2HTML" && break
+done
+test -n "$POD2HTML" || POD2HTML="error"
+
 for ac_prog in pod2man
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1199: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_PODMAN'+set}'`\" = set"; then
+echo "configure:2079: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_POD2MAN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  if test -n "$PODMAN"; then
-  ac_cv_prog_PODMAN="$PODMAN" # Let the user override the test.
+  if test -n "$POD2MAN"; then
+  ac_cv_prog_POD2MAN="$POD2MAN" # Let the user override the test.
 else
   IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_PODMAN="$ac_prog"
+      ac_cv_prog_POD2MAN="$ac_prog"
       break
     fi
   done
   IFS="$ac_save_ifs"
 fi
 fi
-PODMAN="$ac_cv_prog_PODMAN"
-if test -n "$PODMAN"; then
-  echo "$ac_t""$PODMAN" 1>&6
+POD2MAN="$ac_cv_prog_POD2MAN"
+if test -n "$POD2MAN"; then
+  echo "$ac_t""$POD2MAN" 1>&6
 else
   echo "$ac_t""no" 1>&6
 fi
 
-test -n "$PODMAN" && break
+test -n "$POD2MAN" && break
 done
-test -n "$PODMAN" || PODMAN="error"
+test -n "$POD2MAN" || POD2MAN="error"
 
 
 
@@ -1231,7 +2111,7 @@ if test "x$TEXPREFIX" = xauto ; then
     
 
     echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
-echo "configure:1235: checking TeX/MF root dir directory" >&5    
+echo "configure:2115: checking TeX/MF root dir directory" >&5    
 
     find_root_prefix="$prefix"
     
@@ -1267,37 +2147,16 @@ else
  find_texprefix=$TEXPREFIX
 fi
 
-if test "x$MFDIR" = xauto; then
-    
-    
-    
-    echo $ac_n "checking MF input directory""... $ac_c" 1>&6
-echo "configure:1276: checking MF input directory" >&5    
-    find_dirdir=`(cd $find_texprefix; 
-      $FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')`
-    
-
-    if test "x$find_dirdir" = x; then
-       find_dirdir="/source";
-       
-    echo "configure: warning: Cannot determine MF input subdirectory. Please set from command-line" 1>&2
-    warn_b=yes
-
-       true
-    fi
-    MFDIR=$find_dirdir
-    echo "$ac_t""$find_texprefix/$find_dirdir" 1>&6
-
-    MFDIR="$TEXPREFIX/$MFDIR"
-
-fi
+# if test "x$MFDIR" = xauto; then
+#     AC_MF_SUBDIR(MFDIR)
+# fi
     
 if test "x$TEXDIR" = xauto ; then
     
     
     
     echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
-echo "configure:1301: checking TeX input directory" >&5    
+echo "configure:2160: checking TeX input directory" >&5    
     find_dirdir=`(cd $find_texprefix; 
       $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
     
@@ -1318,8 +2177,10 @@ echo "configure:1301: checking TeX input directory" >&5
 fi
 
 
-
-
+# AC_JUNK_ARGS( [if test "x$MFDIR" = xauto; then
+#      AC_MF_SUBDIR(MFDIR)
+#  fi]
+# )
 
 
        if test $MAKE = "error" 
@@ -1398,18 +2259,20 @@ if test $BISON != "error"; then
     fi 
 fi
 
-if $CXX --version | grep '2\.7' > /dev/null
+
+# ugh autoconf
+if $CXX --version | grep '2\.[78]' > /dev/null
 then
        true
 else
        
-    echo "configure: warning: can't find g++ 2.7" 1>&2
+    echo "configure: warning: can't find g++ 2.7 or 2.8" 1>&2
     warn_b=yes
 
 fi
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1413: checking how to run the C++ preprocessor" >&5
+echo "configure:2276: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1422,12 +2285,12 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1426 "configure"
+#line 2289 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -1447,17 +2310,17 @@ echo "$ac_t""$CXXCPP" 1>&6
 
 ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1451: checking for FlexLexer.h" >&5
+echo "configure:2314: checking for FlexLexer.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1456 "configure"
+#line 2319 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1483,15 +2346,19 @@ else
 fi
 
 
-for a in `find . -type d -and -not -name 'out*' -print`; do
-    if test ! -d  $a/$OUTDIR_NAME; then
-       mkdir $a/$OUTDIR_NAME
-    fi
-done
-
 subdirs="flower"
 
 
+cat >> confdefs.h <<EOF
+#define TOPLEVEL_VERSION "${FULL_VERSION}"
+EOF
+
+
+touch lib/stamp-h.in
+
+
+
+echo \#define TOPLEVEL_VERSION \"$FULL_VERSION\" >> lib/config.hh
     
 trap '' 1 2 15
 cat > confcache <<\EOF
@@ -1556,19 +2423,7 @@ fi
 
 trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
 
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
+DEFS=-DHAVE_CONFIG_H
 
 # Without the "./", some shells look in PATH for config.status.
 : ${CONFIG_STATUS=./config.status}
@@ -1606,8 +2461,7 @@ done
 ac_given_srcdir=$srcdir
 ac_given_INSTALL="$INSTALL"
 
-trap 'rm -fr `echo "make/$OUTDIR_NAME/Configure_variables.make:make/Configure_variables.make.in
-    Makefile:make/Toplevel.make.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "bin/Makefile lib/include/Makefile lib/Makefile lily/include/Makefile lily/Makefile mf/Makefile mi2mu/include/Makefile mi2mu/Makefile debian/Makefile Documentation/Makefile init/Makefile input/Makefile tex/Makefile make/Makefile mutopia/J.S.Bach/Makefile mutopia/Makefile Makefile bin/add-URLs bin/clean-diaper bin/clean-embeds bin/clean-fonts bin/conflily bin/convert-mudela bin/cvm bin/find-typenames bin/foo bin/genheader bin/ly2dvi bin/make-docxx bin/make-examples bin/make-patch bin/make-version bin/make-website bin/mf-deps bin/mf-to-table bin/mudela-book bin/ps-to-gifs bin/release bin/show-latest lib/config.hh:lib/config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -1637,18 +2491,31 @@ s%@includedir@%$includedir%g
 s%@oldincludedir@%$oldincludedir%g
 s%@infodir@%$infodir%g
 s%@mandir@%$mandir%g
-s%@CXX@%$CXX%g
-s%@RANLIB@%$RANLIB%g
 s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
 s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CXX@%$CXX%g
+s%@RANLIB@%$RANLIB%g
+s%@YACC@%$YACC%g
+s%@LEX@%$LEX%g
+s%@LEXLIB@%$LEXLIB%g
+s%@CPP@%$CPP%g
+s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
 s%@TAR@%$TAR%g
 s%@FIND@%$FIND%g
-s%@OUTDIR_NAME@%$OUTDIR_NAME%g
 s%@ICFLAGS@%$ICFLAGS%g
 s%@ILDFLAGS@%$ILDFLAGS%g
 s%@DEFINES@%$DEFINES%g
 s%@COMPILEINFO@%$COMPILEINFO%g
-s%@AUTOHEADER@%$AUTOHEADER%g
 s%@BISON@%$BISON%g
 s%@FLEX@%$FLEX%g
 s%@LN@%$LN%g
@@ -1661,7 +2528,8 @@ s%@MFDIR@%$MFDIR%g
 s%@DIR_DATADIR@%$DIR_DATADIR%g
 s%@EXTRA_LIBES@%$EXTRA_LIBES%g
 s%@MAKE@%$MAKE%g
-s%@PODMAN@%$PODMAN%g
+s%@POD2HTML@%$POD2HTML%g
+s%@POD2MAN@%$POD2MAN%g
 s%@CXXCPP@%$CXXCPP%g
 s%@subdirs@%$subdirs%g
 
@@ -1705,8 +2573,7 @@ EOF
 
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"make/$OUTDIR_NAME/Configure_variables.make:make/Configure_variables.make.in
-    Makefile:make/Toplevel.make.in"}
+CONFIG_FILES=\${CONFIG_FILES-"bin/Makefile lib/include/Makefile lib/Makefile lily/include/Makefile lily/Makefile mf/Makefile mi2mu/include/Makefile mi2mu/Makefile debian/Makefile Documentation/Makefile init/Makefile input/Makefile tex/Makefile make/Makefile mutopia/J.S.Bach/Makefile mutopia/Makefile Makefile bin/add-URLs bin/clean-diaper bin/clean-embeds bin/clean-fonts bin/conflily bin/convert-mudela bin/cvm bin/find-typenames bin/foo bin/genheader bin/ly2dvi bin/make-docxx bin/make-examples bin/make-patch bin/make-version bin/make-website bin/mf-deps bin/mf-to-table bin/mudela-book bin/ps-to-gifs bin/release bin/show-latest"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
@@ -1765,11 +2632,120 @@ s%@INSTALL@%$INSTALL%g
 fi; done
 rm -f conftest.s*
 
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
+ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_uB='\([     ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+  CONFIG_HEADERS="lib/config.hh:lib/config.hh.in"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    # Remove last slash and all that follows it.  Not all systems have dirname.
+      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+      # The file is in a subdirectory.
+      test ! -d "$ac_dir" && mkdir "$ac_dir"
+    fi
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
+
 EOF
 cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > lib/stamp-h
 
 exit 0
 EOF
@@ -1875,34 +2851,6 @@ if test "$no_recursion" != yes; then
 fi
 
 
-touch make/$OUTDIR_NAME/Site.make
-
-cat << END
-For making everything, do:
-
-    make               # GNU make
-
-or if you used --outdir=blabla
+# ugh
+chmod 755 bin/add-URLs bin/clean-diaper bin/clean-embeds bin/clean-fonts bin/conflily bin/convert-mudela bin/cvm bin/find-typenames bin/foo bin/genheader bin/ly2dvi bin/make-docxx bin/make-examples bin/make-patch bin/make-version bin/make-website bin/mf-deps bin/mf-to-table bin/mudela-book bin/ps-to-gifs bin/release bin/show-latest
 
-    make OUTDIR_NAME=blabla
-    
-If you want to make site-wide extensions to the makefiles, please use
-
-    make/$OUTDIR_NAME/Site.make
-    
-END
-
-if test x$warn_b = "xyes" ; then
-cat <<EOF
-    
-    **************************************************
-    Warning: configure encountered warnings or errors.
-    Please try to resolve these, and rerun configure 
-    before sending a bugreport.
-    If you cannot resolve some warnings, the make 
-    process may still be succesful, but be warned.
-    **************************************************
-    
-EOF
-fi
-        
index 53928a8cd416fed23766a3d3472c72dca4e89139..29892e1fc5359a9bb84b290b29d9e2fe1002ce05 100644 (file)
@@ -3,6 +3,34 @@ dnl  Process this file with autoconf to produce a configure script.
 
 AC_INIT(flower/choleski.cc)
 
+. ./VERSION
+FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+if test x$MY_PATCH_LEVEL != x; then
+       FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
+fi
+AM_INIT_AUTOMAKE(lilypond, $FULL_VERSION)
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_RANLIB
+
+# ugh, automake: we want (and check for) bison
+AC_PROG_YACC
+
+# ugh, automake: we want (and check for) flex
+AC_PROG_LEX
+
+AC_DECL_YYTEXT
+# ugh, ugh
+ac_cv_prog_lex_root=lex.yy
+
+missing_dir=`cd $ac_aux_dir && pwd`
+
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
 
 if test x$srcdir != x.; then
   echo Please look in the INSTALL instructions for
@@ -11,13 +39,6 @@ if test x$srcdir != x.; then
   AC_LILY_WARN(This package does not support --srcdir!)
 fi
 
-# if given here, these vars are initted at the checking point.
-if test x$host = xNONE; then
-    OUTDIR_NAME=${OUTDIR_NAME-"out"}
-else
-    OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
-fi
-
 printing_b=no
 checking_b=yes
 debug_b=yes
@@ -67,11 +88,6 @@ AC_ARG_ENABLE(mf-dir,
      [MFDIR=$enableval],
      [MFDIR=auto])
 
-AC_ARG_ENABLE(out-dir,
-    [  enable-out-dir                 set the directory for machine generated files. Default out or out-HOST],
-    [OUTDIR_NAME=$enableval]
-    [])
-
 if test $profile_b = yes; then
     EXTRA_LIBES="-pg"
     DEFINES="$DEFINES -pg"
@@ -121,7 +137,6 @@ dnl should check out -print
 AC_CHECK_SEARCH_RESULT($FIND, \`find\'. Please use --enable-tex-dir)
 
     
-AC_SUBST(OUTDIR_NAME)
 AC_SUBST(CXXFLAGS)
 AC_SUBST(CPPFLAGS)
 AC_SUBST(CXX)
@@ -147,7 +162,8 @@ AC_CHECK_PROGS(FLEX, flex, error)
 AC_CHECK_PROGS(MAKE, make, error)
 AC_PATH_PROG(PERL, perl, error)
 AC_PATH_PROG(PYTHON, python, error)
-AC_CHECK_PROGS(PODMAN, pod2man, error)
+AC_CHECK_PROGS(POD2HTML, pod2html, error)
+AC_CHECK_PROGS(POD2MAN, pod2man, error)
 
 
 if test "x$TEXPREFIX" = xauto ; then
@@ -156,19 +172,19 @@ else
  find_texprefix=$TEXPREFIX
 fi
 
-if test "x$MFDIR" = xauto; then
-    AC_MF_SUBDIR(MFDIR)
-fi
+if test "x$MFDIR" = xauto; then
+    AC_MF_SUBDIR(MFDIR)
+fi
     
 if test "x$TEXDIR" = xauto ; then
     AC_TEX_SUBDIR(TEXDIR)
 fi
 
 
-AC_JUNK_ARGS( [if test "x$MFDIR" = xauto; then
-     AC_MF_SUBDIR(MFDIR)
- fi]
-)
+AC_JUNK_ARGS( [if test "x$MFDIR" = xauto; then
+     AC_MF_SUBDIR(MFDIR)
+ fi]
+)
 
 AC_CHECK_SEARCH_RESULT($MAKE, GNU make,  You should install GNU make)
 AC_CHECK_SEARCH_RESULT($BISON, bison,  Please install Bison, 1.25 or better)
@@ -193,56 +209,30 @@ if test $BISON != "error"; then
     fi 
 fi
 
-if $CXX --version | grep '2\.7' > /dev/null
+
+# ugh autoconf
+changequote(<<, >>)dnl
+if $CXX --version | grep '2\.[78]' > /dev/null
+changequote([, ])dnl
 then
        true
 else
-       AC_LILY_WARN(can't find g++ 2.7)
+       AC_LILY_WARN(can't find g++ 2.7 or 2.8)
 fi
 
 AC_CHECK_HEADER(FlexLexer.h, true,
        AC_LILY_WARN(can't find flex header. Please install Flex headers correctly))
 
-for a in `find . -type d -and -not -name 'out*' -print`; do
-    if test ! -d  $a/$OUTDIR_NAME; then
-       mkdir $a/$OUTDIR_NAME
-    fi
-done
-
 AC_CONFIG_SUBDIRS(flower)
 
-    
-AC_OUTPUT(make/$OUTDIR_NAME/Configure_variables.make:make/Configure_variables.make.in
-    Makefile:make/Toplevel.make.in)
-
-touch make/$OUTDIR_NAME/Site.make
-
-cat << END
-For making everything, do:
+AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, "${FULL_VERSION}")
 
-    make               # GNU make
-
-or if you used --outdir=blabla
-
-    make OUTDIR_NAME=blabla
+touch lib/stamp-h.in
+AM_CONFIG_HEADER(lib/config.hh:lib/config.hh.in)
+echo \#define TOPLEVEL_VERSION \"$FULL_VERSION\" >> lib/config.hh
     
-If you want to make site-wide extensions to the makefiles, please use
+AC_OUTPUT(bin/Makefile lib/include/Makefile lib/Makefile lily/include/Makefile lily/Makefile mf/Makefile mi2mu/include/Makefile mi2mu/Makefile debian/Makefile Documentation/Makefile init/Makefile input/Makefile tex/Makefile make/Makefile mutopia/J.S.Bach/Makefile mutopia/Makefile Makefile bin/add-URLs bin/clean-diaper bin/clean-embeds bin/clean-fonts bin/conflily bin/convert-mudela bin/cvm bin/find-typenames bin/foo bin/genheader bin/ly2dvi bin/make-docxx bin/make-examples bin/make-patch bin/make-version bin/make-website bin/mf-deps bin/mf-to-table bin/mudela-book bin/ps-to-gifs bin/release bin/show-latest)
 
-    make/$OUTDIR_NAME/Site.make
-    
-END
+# ugh
+chmod 755 bin/add-URLs bin/clean-diaper bin/clean-embeds bin/clean-fonts bin/conflily bin/convert-mudela bin/cvm bin/find-typenames bin/foo bin/genheader bin/ly2dvi bin/make-docxx bin/make-examples bin/make-patch bin/make-version bin/make-website bin/mf-deps bin/mf-to-table bin/mudela-book bin/ps-to-gifs bin/release bin/show-latest
 
-if test x$warn_b = "xyes" ; then
-cat <<EOF
-    
-    **************************************************
-    Warning: configure encountered warnings or errors.
-    Please try to resolve these, and rerun configure 
-    before sending a bugreport.
-    If you cannot resolve some warnings, the make 
-    process may still be succesful, but be warned.
-    **************************************************
-    
-EOF
-fi
-        
diff --git a/debian/Makefile b/debian/Makefile
deleted file mode 100644 (file)
index 531f133..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-depth = ..
-
-NAME= debian
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-#
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-#
-
-
-EXTRA_DISTFILES = README.Debian TODO changelog control copyright \
-       postinst postinst.old.sh postrm preinst rules watch
diff --git a/debian/Makefile.am b/debian/Makefile.am
new file mode 100644 (file)
index 0000000..4b1cae3
--- /dev/null
@@ -0,0 +1,7 @@
+# Automatically generated from ./lilypond-0.1.49/debian/Makefile.am.wild by bin/autowild
+# Do not edit
+# debian/Makefile.am.wild
+
+EXTRA_DIST = Makefile.am.wild README.Debian TODO changelog control copyright \
+       postinst postinst.old.sh postrm preinst rules watch
+
diff --git a/debian/Makefile.am.wild b/debian/Makefile.am.wild
new file mode 100644 (file)
index 0000000..1dc36d0
--- /dev/null
@@ -0,0 +1,5 @@
+# debian/Makefile.am.wild
+
+EXTRA_DIST = Makefile.am.wild README.Debian TODO changelog control copyright \
+       postinst postinst.old.sh postrm preinst rules watch
+
diff --git a/debian/Makefile.in b/debian/Makefile.in
new file mode 100644 (file)
index 0000000..22e578b
--- /dev/null
@@ -0,0 +1,180 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./debian/Makefile.am.wild by bin/autowild
+# Do not edit
+# debian/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+EXTRA_DIST = Makefile.am.wild README.Debian TODO changelog control copyright \
+       postinst postinst.old.sh postrm preinst rules watch
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in TODO
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps debian/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = debian
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/debian/out/dummy.dep b/debian/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/flower/AUTHORS b/flower/AUTHORS
new file mode 100644 (file)
index 0000000..9d9d19a
--- /dev/null
@@ -0,0 +1 @@
+see ../AUTHORS
diff --git a/flower/COPYING b/flower/COPYING
new file mode 100644 (file)
index 0000000..a2a0122
--- /dev/null
@@ -0,0 +1 @@
+see ../COPYING
diff --git a/flower/ChangeLog b/flower/ChangeLog
new file mode 100644 (file)
index 0000000..e1b28ea
--- /dev/null
@@ -0,0 +1 @@
+oeps: no more details than NEWS
diff --git a/flower/Flower-flags.make.in b/flower/Flower-flags.make.in
deleted file mode 100644 (file)
index adf1536..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
-MODULE_LDFLAGS = @MODULE_LDFLAGS@
-LIB_SUFFIX = @LIB_SUFFIX@
diff --git a/flower/INSTALL b/flower/INSTALL
new file mode 100644 (file)
index 0000000..28d72f9
--- /dev/null
@@ -0,0 +1 @@
+see ../INSTALL
diff --git a/flower/Makefile b/flower/Makefile
deleted file mode 100644 (file)
index c46fed6..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# project  FlowerSoft C++ library
-# title           top level makefile for FlowerLib
-# file    flower/Makefile
-#
-# Copyright (c) 1997 by    
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#              ...your sort order here, or how to comment-out a comment
-
-# subdir level:
-#
-depth = ..
-#
-
-# identify module:
-#
-NAME = flower
-MODULE_NAME = flower
-#
-# edit VERSION only
-include ./$(depth)/VERSION
-include ./$(depth)/flower/VERSION
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-
-include $(flowerout)/Flower-flags.make
-
-
-#
-# descent order into subdirectories:
-#
-SUBDIRS = include test 
-#
-
-# list of distribution files:
-#
-SCRIPTS = 
-README_FILES = ONEWS NEWS README TODO
-EXTRA_DISTFILES= aclocal.m4 configure config.hh.in configure.in VERSION $(README_FILES) $(SCRIPTS) Flower-flags.make.in
-#
-
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-#
-
-default: the-lib
-
-THE_LIB=$(outdir)/$(LIB_PREFIX)flower$(LIB_SUFFIX)
-the-lib: $(THE_LIB) 
-
-# version:
-#
-
-localdist: configure
-
--include /dev/null $(DEPFILES)
-#
-
-localdistclean:
-       rm -f config.cache config.status config.log
-
-localinstall: $(LIBFLOWER)
-ifeq ($(LIB_SUFFIX),.so)
-       $(INSTALL) -d $(libdir)
-       $(INSTALL) $(LIBFLOWER).$(VERSION) $(libdir)
-       ln -sf $(LIB_PREFIX)flower$(LIB_SUFFIX).$(VERSION) $(libdir)/$(LIB_PREFIX)flower$(LIB_SUFFIX).$(MAJOR_VERSION)
-       ln -sf $(LIB_PREFIX)flower$(LIB_SUFFIX).$(VERSION) $(libdir)/$(LIB_PREFIX)flower$(LIB_SUFFIX)
-endif
-
-localuninstall:
-       rm -f $(libdir)/libflower.{so*,a}
-
-
-$(outdir)/flower-version.o: $(outdir)/version.hh
diff --git a/flower/Makefile.am b/flower/Makefile.am
new file mode 100644 (file)
index 0000000..e0446e0
--- /dev/null
@@ -0,0 +1,23 @@
+# Automatically generated from ./lilypond-0.1.49/flower/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  FlowerSoft C++ library
+# title           top level makefile for FlowerLib
+# file    flower/Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+SUBDIRS = include test 
+
+lib_LIBRARIES = libflower.a
+# lib_LIBRARIES = libflower.la
+
+README_FILES = ONEWS NEWS README TODO VERSION
+EXTRA_DIST = Makefile.am.wild aclocal.m4 configure config.hh.in configure.in $(README_FILES)
+
+libflower_a_SOURCES = choleski.cc cpu-timer.cc data-file.cc diagonal-storage.cc dictionary.cc directed-graph.cc dstream.cc flower-debug.cc flower-version.cc full-storage.cc interval.cc lgetopt.cc libc-extension.cc matrix-debug.cc matrix-storage.cc matrix.cc nscalar.cc path.cc rational.cc scalar.cc string-convert.cc string.cc stringutil.cc text-db.cc text-stream.cc unionfind.cc vector.cc
+
+INCLUDES = -Iinclude
+
diff --git a/flower/Makefile.am.wild b/flower/Makefile.am.wild
new file mode 100644 (file)
index 0000000..f19c6ab
--- /dev/null
@@ -0,0 +1,21 @@
+# project  FlowerSoft C++ library
+# title           top level makefile for FlowerLib
+# file    flower/Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+SUBDIRS = include test 
+
+lib_LIBRARIES = libflower.a
+# lib_LIBRARIES = libflower.la
+
+README_FILES = ONEWS NEWS README TODO VERSION
+EXTRA_DIST = Makefile.am.wild aclocal.m4 configure config.hh.in configure.in $(README_FILES)
+
+libflower_a_SOURCES = $(wildcard *.cc)
+
+INCLUDES = -Iinclude
+
diff --git a/flower/Makefile.in b/flower/Makefile.in
new file mode 100644 (file)
index 0000000..4d725bd
--- /dev/null
@@ -0,0 +1,459 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  FlowerSoft C++ library
+# title           top level makefile for FlowerLib
+# file    flower/Makefile.am.wild
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+SUBDIRS = include test 
+
+lib_LIBRARIES = libflower.a
+# lib_LIBRARIES = libflower.la
+
+README_FILES = ONEWS NEWS README TODO VERSION
+EXTRA_DIST = Makefile.am.wild aclocal.m4 configure config.hh.in configure.in $(README_FILES)
+
+libflower_a_SOURCES = choleski.cc cpu-timer.cc data-file.cc diagonal-storage.cc dictionary.cc directed-graph.cc dstream.cc flower-debug.cc flower-version.cc full-storage.cc interval.cc lgetopt.cc libc-extension.cc matrix-debug.cc matrix-storage.cc matrix.cc nscalar.cc path.cc rational.cc scalar.cc string-convert.cc string.cc stringutil.cc text-db.cc text-stream.cc unionfind.cc vector.cc
+
+INCLUDES = -Iinclude
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = config.hh
+CONFIG_CLEAN_FILES = 
+LIBRARIES =  $(lib_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I.
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libflower_a_LIBADD = 
+libflower_a_OBJECTS =  choleski.o cpu-timer.o data-file.o \
+diagonal-storage.o dictionary.o directed-graph.o dstream.o \
+flower-debug.o flower-version.o full-storage.o interval.o lgetopt.o \
+libc-extension.o matrix-debug.o matrix-storage.o matrix.o nscalar.o \
+path.o rational.o scalar.o string-convert.o string.o stringutil.o \
+text-db.o text-stream.o unionfind.o vector.o
+AR = ar
+CXXFLAGS = @CXXFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+CXXLINK = $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+Makefile.in NEWS TODO aclocal.m4 config.hh.in configure configure.in \
+missing mkinstalldirs stamp-h.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+DEP_FILES =  .deps/choleski.P .deps/cpu-timer.P .deps/data-file.P \
+.deps/diagonal-storage.P .deps/dictionary.P .deps/directed-graph.P \
+.deps/dstream.P .deps/flower-debug.P .deps/flower-version.P \
+.deps/full-storage.P .deps/interval.P .deps/lgetopt.P \
+.deps/libc-extension.P .deps/matrix-debug.P .deps/matrix-storage.P \
+.deps/matrix.P .deps/nscalar.P .deps/path.P .deps/rational.P \
+.deps/scalar.P .deps/string-convert.P .deps/string.P .deps/stringutil.P \
+.deps/text-db.P .deps/text-stream.P .deps/unionfind.P .deps/vector.P
+CXXMKDEP = $(CXX) -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+SOURCES = $(libflower_a_SOURCES)
+OBJECTS = $(libflower_a_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .o
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4):  configure.in 
+       cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF)
+
+config.hh: stamp-h
+stamp-h: $(srcdir)/config.hh.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES= CONFIG_HEADERS=config.hh:config.hh.in \
+            $(SHELL) ./config.status
+       @echo timestamp > stamp-h
+$(srcdir)/config.hh.in: $(srcdir)/stamp-h.in
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       @echo timestamp > $(srcdir)/stamp-h.in
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+       rm -f config.hh
+
+maintainer-clean-hdr:
+
+mostlyclean-libLIBRARIES:
+
+clean-libLIBRARIES:
+       test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+
+distclean-libLIBRARIES:
+
+maintainer-clean-libLIBRARIES:
+
+install-libLIBRARIES: $(lib_LIBRARIES)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(libdir)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(INSTALL_DATA) $$p $(libdir)/$$p"; \
+           $(INSTALL_DATA) $$p $(libdir)/$$p; \
+         else :; fi; \
+       done
+       @$(POST_INSTALL)
+       @list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(RANLIB) $(libdir)/$$p"; \
+           $(RANLIB) $(libdir)/$$p; \
+         else :; fi; \
+       done
+
+uninstall-libLIBRARIES:
+       $(NORMAL_UNINSTALL)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         rm -f $(libdir)/$$p; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libflower.a: $(libflower_a_OBJECTS) $(libflower_a_DEPENDENCIES)
+       rm -f libflower.a
+       $(AR) cru libflower.a $(libflower_a_OBJECTS) $(libflower_a_LIBADD)
+       $(RANLIB) libflower.a
+.cc.o:
+       $(CXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hh.in $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)config.hh.in$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.hh.in $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       rm -rf $(distdir)
+       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       dc_install_base=`cd $(distdir)/=inst && pwd`; \
+       cd $(distdir)/=build \
+         && ../configure --srcdir=.. --prefix=$$dc_install_base \
+         && $(MAKE) \
+         && $(MAKE) dvi \
+         && $(MAKE) check \
+         && $(MAKE) install \
+         && $(MAKE) installcheck \
+         && $(MAKE) dist
+       rm -rf $(distdir)
+       @echo "========================"; \
+       echo "$(distdir).tar.gz is ready for distribution"; \
+       echo "========================"
+dist: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+dist-all: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+distdir: $(DISTFILES)
+       rm -rf $(distdir)
+       mkdir $(distdir)
+       -chmod 777 $(distdir)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+
+MKDEP = gcc -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+-include .deps/.P
+.deps/.P: $(BUILT_SOURCES)
+       echo > $@
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+
+maintainer-clean-depend:
+       rm -rf .deps
+
+.deps/%.P: %.c
+       @echo "Computing dependencies for $<..."
+       @o='o'; \
+       test -n "$o" && o='$$o'; \
+       $(MKDEP) $< >$@.tmp \
+         && sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < $@.tmp > $@ \
+         && rm -f $@.tmp
+
+.deps/%.P: %.cc
+       @echo "Computing dependencies for $<..."
+       @o='o'; \
+       $(CXXMKDEP) $< >$@.tmp \
+         && sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < $@.tmp > $@ \
+         && rm -f $@.tmp
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-recursive-am: config.hh
+       $(MAKE) all-recursive
+
+all-am: Makefile $(LIBRARIES) config.hh
+
+install-exec-am: install-libLIBRARIES
+
+uninstall-am: uninstall-libLIBRARIES
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive install-exec-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive-am all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(libdir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-hdr mostlyclean-libLIBRARIES \
+               mostlyclean-compile mostlyclean-tags mostlyclean-depend \
+               mostlyclean-generic
+
+clean-am:  clean-hdr clean-libLIBRARIES clean-compile clean-tags \
+               clean-depend clean-generic mostlyclean-am
+
+distclean-am:  distclean-hdr distclean-libLIBRARIES distclean-compile \
+               distclean-tags distclean-depend distclean-generic \
+               clean-am
+
+maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-libLIBRARIES \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-depend maintainer-clean-generic \
+               distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f config.status
+
+.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
+maintainer-clean-hdr mostlyclean-libLIBRARIES distclean-libLIBRARIES \
+clean-libLIBRARIES maintainer-clean-libLIBRARIES uninstall-libLIBRARIES \
+install-libLIBRARIES mostlyclean-compile distclean-compile \
+clean-compile maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info dvi installcheck all-recursive-am all-am \
+install-exec-am uninstall-am install-exec install-data install \
+uninstall all installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index d749b003089608a8a34f1cea7c8c912356147570..13485d6a142d126689ecb4d6f8d95dffde54f1f9 100644 (file)
@@ -1,3 +1,8 @@
+
+pl 39
+       - fixes to Array
+
+
 pl 38
        - Rational
        - Real.hh fixes
index 35f9cba6c9e5068e33fbe5912d02a5c494f41fc4..d2435e29708d72d60f0f8a17fd1b594ea8745aff 100644 (file)
@@ -1,6 +1,6 @@
-MAJOR_VERSION = 1
-MINOR_VERSION = 1
-PATCH_LEVEL = 38
+MAJOR_VERSION=1
+MINOR_VERSION=1
+PATCH_LEVEL=38
 # use to send patches, always empty for released version:
-MY_PATCH_LEVEL = # include separator: "-1" or ".a"
+MY_PATCH_LEVEL=# include separator: "-1" or ".a"
 #
index 57ac6967aa5cb813f61f02c14ff09a5c95cfa108..6984d2990ff3ed379002e1515ea91158d8bdffca 100644 (file)
@@ -1,2 +1,115 @@
+dnl aclocal.m4 generated automatically by aclocal 1.2
+
+# Do all the work for Automake.  This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AM_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
+AM_SANITY_CHECK
+AC_ARG_PROGRAM
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_PROG_MAKE_SET])
+
+
+# serial 1
+
+AC_DEFUN(AM_PROG_INSTALL,
+[AC_REQUIRE([AC_PROG_INSTALL])
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+AC_SUBST(INSTALL_SCRIPT)dnl
+])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "$@" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "[$]2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+   $1=$2
+   AC_MSG_RESULT(found)
+else
+   $1="$3/missing $2"
+   AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated.  We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+  case " <<$>>CONFIG_HEADERS " in
+  *" <<$>>am_file "*<<)>>
+    echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+    ;;
+  esac
+  am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
 
-dnl this file intentionally left blank :)
index 9f3b9821143763c3d13e4f192d2cfa6442dafb5c..80c688b06b227ed7bbf4c0fdfd4fcfc5880c18b5 100644 (file)
@@ -3,3 +3,7 @@
 
 /* define if you have snprintf */
 #define HAVE_SNPRINTF 0
+
+/* the version string of the flower lib */
+#define MODULE_VERSION "0.0.0"
+
index 68844fd368aed849bd9011e2e799e14d49fc1dcc..405582ccbfe0acbfcb8ce5b6b5fcfd243ba12241 100755 (executable)
@@ -15,8 +15,6 @@ ac_help="$ac_help
   enable-shared       shared flower library"
 ac_help="$ac_help
   disable-optimise    optimisations off"
-ac_help="$ac_help
-  out-dir                      set the directory for machine generated files. Default out or out-HOST"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -524,6 +522,629 @@ else
 fi
 
 
+
+. ./VERSION
+FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+if test x$MY_PATCH_LEVEL != x; then
+       FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
+fi
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:562: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall installbsd scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+         if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           # OSF/1 installbsd also uses dspmsg, but is usable.
+           :
+         else
+           ac_cv_path_install="$ac_dir/$ac_prog -c"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+
+PACKAGE=flower
+
+VERSION=$FULL_VERSION
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:631: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "$2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:678: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:691: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:704: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:717: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:730: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+   MAKEINFO=makeinfo
+   echo "$ac_t""found" 1>&6
+else
+   MAKEINFO="$missing_dir/missing makeinfo"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:743: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftestmake <<\EOF
+all:
+       @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  SET_MAKE=
+else
+  echo "$ac_t""no" 1>&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:773: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:802: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  ac_prog_rejected=no
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+       continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:850: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 860 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:884: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:889: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:898: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:913: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
+  fi
+else
+  GCC=
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:944: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:973: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  ac_prog_rejected=no
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+       continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1021: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 1031 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:1035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1055: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1060: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1084: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
+  fi
+else
+  GCC=
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1116: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1147: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -531,25 +1152,192 @@ ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 cross_compiling=$ac_cv_prog_cxx_cross
 
+cat > conftest.$ac_ext <<EOF
+#line 1157 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:1161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
 
-optimise_b=yes
-shared_b=no
-LIB_SUFFIX=.a
-MODULE_CXXFLAGS="$MODULE_CXXFLAGS -D_REENTRANT"
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1187: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
 
-if test x$host = xNONE; then
-    OUTDIR_NAME=${OUTDIR_NAME-"out"}
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:1192: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
 else
-    OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
 fi
 
-for a in `find -type d -and -not -name 'out'`; do
-       if test ! -d  $a/$OUTDIR_NAME; then
-               mkdir $a/$OUTDIR_NAME;
-       fi
-done
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+  GXX=yes
+  ac_test_CXXFLAGS="${CXXFLAGS+set}"
+  ac_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS=
+  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:1216: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_cxx_g=yes
+else
+  ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+  if test "$ac_test_CXXFLAGS" = set; then
+    CXXFLAGS="$ac_save_CXXFLAGS"
+  elif test $ac_cv_prog_cxx_g = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-O2"
+  fi
+else
+  GXX=
+  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1246: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:1276: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:1289: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:1302: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:1315: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+# AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+
+optimise_b=yes
+shared_b=no
+LIB_SUFFIX=.a
+MODULE_CXXFLAGS="$MODULE_CXXFLAGS -D_REENTRANT"
 
-    
 # Check whether --enable-shared or --disable-shared was given.
 if test "${enable_shared+set}" = set; then
   enableval="$enable_shared"
@@ -564,14 +1352,6 @@ if test "${enable_optimise+set}" = set; then
 fi
 
 
-# Check whether --enable-out-dir or --disable-out-dir was given.
-if test "${enable_out_dir+set}" = set; then
-  enableval="$enable_out_dir"
-  OUTDIR_NAME=$enableval
-    
-fi
-
-
 if test $shared_b = yes; then
        MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC -DPIC"
        MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so.\$(VERSION) "
@@ -591,7 +1371,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:595: checking for $ac_word" >&5
+echo "configure:1375: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -622,7 +1402,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:626: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1406: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -632,11 +1412,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 636 "configure"
+#line 1416 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -656,12 +1436,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:660: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1440: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:665: checking whether we are using GNU C++" >&5
+echo "configure:1445: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -670,7 +1450,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -685,7 +1465,7 @@ if test $ac_cv_prog_gxx = yes; then
   ac_save_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS=
   echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:689: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1469: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -713,7 +1493,7 @@ else
 fi
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:717: checking for 8-bit clean memcmp" >&5
+echo "configure:1497: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -721,7 +1501,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 725 "configure"
+#line 1505 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -734,7 +1514,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -752,12 +1532,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:756: checking for vprintf" >&5
+echo "configure:1536: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 761 "configure"
+#line 1541 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -783,7 +1563,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -807,12 +1587,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:811: checking for _doprnt" >&5
+echo "configure:1591: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 816 "configure"
+#line 1596 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -838,7 +1618,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -865,12 +1645,12 @@ fi
 for ac_func in memmem snprintf 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:869: checking for $ac_func" >&5
+echo "configure:1649: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 874 "configure"
+#line 1654 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -896,7 +1676,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -921,9 +1701,13 @@ fi
 done
 
 
-if test ! -d $OUTDIR_NAME ; then
-    mkdir $OUTDIR_NAME
-fi
+cat >> confdefs.h <<EOF
+#define MODULE_VERSION "${FULL_VERSION}"
+EOF
+
+
+touch stamp-h.in
+
 
 
 trap '' 1 2 15
@@ -1025,8 +1809,9 @@ do
 done
 
 ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
 
-trap 'rm -fr `echo "$OUTDIR_NAME/Flower-flags.make:Flower-flags.make.in $OUTDIR_NAME/config.hh:config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile include/Makefile test/Makefile config.hh:config.hh.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -1056,10 +1841,23 @@ s%@includedir@%$includedir%g
 s%@oldincludedir@%$oldincludedir%g
 s%@infodir@%$infodir%g
 s%@mandir@%$mandir%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CXX@%$CXX%g
+s%@RANLIB@%$RANLIB%g
 s%@MODULE_CXXFLAGS@%$MODULE_CXXFLAGS%g
 s%@MODULE_LDFLAGS@%$MODULE_LDFLAGS%g
 s%@LIB_SUFFIX@%$LIB_SUFFIX%g
-s%@CXX@%$CXX%g
 s%@LIBOBJS@%$LIBOBJS%g
 
 CEOF
@@ -1102,7 +1900,7 @@ EOF
 
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"$OUTDIR_NAME/Flower-flags.make:Flower-flags.make.in"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile include/Makefile test/Makefile"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
@@ -1137,6 +1935,10 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
     top_srcdir="$ac_dots$ac_given_srcdir" ;;
   esac
 
+  case "$ac_given_INSTALL" in
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
 
   echo creating "$ac_file"
   rm -f "$ac_file"
@@ -1152,6 +1954,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
 s%@configure_input@%$configure_input%g
 s%@srcdir@%$srcdir%g
 s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
 " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
 fi; done
 rm -f conftest.s*
@@ -1178,7 +1981,7 @@ ac_eD='%g'
 if test "${CONFIG_HEADERS+set}" != set; then
 EOF
 cat >> $CONFIG_STATUS <<EOF
-  CONFIG_HEADERS="$OUTDIR_NAME/config.hh:config.hh.in"
+  CONFIG_HEADERS="config.hh:config.hh.in"
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 fi
@@ -1266,8 +2069,10 @@ fi; done
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
+
 EOF
 cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
 
 exit 0
 EOF
index d0bd09bbc2fc8f4e89a5eb6123b28e4ca6313fdf..4c28402072db1c76d508aa9336e01bffb9870744 100644 (file)
@@ -1,6 +1,29 @@
 dnl -*-shell-script-*-
 dnl Process this file with autoconf to produce a configure script.-
+
 AC_INIT(choleski.cc)
+
+. ./VERSION
+FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+if test x$MY_PATCH_LEVEL != x; then
+       FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
+fi
+AM_INIT_AUTOMAKE(flower, $FULL_VERSION)
+
+AC_PROG_CC
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_RANLIB
+
+missing_dir=`cd $ac_aux_dir && pwd`
+
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+# AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+
 AC_LANG_CPLUSPLUS
 
 optimise_b=yes
@@ -8,19 +31,6 @@ shared_b=no
 LIB_SUFFIX=.a
 MODULE_CXXFLAGS="$MODULE_CXXFLAGS -D_REENTRANT"
 
-if test x$host = xNONE; then
-    OUTDIR_NAME=${OUTDIR_NAME-"out"}
-else
-    OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
-fi
-
-for a in `find -type d -and -not -name 'out'`; do
-       if test ! -d  $a/$OUTDIR_NAME; then
-               mkdir $a/$OUTDIR_NAME;
-       fi
-done
-
-    
 AC_ARG_ENABLE(shared,
     [  enable-shared       shared flower library],
     [shared_b=$enableval])
@@ -29,11 +39,6 @@ AC_ARG_ENABLE(optimise,
     [  disable-optimise    optimisations off],
     [optimise_b=$enableval])
 
-AC_ARG_ENABLE(out-dir,
-    [  out-dir                 set the directory for machine generated files. Default out or out-HOST],
-    [OUTDIR_NAME=$enableval]
-    [])
-
 if test $shared_b = yes; then
        MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC -DPIC"
        MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so.\$(VERSION) "
@@ -53,10 +58,9 @@ AC_FUNC_MEMCMP
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS(memmem snprintf )
 
-if test ! -d $OUTDIR_NAME ; then
-    mkdir $OUTDIR_NAME
-fi
+AC_DEFINE_UNQUOTED(MODULE_VERSION, "${FULL_VERSION}")
 
-AC_CONFIG_HEADER($OUTDIR_NAME/config.hh:config.hh.in)
-AC_OUTPUT($OUTDIR_NAME/Flower-flags.make:Flower-flags.make.in)
+touch stamp-h.in
+AM_CONFIG_HEADER(config.hh:config.hh.in)
+AC_OUTPUT(Makefile include/Makefile test/Makefile)
 
index 6372f502779c76ed5661ff81c20d41d126791fd1..6216111d27ea453e337066bf2a4097aed1ac9074 100644 (file)
@@ -1,10 +1,13 @@
-#include "version.hh"  // urg
 #include <stdio.h>
 
-static char *s = "FlowerLib " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+#include "config.hh"
+
+// static char *s = "FlowerLib " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+static char *s = "FlowerLib " MODULE_VERSION " #%d";
 
 static const int build=
-#include ".build"
+//#include ".build"
+0
 ;
 
 char const * 
diff --git a/flower/include/Makefile b/flower/include/Makefile
deleted file mode 100644 (file)
index b7716f2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# flower/lib/include/Makefile
-
-# subdir level:
-#
-depth = ../..
-#
-
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-include ./$(depth)/flower/VERSION
-
-# identify module:
-#
-MODULE_NAME = flower
-
-
-#
-
diff --git a/flower/include/Makefile.am b/flower/include/Makefile.am
new file mode 100644 (file)
index 0000000..294e4f9
--- /dev/null
@@ -0,0 +1,8 @@
+# Automatically generated from ./lilypond-0.1.49/flower/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# flower/lib/include/Makefile.am.wild
+
+noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/flower/include/Makefile.am.wild b/flower/include/Makefile.am.wild
new file mode 100644 (file)
index 0000000..ac36bc7
--- /dev/null
@@ -0,0 +1,6 @@
+# flower/lib/include/Makefile.am.wild
+
+noinst_HEADERS = $(wildcard *.hh *.icc *.tcc)
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/flower/include/Makefile.in b/flower/include/Makefile.in
new file mode 100644 (file)
index 0000000..c6b3898
--- /dev/null
@@ -0,0 +1,185 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# flower/lib/include/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
+
+EXTRA_DIST = Makefile.am.wild
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ../config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = include
+
+distdir: $(DISTFILES)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu include/Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 975950d4bb659216367e7544b30d5684831c1c9e..270d07aefb8164da08640be3dea06d0898386fc1 100644 (file)
@@ -10,6 +10,7 @@
 #ifndef LIBC_EXTENSION_HH
 #define LIBC_EXTENSION_HH
 #include "fproto.hh"
+
 #include "config.hh"
 
 char* strnlwr (char* start_l ,int n);
diff --git a/flower/include/out/dummy.dep b/flower/include/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 587a7f63f1612be4c912e90d57dacb5a4fb31b85..4160af814d87b8eac8c34d64fbe4ff552b907d88 100644 (file)
@@ -34,8 +34,6 @@ public:
   Rational truncated () const;
   void negate ();
   operator bool () const;
-  operator int () const;
-  operator double () const;
   operator String () const;
   Rational operator - () const;
   Rational ();
index 8386c20a8cecbc33d6d6e4d8528c5cac0ef7e893..4333bfa6e495fd2be26ec9bb3b70ab4eedce40ff 100644 (file)
@@ -11,8 +11,8 @@
 /// copy a bare (C-)array from #src# to #dest# sized  #count#
 template<class T>
 inline void arrcpy (T*dest, T*src, int count) {
-    for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
-       *dest++ = *src++;
+  for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
+    *dest++ = *src++;
 }
 
 
@@ -33,182 +33,222 @@ inline void arrcpy (T*dest, T*src, int count) {
   
   */
 template<class T>
-class Array {
+class Array
+{
 protected:
-    /// maximum length of array.
-    int max;
-
-    /// the data itself
-    T *thearray;
-
-    /// stretch or shrink  array.
-    void remax (int newmax) {   
-       T* newarr = new T[newmax];
-       size_ = (newmax < size_) ? newmax : size_;
-       arrcpy (newarr, thearray, size_);
+  /// maximum length of array.
+  int max_;
+
+  /// the data itself
+  T *array_p_;
+
+  /// stretch or shrink  array.
+  void remax (int newmax) 
+    {   
+      T* newarr = new T[newmax];
+      size_ = (newmax < size_) ? newmax : size_;
+      arrcpy (newarr, array_p_, size_);
        
-       delete[] thearray;
-       thearray = newarr;
-       max = newmax;
+      delete[] array_p_;
+      array_p_ = newarr;
+      max_ = newmax;
     }
-    int size_;
+  int size_;
 
 public:
-    /// check invariants
-    void OK() const {
-       assert (max >= size_ && size_ >=0);
-       if (max) assert (thearray);
-    }
-    /** report the size_.
-      @see {setsize_}
-      */
-    int size() const  { return size_; }
+  /// check invariants
+  void OK() const 
+    {
+      assert (max_ >= size_ && size_ >=0);
+      if (max_) assert (array_p_);
+    }
+  /** report the size_.
+      @see 
+      {setsize_}
+  */
+  int size() const  
+    { return size_; }
     
-    /// POST: size() == 0
-    void clear() { size_ = 0; }
+  /// POST: size() == 0
+    void clear() 
+    { size_ = 0; }
 
-    Array() { thearray = 0; max =0; size_ =0; }
+  Array() 
+    { array_p_ = 0; max_ =0; size_ =0; }
 
 
-    /** set the size_ to #s#.
+  /** set the size_ to #s#.
       POST: size() == s.
-    Warning: contents are unspecified */
-    void set_size (int s) {
-       if (s >= max) remax (s);
-       size_ = s;    
+      Warning: contents are unspecified */
+  void set_size (int s) 
+    {
+      if (s >= max_) remax (s);
+      size_ = s;    
     }
     
-    ~Array() { delete[] thearray; }
+  ~Array() 
+    { delete[] array_p_; }
 
-    /// return a  "new"ed copy of array 
-    T* copy_array() const {
-       T* Tarray = new T[size_];
-       arrcpy (Tarray, thearray, size_);
-       return Tarray;
+  /// return a  "new"ed copy of array 
+    T* copy_array() const 
+    {
+      T* Tarray = new T[size_];
+      arrcpy (Tarray, array_p_, size_);
+      return Tarray;
     }
-    // depracated
-    operator T*() const {
-       return copy_array();    
+  // depracated
+  operator T*() const 
+    {
+      return copy_array();     
     }
-    void operator=(Array const & src) {
-       set_size (src.size_);
-       arrcpy (thearray,src.thearray, size_);
+  void operator=(Array const & src) 
+    {
+      set_size (src.size_);
+      arrcpy (array_p_,src.array_p_, size_);
     }
-    Array (Array const & src) {
-       thearray = src.copy_array();
-       max = size_ = src.size_;        
+  Array (Array const & src) 
+    {
+      array_p_ = src.copy_array();
+      max_ = size_ = src.size_;        
     }
 
-    /// tighten array size_.
-    void precompute() { remax (size_); }
+  /// tighten array size_.
+    void precompute()     {
+      remax (size_);
+    }
     
+  T * remove_array_p () {
+    T * p = array_p_;
+    size_ = 0;
+    max_ = 0;
+    array_p_ =0;
+    return p;
+  }
+
+  /// access element
+  T &operator[] (int i)  
+    {
+      return elem (i);
+    }
+  /// access element
+    T const & operator[] (int i) const 
+    {
+      return elem (i);
+    }
+  /// access element
+    T &elem (int i) const 
+    {
+      assert (i >=0&&i<size_);
+      return ((T*)array_p_)[i];        
+    }
+
+  /// add to the end of array
+    void push (T x) 
+    {
+      if (size_ == max_)
+       remax (2*max_ + 1);
+
+      // T::operator=(T &) is called here. Safe to use with automatic
+      // vars
+      array_p_[size_++] = x;
+    }
+  /// remove and return last entry 
+    T pop() 
+    {
+      assert (!empty());
+      T l = top (0);
+      set_size (size()-1);
+      return l;
+    }
+  /// access last entry
+    T& top (int j=0) 
+    {
+      return (*this)[size_-j-1];
+    }
+  /// return last entry
+    T top (int j=0) const 
+    {
+      return (*this)[size_-j-1];
+    }
+
 
-    /// access element
-    T &operator[] (int i)  {
-       return elem (i);
-    }
-    /// access element
-    T const & operator[] (int i) const {
-       return elem (i);
-    }
-    /// access element
-    T &elem (int i) const {
-       assert (i >=0&&i<size_);
-       return ((T*)thearray)[i];       
-    }
-
-    /// add to the end of array
-    void push (T x) {
-       if (size_ == max)
-           remax (2*max + 1);
-
-       // T::operator=(T &) is called here. Safe to use with automatic
-       // vars
-       thearray[size_++] = x;
-    }
-    /// remove and return last entry 
-    T pop() {
-       assert (!empty());
-       T l = top (0);
-       set_size (size()-1);
-       return l;
-    }
-    /// access last entry
-    T& top (int j=0) {
-       return (*this)[size_-j-1];
-    }
-     /// return last entry
-    T top (int j=0) const {
-       return (*this)[size_-j-1];
-    }
-
-
-    void swap (int i,int j) {
-       T t ((*this)[i]);
-       (*this)[i]=(*this)[j];
-       (*this)[j]=t;
-    }
-    bool empty() const { return !size_; }
-    void insert (T k, int j) {
-       assert (j >=0 && j<= size_);
-       set_size (size_+1);
-       for (int i=size_-1; i > j; i--)
-           thearray[i] = thearray[i-1];
-       thearray[j] = k;
-    }
-    /**
-      remove  i-th element, and return it.
-     */
-    T get (int i) {
-       T t = elem (i);
-       del (i);
-       return t;
-    }
-    void unordered_del (int i)
-    {
-       elem (i) = top();
-       set_size (size() -1);
-    }
-    void del (int i) {
-       assert (i >=0&& i < size_);
-       arrcpy (thearray+i, thearray+i+1, size_-i-1);
-       size_--;
-    }
-    // quicksort.
-    void sort (int (*compare)(T const&,T const&),
-              int lower = -1, int upper = -1) {
-       if (lower < 0) {
-           lower = 0 ;
-           upper = size()-1;
+  void swap (int i,int j) 
+    {
+      T t ((*this)[i]);
+      (*this)[i]=(*this)[j];
+      (*this)[j]=t;
+    }
+  bool empty() const 
+    { return !size_; }
+  void insert (T k, int j) 
+    {
+      assert (j >=0 && j<= size_);
+      set_size (size_+1);
+      for (int i=size_-1; i > j; i--)
+       array_p_[i] = array_p_[i-1];
+      array_p_[j] = k;
+    }
+  /**
+     remove  i-th element, and return it.
+  */
+  T get (int i) 
+    {
+      T t = elem (i);
+      del (i);
+      return t;
+    }
+  void unordered_del (int i)
+    
+    {
+      elem (i) = top();
+      set_size (size() -1);
+    }
+  void del (int i) 
+    {
+      assert (i >=0&& i < size_);
+      arrcpy (array_p_+i, array_p_+i+1, size_-i-1);
+      size_--;
+    }
+  // quicksort.
+  void sort (int (*compare)(T const&,T const&),
+            int lower = -1, int upper = -1) 
+    {
+      if (lower < 0) 
+       {
+         lower = 0 ;
+         upper = size()-1;
        }
-       if (lower >= upper)
-           return;
-       swap (lower, (lower+upper)/2);
-       int last = lower;
-       for (int i= lower +1; i <= upper; i++)
-           if (compare (thearray[i], thearray[lower]) < 0)
-               swap (++last,i);
-       swap (lower, last);
-       sort (compare, lower, last-1);
-       sort (compare, last+1, upper);
-    }
-    void concat (Array<T> const &src) {
-       int s = size_;
-       set_size (size_ + src.size_);
-       arrcpy (thearray+s,src.thearray, src.size_);    
-    }
-    Array<T> slice (int lower, int upper) {
-       assert (lower >= 0 && lower <=upper&& upper <= size_);
-       Array<T> r;
-       int s =upper-lower;
-       r.set_size (s);
-       arrcpy (r.thearray, thearray  + lower, s);
-       return r;
-    }
-    void reverse() {
-       int h = size_/2;
-       for (int i =0,j = size_-1; i < h; i++,j--)
-           swap (i,j);
+      if (lower >= upper)
+       return;
+      swap (lower, (lower+upper)/2);
+      int last = lower;
+      for (int i= lower +1; i <= upper; i++)
+       if (compare (array_p_[i], array_p_[lower]) < 0)
+         swap (++last,i);
+      swap (lower, last);
+      sort (compare, lower, last-1);
+      sort (compare, last+1, upper);
+    }
+  void concat (Array<T> const &src) 
+    {
+      int s = size_;
+      set_size (size_ + src.size_);
+      arrcpy (array_p_+s,src.array_p_, src.size_);     
+    }
+  Array<T> slice (int lower, int upper) 
+    {
+      assert (lower >= 0 && lower <=upper&& upper <= size_);
+      Array<T> r;
+      int s =upper-lower;
+      r.set_size (s);
+      arrcpy (r.array_p_, array_p_  + lower, s);
+      return r;
+    }
+  void reverse() 
+    {
+      int h = size_/2;
+      for (int i =0,j = size_-1; i < h; i++,j--)
+       swap (i,j);
     }
 };
 
diff --git a/flower/missing b/flower/missing
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/flower/mkinstalldirs b/flower/mkinstalldirs
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/flower/out/dummy.dep b/flower/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index df18b4cbcd57cf5b0ecd2d8368d36d667e576698..202dd9f0e717912a76e49bf48786bef6bfe4ee0e 100644 (file)
 #include "string-convert.hh"  
 #include "libc-extension.hh"
 
+
 Rational::operator bool () const
 {
   return sign_;
 }
 
-Rational::operator int () const
-{
-  return sign_ * num_ / den_;
-}
-
-Rational::operator double () const
-{
-  return (double)sign_ * num_ / den_;
-}
-
 ostream &
 operator << (ostream &o, Rational r)
 {
diff --git a/flower/stamp-h.in b/flower/stamp-h.in
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/flower/test/Makefile b/flower/test/Makefile
deleted file mode 100644 (file)
index eccb972..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# project  LilyPond -- the musical typesetter
-# title           makefile for flowertest
-# file    test/Makefile 
-#
-# Copyright (c) 1997 by
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#
-
-# subdir level:
-#
-depth = ../..
-#
-
-# identify module:
-#
-NAME =flower-test
-# include ./$(depth)/$(NAME)/VERSION
-MODULE_NAME = flower
-include ./$(depth)/flower/VERSION
-
-#
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-#
-
-# list of distribution files:
-#
-EXTRA_DISTFILES = result 
-
-# list of custom libraries:
-#
-
-MODULE_LIBDEPS=check-flower-deps
-MODULE_LIBES = -lflower 
-#
-
-
-# main target of this module:
-#
-BUILDSTRINGTEST=$(MAINTARGET)
-EXECSTRINGTEST=$(EXECUTABLE)
-
-# don't do the exec, as this might fail if flowerlib isn't installed yet.
-default:  $(BUILDSTRINGTEST) 
-
-test: $(EXECUTABLE)
-       $(EXECSTRINGTEST) > $(outdir)/result
-       cmp $(outdir)/result result
-
-dummy:
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-
-
-# auto dependencies:
-#
-ifdef DEPFILES
-include $(DEPFILES)
-endif
-#
-
diff --git a/flower/test/Makefile.am b/flower/test/Makefile.am
new file mode 100644 (file)
index 0000000..6424e84
--- /dev/null
@@ -0,0 +1,27 @@
+# Automatically generated from ./lilypond-0.1.49/flower/test/Makefile.am.wild by bin/autowild
+# Do not edit
+#
+# project  LilyPond -- the musical typesetter
+# title           makefile for flowertest
+# file    flower/test/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+# bin_PROGRAMS = test
+
+# TEST = test
+
+# can't link to libflower: has not been created yet...
+# test_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+EXTRA_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
+
+noinst_HEADERS = flower-test.hh
+
+INCLUDES = -I../include
+
diff --git a/flower/test/Makefile.am.wild b/flower/test/Makefile.am.wild
new file mode 100644 (file)
index 0000000..2346878
--- /dev/null
@@ -0,0 +1,25 @@
+#
+# project  LilyPond -- the musical typesetter
+# title           makefile for flowertest
+# file    flower/test/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+# bin_PROGRAMS = test
+
+# TEST = test
+
+# can't link to libflower: has not been created yet...
+# test_SOURCES = $(wildcard *.cc)
+
+EXTRA_SOURCES = $(wildcard *.cc)
+
+EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
+
+noinst_HEADERS = $(wildcard *.hh)
+
+INCLUDES = -I../include
+
diff --git a/flower/test/Makefile.in b/flower/test/Makefile.in
new file mode 100644 (file)
index 0000000..006babd
--- /dev/null
@@ -0,0 +1,204 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/test/Makefile.am.wild by bin/autowild
+# Do not edit
+#
+# project  LilyPond -- the musical typesetter
+# title           makefile for flowertest
+# file    flower/test/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+# bin_PROGRAMS = test
+
+# TEST = test
+
+# can't link to libflower: has not been created yet...
+# test_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+EXTRA_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
+
+noinst_HEADERS = flower-test.hh
+
+INCLUDES = -I../include
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ../config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = test
+
+distdir: $(DISTFILES)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu test/Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/flower/test/out/dummy.dep b/flower/test/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index d2de9b2c1276c6c9cfe3179f0dc661601ae6b0fb..64cc51e5f46dc4fb9a9c4ffc172c26cd0bc27901 100644 (file)
@@ -23,13 +23,13 @@ rattest ()
   cout << EXP_PRINT(i >? -i) << EXP_PRINT(i >? r);
   cout << EXP_PRINT(i <? r) ;
   Rational one(1);
-  cout << EXP_PRINT(one/4);
-  cout << EXP_PRINT(one + one/4);
+  cout << EXP_PRINT(one/Rational (4));
+  cout << EXP_PRINT(one + one/Rational (4));
   Rational nul (0,1);
   Rational kwart (1,4);
   nul += kwart;
   cout << EXP_PRINT(nul);
-  nul -= 2 * kwart;
+  nul -= Rational (2) * kwart;
   cout << EXP_PRINT(nul);
 
   cout << EXP_PRINT(Rational (1,128)  + Rational (1919,128));
diff --git a/include/Makefile.in b/include/Makefile.in
new file mode 100644 (file)
index 0000000..eb0e19b
--- /dev/null
@@ -0,0 +1,181 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# flower/lib/include/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+noinst_HEADERS = acursor.hh arithmetic-operator.hh assoc-iter.hh assoc.hh choleski.hh compare.hh cpu-timer.hh cursor.hh data-file.hh diagonal-storage.hh dictionary-iter.hh dictionary.hh directed-graph.hh dstream.hh flower-debug.hh fproto.hh full-storage.hh handle.hh international.hh interval.hh iterate.hh lgetopt.hh libc-extension.hh link.hh list.hh matrix-storage.hh matrix.hh nscalar.hh parray.hh path.hh pcursor.hh plist.hh pointer.hh pqueue.hh priorities.hh rational.hh real.hh scalar.hh string-convert.hh string-data.hh string-handle.hh string.hh text-db.hh text-stream.hh timer.hh unionfind.hh varray.hh vector.hh virtual-methods.hh cursor.icc full-storage.icc link.icc list.icc plist.icc string-data.icc string-handle.icc string.icc cursor.tcc interval.tcc list.tcc pcursor.tcc plist.tcc pointer.tcc
+
+EXTRA_DIST = Makefile.am.wild
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ../config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps include/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = include
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/init/Makefile b/init/Makefile
deleted file mode 100644 (file)
index a04eed6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# init/Makefile
-
-
-# subdir level:
-#
-depth = ..
-#
-
-build = ./$(depth)/lily/$(outdir)/.build
-
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-
-# list of distribution files:
-# 
-INIFILES = $(wildcard *.ly)
-DISTFILES = Makefile $(INIFILES)
-
-## we probably can make tex/*defs.tex and init/*.ly in one go...
-## moved to mf/Makefile
-FONT_FILES = $(wildcard $(depth)/mf/*[0-9].mf)
-TABLES = $(patsubst $(depth)/mf/%.mf,%.ly,$(FONT_FILES))
-## 
-## all: $(TABLES)
-## 
-## $(outdir)/%.log: $(depth)/mf/%.mf
-##     mf $<
-##     mv $(@F) $@
-##     rm $(shell basename $< .mf).*gf
-## 
-## %.ly: $(outdir)/%.log
-##     mf-to-table -o $@ $<
-## 
-localclean:
-       rm -f $(TABLES)
-
-localinstall:
-       $(INSTALL) -d $(datadir)/lilypond/init
-       $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
-
-localuninstall:
-       for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
-       -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
diff --git a/init/Makefile.am b/init/Makefile.am
new file mode 100644 (file)
index 0000000..9a5e11f
--- /dev/null
@@ -0,0 +1,22 @@
+# Automatically generated from ./lilypond-0.1.49/init/Makefile.am.wild by bin/autowild
+# Do not edit
+# init/Makefile.am.wild
+
+INIFILES = dutch.ly dynamic.ly engraver.ly feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly german.ly italian.ly lily-init.ly midi.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly swedish.ly table11.ly table13.ly table16.ly table20.ly table26.ly
+EXTRA_DIST = Makefile.am.wild $(INIFILES)
+
+CLEANFILES = feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly
+
+FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
+TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
+
+# localclean:
+#      rm -f $(TABLES)
+
+install-data:
+       $(INSTALL) -d $(datadir)/lilypond/init
+       $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
+
+uninstall-data:
+       for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
diff --git a/init/Makefile.am.wild b/init/Makefile.am.wild
new file mode 100644 (file)
index 0000000..8589be4
--- /dev/null
@@ -0,0 +1,20 @@
+# init/Makefile.am.wild
+
+INIFILES = $(wildcard *.ly)
+EXTRA_DIST = Makefile.am.wild $(INIFILES)
+
+CLEANFILES = $(wildcard feta*.ly)
+
+FONT_FILES = $(wildcard ../mf/*[0-9].mf)
+TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
+
+# localclean:
+#      rm -f $(TABLES)
+
+install-data:
+       $(INSTALL) -d $(datadir)/lilypond/init
+       $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
+
+uninstall-data:
+       for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
diff --git a/init/Makefile.in b/init/Makefile.in
new file mode 100644 (file)
index 0000000..f99b968
--- /dev/null
@@ -0,0 +1,196 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./init/Makefile.am.wild by bin/autowild
+# Do not edit
+# init/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+INIFILES = dutch.ly dynamic.ly engraver.ly feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly german.ly italian.ly lily-init.ly midi.ly paper11.ly paper13.ly paper16.ly paper20.ly paper26.ly performer.ly property.ly script.ly simple-init.ly swedish.ly table11.ly table13.ly table16.ly table20.ly table26.ly
+EXTRA_DIST = Makefile.am.wild $(INIFILES)
+
+CLEANFILES = feta11.ly feta13.ly feta16.ly feta19.ly feta20.ly feta23.ly feta26.ly
+
+FONT_FILES = ../mf/feta-beams16.mf ../mf/feta-beams20.mf ../mf/feta-beams26.mf ../mf/feta-black16.mf ../mf/feta-braces16.mf ../mf/feta-braces20.mf ../mf/feta-din10.mf ../mf/feta-nummer10.mf ../mf/feta-nummer12.mf ../mf/feta-nummer3.mf ../mf/feta-nummer4.mf ../mf/feta-nummer5.mf ../mf/feta-nummer6.mf ../mf/feta-nummer7.mf ../mf/feta-nummer8.mf ../mf/feta-test16.mf ../mf/feta-test20.mf ../mf/feta11.mf ../mf/feta13.mf ../mf/feta16.mf ../mf/feta19.mf ../mf/feta20.mf ../mf/feta23.mf ../mf/feta26.mf
+TABLES = $(patsubst ../mf/%.mf,%.ly,$(FONT_FILES))
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps init/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = init
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# localclean:
+#      rm -f $(TABLES)
+
+install-data:
+       $(INSTALL) -d $(datadir)/lilypond/init
+       $(INSTALL) -m 644 $(INIFILES) $(datadir)/lilypond/init
+
+uninstall-data:
+       for i in $(INIFILES) ; do rm -f $(datadir)/lilypond/init/$$i; done
+       -rmdir $(datadir)/lilypond/init $(datadir)/lilypond/
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 373d35af7341e1ebb13213f0ec7cdba48ad9b7fd..bb43ba9adc18b6ffab77dce67f8d459516b393a1 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta11.log
+% input from feta11.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 4.12\pt -1.72\pt        0.00\pt 
index 1042f1b70e816313dcf5c902b0956ced0ca17af6..cc78398e9146d8b38943ba5d2519cfed93e5daab 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta13.log
+% input from feta13.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 4.88\pt -2.03\pt        0.00\pt 
index 5017ebf420033731cbd3546044e1c1c56b3295d8..8f9e9a849c58fc4c876ca4f731ec91e5d04bc0a0 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta16.log
+% input from feta16.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 6.00\pt -2.50\pt        0.00\pt 
index 79a0dcd0e1658d75b4ccc8b1802f9469aba9e6b6..be4cac0d8e9b8cc4be235b8bda513ae16dd307f3 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta19.log
+% input from feta19.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 7.12\pt -2.97\pt        0.00\pt 
index 4651cf1f0bf04e6c23f0310318b3ceec6df9c1a4..4b83db0235f714a017ea81c3c078b864188947f3 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta20.log
+% input from feta20.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 7.50\pt -3.12\pt        0.00\pt 
index a1800ec4693d64fbc89944ea5a0da90eea3d113f..e0771ff065bab417ba69ba639ff4f90f9e283ef7 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta23.log
+% input from feta23.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 8.44\pt -3.52\pt        0.00\pt 
index 024c623b31ca41a042991b22c7d31ba820f85e46..0ffe381d523ccbfe6e001ce946e9f7c4dccaf0fc 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta26.log
+% input from feta26.log
 % name=\symboltables {
     "rests"     = \table {
         "0"    "\\wholerest"   0.00\pt 9.75\pt -4.06\pt        0.00\pt 
diff --git a/init/out/dummy.dep b/init/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/input/Makefile b/input/Makefile
deleted file mode 100644 (file)
index 45c1320..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# input/Makefile
-
-# subdir level:
-#
-depth = ..
-#
-
-build = ./$(depth)/lily/$(outdir)/.build
-
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-#
-
-# list of distribution files:
-# 
-LYFILES = $(wildcard *.ly)
-TEXFILES = $(wildcard *.tex)
-M4FILES = $(wildcard *.m4)
-DISTFILES = Makefile TODO $(LYFILES) $(TEXFILES) $(wildcard *.m4)
-#
-
-OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
-
-all: $(OUTFILES)
diff --git a/input/Makefile.am b/input/Makefile.am
new file mode 100644 (file)
index 0000000..d1df230
--- /dev/null
@@ -0,0 +1,13 @@
+# Automatically generated from ./lilypond-0.1.49/input/Makefile.am.wild by bin/autowild
+# Do not edit
+# input/Makefile.am.wild
+
+LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly twinkle-pop.ly twinkle.ly
+TEXFILES = dummy.tex
+M4FILES = dummy.m4
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
+
diff --git a/input/Makefile.am.wild b/input/Makefile.am.wild
new file mode 100644 (file)
index 0000000..aad06e0
--- /dev/null
@@ -0,0 +1,11 @@
+# input/Makefile.am.wild
+
+LYFILES = $(wildcard *.ly)
+TEXFILES = $(wildcard *.tex)
+M4FILES = $(wildcard *.m4)
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
+
diff --git a/input/Makefile.in b/input/Makefile.in
new file mode 100644 (file)
index 0000000..e0786fd
--- /dev/null
@@ -0,0 +1,186 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./input/Makefile.am.wild by bin/autowild
+# Do not edit
+# input/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+LYFILES = beam-bug.ly beams.ly cadenza.ly collisions.ly coriolan-alto.ly denneboom.ly font-body.ly font.ly font11.ly font13.ly font16.ly font20.ly font26.ly gourlay.ly keys.ly kortjakje.ly multi.ly pedal.ly praeludium-fuga-E.ly rhythm.ly scales.ly scripts.ly sleur.ly slurs.ly spacing.ly stem.ly twinkle-pop.ly twinkle.ly
+TEXFILES = dummy.tex
+M4FILES = dummy.m4
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in TODO
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps input/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = input
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+default: all $(OUTFILES)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/input/dummy.m4 b/input/dummy.m4
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/input/dummy.tex b/input/dummy.tex
new file mode 100644 (file)
index 0000000..e69de29
index 4d66ace0dd953ce1ea9474ecf7c3881d3bd88052..4e55085818d77f891ee2163a9e713cb5bea35b3a 100644 (file)
@@ -14,12 +14,12 @@ This is taken from [Gourlay]'s paper on breaking lines
 
 \score{
        \melodic \multi 2 < \octave c'';
-               { \stemup; d2 d     | d d | d4 d2. | }
+               { \stemup; d2 d     | d d | d4 d2. | \break;  c1 }
                \octave c';
-              { \stemdown; g4 g g g | \[2/3 g2 g2 g2 \] | g4. g8 g2 | }
+              { \stemdown; g4 g g g | \[2/3 g2 g2 g2 \] | g4. g8 g2 | c1 }
                >
        \paper{
-           linewidth = 4.\cm;
+           linewidth = 8.\cm;
        }
 }
 
diff --git a/input/out/dummy.dep b/input/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/Makefile b/lib/Makefile
deleted file mode 100644 (file)
index 83dfc51..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# project  LilyPond -- the musical typesetter
-# title           makefile for micro-lily-lib
-# file    lib/Makefile 
-#
-# Copyright (c) 1997 by
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#
-
-# subdir level:
-#
-depth = ..
-#
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make 
-include ./$(depth)/make/Files.make
-include ./$(depth)/make/Version.make 
-#
-
-# identify module:
-#
-NAME = lily
-#
-
-# descent order into subdirectories:
-#
-SUBDIRS = include
-#
-
-# to be remade each build:
-#
-VERSION_DEPENDENCY =#
-#
-
-# list of distribution files:
-#
-EXTRA_DISTFILES = config.hh.in
-#
-
-MODULE_CXXFLAGS += -D_REENTRANT
-
-# list of custom libraries:
-
-LOADLIBES +=
-#
-
-# main target of this module:
-# 
-# MAINTARGET = $(EXECUTABLE)
-# MAINTARGET = $(LIBRARY)
-# MAINTARGET = $(bindir)/$(EXECUTABLE)# huh?
-MAINTARGET = $(outdir)/$(LIBRARY)# huh?
-
-default: configheader $(MAINTARGET)
-#
-
-localclean:
-       rm -f $(MAINTARGET)
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-
-# auto dependencies:
-#
--include $(DEPFILES)
-#
-
-.PHONY: configheader
-
-configheader: $(outdir)/config.hh
-
-# Ugh ugh
-$(outdir)/config.hh: config.hh.in
-       sed 's!@datadir@!$(datadir)!'<  $< > $@
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644 (file)
index 0000000..3db06b1
--- /dev/null
@@ -0,0 +1,24 @@
+# Automatically generated from ./lilypond-0.1.49/lib/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           makefile for micro-lily-lib
+# file    lib/Makefile 
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+SUBDIRS = include
+
+lib_LIBRARIES = liblily.a
+# lib_LIBRARIES = liblily.la
+
+EXTRA_DIST = Makefile.am.wild config.hh.in
+
+MODULE_CXXFLAGS += -D_REENTRANT
+
+liblily_a_SOURCES = binary-source-file.cc duration-convert.cc duration.cc includable-lexer.cc input.cc mapped-file-storage.cc moment.cc plet.cc simple-file-storage.cc source-file.cc source.cc template.cc warn.cc windhoos-suck-suck-suck-thank-you-cygnus.cc
+
+INCLUDES = -Iinclude -I../flower/include
+
diff --git a/lib/Makefile.am.wild b/lib/Makefile.am.wild
new file mode 100644 (file)
index 0000000..a4a486c
--- /dev/null
@@ -0,0 +1,22 @@
+# project  LilyPond -- the musical typesetter
+# title           makefile for micro-lily-lib
+# file    lib/Makefile 
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+SUBDIRS = include
+
+lib_LIBRARIES = liblily.a
+# lib_LIBRARIES = liblily.la
+
+EXTRA_DIST = Makefile.am.wild config.hh.in
+
+MODULE_CXXFLAGS += -D_REENTRANT
+
+liblily_a_SOURCES = $(wildcard *.cc)
+
+INCLUDES = -Iinclude -I../flower/include
+
diff --git a/lib/Makefile.in b/lib/Makefile.in
new file mode 100644 (file)
index 0000000..07200c8
--- /dev/null
@@ -0,0 +1,517 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./lib/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           makefile for micro-lily-lib
+# file    lib/Makefile 
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+SUBDIRS = include
+
+lib_LIBRARIES = liblily.a
+# lib_LIBRARIES = liblily.la
+
+EXTRA_DIST = Makefile.am.wild config.hh.in
+
+liblily_a_SOURCES = binary-source-file.cc duration-convert.cc duration.cc includable-lexer.cc input.cc mapped-file-storage.cc moment.cc plet.cc simple-file-storage.cc source-file.cc source.cc template.cc warn.cc windhoos-suck-suck-suck-thank-you-cygnus.cc
+
+INCLUDES = -Iinclude -I../flower/include
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.hh
+CONFIG_CLEAN_FILES = 
+LIBRARIES =  $(lib_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I.
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+liblily_a_LIBADD = 
+liblily_a_OBJECTS =  binary-source-file.o duration-convert.o duration.o \
+includable-lexer.o input.o mapped-file-storage.o moment.o plet.o \
+simple-file-storage.o source-file.o source.o template.o warn.o \
+windhoos-suck-suck-suck-thank-you-cygnus.o
+AR = ar
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+CXXLINK = $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON =  Makefile.am Makefile.in config.hh.in stamp-h.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+SOURCES = $(liblily_a_SOURCES)
+OBJECTS = $(liblily_a_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .o
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lib/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+config.hh: stamp-h
+stamp-h: $(srcdir)/config.hh.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES= CONFIG_HEADERS=lib/config.hh:lib/config.hh.in \
+            $(SHELL) ./config.status
+       @echo timestamp > stamp-h
+$(srcdir)/config.hh.in: $(srcdir)/stamp-h.in
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       @echo timestamp > $(srcdir)/stamp-h.in
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+       rm -f config.hh
+
+maintainer-clean-hdr:
+
+mostlyclean-libLIBRARIES:
+
+clean-libLIBRARIES:
+       test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
+
+distclean-libLIBRARIES:
+
+maintainer-clean-libLIBRARIES:
+
+install-libLIBRARIES: $(lib_LIBRARIES)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(libdir)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(INSTALL_DATA) $$p $(libdir)/$$p"; \
+           $(INSTALL_DATA) $$p $(libdir)/$$p; \
+         else :; fi; \
+       done
+       @$(POST_INSTALL)
+       @list='$(lib_LIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(RANLIB) $(libdir)/$$p"; \
+           $(RANLIB) $(libdir)/$$p; \
+         else :; fi; \
+       done
+
+uninstall-libLIBRARIES:
+       $(NORMAL_UNINSTALL)
+       list='$(lib_LIBRARIES)'; for p in $$list; do \
+         rm -f $(libdir)/$$p; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+liblily.a: $(liblily_a_OBJECTS) $(liblily_a_DEPENDENCIES)
+       rm -f liblily.a
+       $(AR) cru liblily.a $(liblily_a_OBJECTS) $(liblily_a_LIBADD)
+       $(RANLIB) liblily.a
+.cc.o:
+       $(CXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hh.in $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)config.hh.in$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.hh.in $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = lib
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+binary-source-file.o binary-source-file.lo: binary-source-file.cc \
+       include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/source-file.hh \
+       include/binary-source-file.hh \
+       ../flower/include/string-convert.hh
+duration-convert.o duration-convert.lo: duration-convert.cc \
+       include/duration-convert.hh include/duration.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh include/plet.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       include/warn.hh
+duration.o duration.lo: duration.cc include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/source-file.hh \
+       include/source.hh include/moment.hh \
+       ../flower/include/rational.hh include/duration.hh \
+       include/plet.hh include/duration-convert.hh \
+       ../flower/include/varray.hh
+includable-lexer.o includable-lexer.lo: includable-lexer.cc \
+       include/includable-lexer.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/varray.hh include/proto.hh \
+       include/source-file.hh include/source.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+input.o input.lo: input.cc include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/input.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/source.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/source-file.hh
+mapped-file-storage.o mapped-file-storage.lo: mapped-file-storage.cc
+moment.o moment.lo: moment.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/moment.hh ../flower/include/rational.hh
+plet.o plet.lo: plet.cc include/plet.hh include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh
+simple-file-storage.o simple-file-storage.lo: simple-file-storage.cc \
+       include/simple-file-storage.hh include/file-storage.hh \
+       include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/warn.hh
+source-file.o source-file.lo: source-file.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/proto.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/warn.hh \
+       include/windhoos-suck-suck-suck-thank-you-cygnus.hh \
+       include/source-file.hh include/simple-file-storage.hh \
+       include/file-storage.hh
+source.o source.lo: source.cc include/binary-source-file.hh \
+       include/source-file.hh include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/source.hh ../flower/include/path.hh \
+       ../flower/include/varray.hh
+template.o template.lo: template.cc include/source-file.hh \
+       include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/plist.tcc ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/pcursor.tcc \
+       ../flower/include/cursor.tcc ../flower/include/list.tcc
+warn.o warn.lo: warn.cc include/warn.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+windhoos-suck-suck-suck-thank-you-cygnus.o windhoos-suck-suck-suck-thank-you-cygnus.lo: \
+       windhoos-suck-suck-suck-thank-you-cygnus.cc
+
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-recursive-am: config.hh
+       $(MAKE) all-recursive
+
+all-am: Makefile $(LIBRARIES) config.hh
+
+install-exec-am: install-libLIBRARIES
+
+uninstall-am: uninstall-libLIBRARIES
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive install-exec-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive-am all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(libdir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-hdr mostlyclean-libLIBRARIES \
+               mostlyclean-compile mostlyclean-tags \
+               mostlyclean-generic
+
+clean-am:  clean-hdr clean-libLIBRARIES clean-compile clean-tags \
+               clean-generic mostlyclean-am
+
+distclean-am:  distclean-hdr distclean-libLIBRARIES distclean-compile \
+               distclean-tags distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-libLIBRARIES \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-generic distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
+maintainer-clean-hdr mostlyclean-libLIBRARIES distclean-libLIBRARIES \
+clean-libLIBRARIES maintainer-clean-libLIBRARIES uninstall-libLIBRARIES \
+install-libLIBRARIES mostlyclean-compile distclean-compile \
+clean-compile maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-recursive-am all-am install-exec-am uninstall-am \
+install-exec install-data install uninstall all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+MODULE_CXXFLAGS += -D_REENTRANT
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 1e7112e2c9fbfee2a0403455e452d27663b351d9..b10c27a7c123d27464e8adb1b04bc4810876134e 100644 (file)
@@ -1,6 +1,11 @@
 /* @configure_input@ */
 #ifndef CONFIG_HH
 #define CONFIG_HH
+
+/* default lilypond init and input dir */
 #define  DIR_DATADIR "@datadir@/lilypond"
 
+/* the toplevel version string */
+#define TOPLEVEL_VERSION "0"
+
 #endif
diff --git a/lib/include/Makefile b/lib/include/Makefile
deleted file mode 100644 (file)
index 43a9808..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# lib/include/Makefile
-
-# subdir level:
-#
-depth = ../..
-#
-
-# identify module:
-#
-MODULE_NAME = lilypond
-
-# generic stuff/Makefile
-#
-
-include ./$(depth)/make/Include.make
-
-
diff --git a/lib/include/Makefile.am b/lib/include/Makefile.am
new file mode 100644 (file)
index 0000000..4e1e02f
--- /dev/null
@@ -0,0 +1,8 @@
+# Automatically generated from ./lilypond-0.1.49/lib/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lib/include/Makefile
+
+noinst_HEADERS = binary-source-file.hh duration-convert.hh duration.hh file-storage.hh includable-lexer.hh input.hh mapped-file-storage.hh moment.hh plet.hh proto.hh simple-file-storage.hh source-file.hh source.hh warn.hh windhoos-suck-suck-suck-thank-you-cygnus.hh
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/lib/include/Makefile.am.wild b/lib/include/Makefile.am.wild
new file mode 100644 (file)
index 0000000..3d8f060
--- /dev/null
@@ -0,0 +1,6 @@
+# lib/include/Makefile
+
+noinst_HEADERS = $(wildcard *.hh)
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/lib/include/Makefile.in b/lib/include/Makefile.in
new file mode 100644 (file)
index 0000000..c933326
--- /dev/null
@@ -0,0 +1,202 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./lib/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lib/include/Makefile
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+noinst_HEADERS = binary-source-file.hh duration-convert.hh duration.hh file-storage.hh includable-lexer.hh input.hh mapped-file-storage.hh moment.hh plet.hh proto.hh simple-file-storage.hh source-file.hh source.hh warn.hh windhoos-suck-suck-suck-thank-you-cygnus.hh
+
+EXTRA_DIST = Makefile.am.wild
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../lib/config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lib/include/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = lib/include
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/lib/include/out/dummy.dep b/lib/include/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 78a00d8651768aee0d999a8833ff911aca20b5d6..4deb0969ff9c21eb15e11fae07f47d4262993f42 100644 (file)
@@ -19,6 +19,9 @@ class Simple_file_storage  : public File_storage
 {
   char * data_p_;
   int len_i_;
+
+  void load_stdin ();
+  void load_file (String);
 protected:    
   virtual char const*ch_C () const;
   virtual int length_i () const;
diff --git a/lib/out/dummy.dep b/lib/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index b80724d9870684529a149922e7638d2048a72758..e7c9240b00b7226651058a85f04dd30e60a6bfe9 100644 (file)
 #include "string.hh"
 #include "warn.hh"
 
-/**
-  Stupid but foolproof way of opening files.
-
-  TODO
-  Should check IO status
-
-  This is of course a build it yourself version of mmap, so we should
-  have been using that... (see Mapped_file_storage) But we noticed
-  some problems with this (unexplained lexer crashes)
-
-  [Some versions later] The crashes aren't caused by the mmap
-  code. But no reason to take it out, is there?  */
-
-Simple_file_storage::Simple_file_storage (String s)
+void
+Simple_file_storage::load_stdin ()
 {
-  data_p_ =0;
+  int data_len = 0;
+  len_i_ = 0;
+
+  int c;
+  Array<char> ch_arr;
+  while ((c = fgetc (stdin)) != EOF)
+    ch_arr.push (c);
+  len_i_ = ch_arr.size ();
+  data_p_ = ch_arr.remove_array_p ();
+}
 
+void
+Simple_file_storage::load_file (String s)
+{
   /*
     let's hope that "b" opens anything binary, and does not apply
     CR/LF translation
     */
-  FILE * f =  (s.length_i ()) ?  fopen (s.ch_C (), "rb") : stdin;
+  FILE * f =  fopen (s.ch_C (), "rb");
 
   if (!f)
     {
@@ -49,13 +49,37 @@ Simple_file_storage::Simple_file_storage (String s)
   data_p_[len_i_] = 0;
   ret = fread (data_p_, sizeof (char), len_i_, f);
 
-
   if  (ret!=len_i_)
     warning (_ ("Huh? got ") + String (ret) + _ (", expected ")
             + String (len_i_) + _ (" characters"));
 
-  if (f != stdin)
-    fclose (f);
+  fclose (f);
+}
+
+/**
+  Stupid but foolproof way of opening files.
+
+  TODO
+  Should check IO status
+
+  This is of course a build it yourself version of mmap, so we should
+  have been using that... (see Mapped_file_storage) But we noticed
+  some problems with this (unexplained lexer crashes)
+
+  [Some versions later] The crashes aren't caused by the mmap
+  code. But no reason to take it out, is there?  mmap ()
+
+*/
+
+Simple_file_storage::Simple_file_storage (String s)
+{
+  data_p_ = 0;
+  len_i_ = 0;
+
+  if (!s.length_i ())
+    load_stdin ();
+  else
+    load_file (s);
 }
 
 char const*
diff --git a/lib/stamp-h.in b/lib/stamp-h.in
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/lily/Makefile b/lily/Makefile
deleted file mode 100644 (file)
index 936d4c3..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# project  LilyPond -- the musical typesetter
-# title           makefile for lilypond
-# file    lily/Makefile 
-#
-# Copyright (c) 1997 by
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#
-
-# subdir level:
-#
-depth = ..
-#
-
-# identify module:
-#
-NAME = lilypond
-#
-
-# generic variables:
-#
-include Stable.make
-include ./$(depth)/make/Variables.make
-include VERSION
-#
-
-# descent order into subdirectories:
-#
-SUBDIRS = include
-#
-
-
-# list of distribution files:
-#
-EXTRA_DISTFILES = VERSION 
-#
-
-# list of custom libraries:
-#
-MODULE_LIBDEPS= check-flower-deps check-lib-deps 
-MODULE_LIBES= -llily -lflower
-
-#
-
-# main target of this module:
-#
-
-default: $(EXECUTABLE)
-
-out/engraver.o: include/engraver.hh
-#
-include ./$(depth)/make/Files.make 
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-#
-
-# force these: Make can't know these have to be generated in advance
-my-lily-lexer.cc: $(outdir)/parser.hh
-$(outdir)/lexer.cc: $(outdir)/parser.hh
-
-#
-
-
-localclean:
-       rm -f $(outdir)/parser.* $(outdir)/lexer.cc
-
-#should merge with mi2mu rule
-localinstall: installexe
-
-localuninstall: uninstallexe
-
-$(outdir)/lily-version.o: $(outdir)/version.hh
-
-# make config.hh. Ugh
-$(outdir)/main.o: $(libout)/config.hh
-
-$(libout)/config.hh: check-lib-deps
diff --git a/lily/Makefile.am b/lily/Makefile.am
new file mode 100644 (file)
index 0000000..4a4a0ca
--- /dev/null
@@ -0,0 +1,53 @@
+# Automatically generated from ./lilypond-0.1.49/lily/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter # title     makefile for lilypond
+# file    lily/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+SUBDIRS = include
+
+bin_PROGRAMS = lilypond
+
+# ignoring wildcards for `lexer.cc'
+# ignoring wildcards for `parser.cc'
+lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc elem-group.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-item.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
+noinst_HEADERS = parser.hh
+
+lilypond_LDADD = -llily -lflower @LEXLIB@
+
+lilypond_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -I. -Iinclude -I../lib/include -I../flower/include 
+
+EXTRA_DIST = Makefile.am.wild Stable.make VERSION
+
+# force these: Make can't know these have to be generated in advance
+my-lily-lexer.cc: parser.hh
+lexer.cc: parser.hh
+
+# ugh, autoconf assumes to get $(LEX_OUTPUT_ROOT).c ...
+.ll.cc:
+       @echo "must override autoconf; ignore warning"
+       $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).cc $@
+#.yy.hh:
+parser.hh: parser.yy
+       $(BISON) -d $<
+       mv $<.tab.h $@
+       mv $<.tab.c $(shell basename $@ .hh).cc
+# .ll.cc:
+# ugh, stupid automake 
+# now set output root by hand...
+#      touch lex.yy.cc
+
+# .yy.cc:
+#      $(BISON) $<
+#      mv $(shell basename $@ .cc ).tab.c $@
+#      $(FLEX) -Cfe -p -p -t $< > $@
+# # could be faster:
+# #    $(FLEX) -8 -Cf -t $< > $@
+
diff --git a/lily/Makefile.am.wild b/lily/Makefile.am.wild
new file mode 100644 (file)
index 0000000..cfee24c
--- /dev/null
@@ -0,0 +1,50 @@
+# project  LilyPond -- the musical typesetter # title     makefile for lilypond
+# file    lily/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+SUBDIRS = include
+
+bin_PROGRAMS = lilypond
+
+nowildcard: lexer.cc parser.cc
+lilypond_SOURCES = $(wildcard *.cc *.ll *.yy)
+noinst_HEADERS = parser.hh
+
+lilypond_LDADD = -llily -lflower @LEXLIB@
+
+lilypond_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -I. -Iinclude -I../lib/include -I../flower/include 
+
+EXTRA_DIST = Makefile.am.wild Stable.make VERSION
+
+# force these: Make can't know these have to be generated in advance
+my-lily-lexer.cc: parser.hh
+lexer.cc: parser.hh
+
+# ugh, autoconf assumes to get $(LEX_OUTPUT_ROOT).c ...
+.ll.cc:
+       @echo "must override autoconf; ignore warning"
+       $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).cc $@
+#.yy.hh:
+parser.hh: parser.yy
+       $(BISON) -d $<
+       mv $<.tab.h $@
+       mv $<.tab.c $(shell basename $@ .hh).cc
+# .ll.cc:
+# ugh, stupid automake 
+# now set output root by hand...
+#      touch lex.yy.cc
+
+# .yy.cc:
+#      $(BISON) $<
+#      mv $(shell basename $@ .cc ).tab.c $@
+#      $(FLEX) -Cfe -p -p -t $< > $@
+# # could be faster:
+# #    $(FLEX) -8 -Cf -t $< > $@
+
diff --git a/lily/Makefile.in b/lily/Makefile.in
new file mode 100644 (file)
index 0000000..9bec8d0
--- /dev/null
@@ -0,0 +1,4509 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./lily/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter # title     makefile for lilypond
+# file    lily/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+SUBDIRS = include
+
+bin_PROGRAMS = lilypond
+
+lilypond_SOURCES = abbrev.cc abbreviation-beam-engraver.cc abbreviation-beam.cc atom.cc audio-column.cc audio-element.cc audio-item.cc audio-staff.cc axis-group-administration.cc axis-group-element.cc axis-group-item.cc axis-group-spanner.cc axis.cc bar-column-grav.cc bar-column.cc bar-grav.cc bar-number-grav.cc bar.cc beam-grav.cc beam-swallow-trans.cc beam.cc bow.cc boxes.cc break-align-item.cc break.cc change-iterator.cc change-translator.cc chord-iterator.cc clef-grav.cc clef-item.cc col-info.cc colhpos.cc collision-grav.cc collision.cc command-request.cc crescendo.cc debug.cc dimen.cc directional-spanner.cc dot-column-grav.cc dot-column.cc dots.cc dynamic-grav.cc elem-group.cc engraver-group.cc engraver.cc general-script-def.cc global-translator.cc gourlay-breaking.cc graphical-element.cc grouping.cc head-grav.cc header.cc horizontal-align-item.cc horizontal-group-item.cc horizontal-vertical-group-item.cc idealspacing.cc identifier.cc ineq-constrained-qp.cc item.cc key-grav.cc key-item.cc key-performer.cc key.cc keyword.cc leastsquares.cc lexerinit.cc lily-version.cc line-group-grav.cc line-spacer.cc local-key-grav.cc local-key-item.cc lookup.cc lyric-grav.cc lyric-performer.cc main.cc meter-grav.cc meter-performer.cc meter.cc midi-def.cc midi-item.cc midi-stream.cc midi-walker.cc misc.cc molecule.cc music-iterator.cc music-list.cc music-output-def.cc music.cc musical-request.cc my-lily-lexer.cc my-lily-parser.cc note-column.cc note-head.cc note-performer.cc note.cc notename-table.cc offset.cc outputter.cc p-col.cc p-score.cc paper-def.cc performance.cc performer-group-performer.cc performer.cc pitch-squash-grav.cc plet-engraver.cc plet-spanner.cc plet-swallow-engraver.cc priority-halign-grav.cc property-iterator.cc ps-plet.cc qlp.cc qlpsolve.cc request-iterator.cc request.cc rest-collision-grav.cc rest-collision.cc rest-grav.cc rest.cc rhythmic-column-grav.cc rhythmic-head.cc score-bar.cc score-column.cc score-elem-info.cc score-elem.cc score-grav.cc score-performer.cc score-priority-grav.cc score.cc scoreline.cc scores.cc script-column.cc script-def.cc script-grav.cc script.cc slur-grav.cc slur.cc span-bar-grav.cc span-bar.cc span-score-bar-grav.cc span-score-bar.cc spanner.cc spring-spacer.cc staff-info.cc staff-performer.cc staff-side.cc staff-sym-grav.cc staff-sym.cc stem-grav.cc stem-info.cc stem.cc super-elem.cc swallow-grav.cc swallow-perf.cc symtable.cc template1.cc template2.cc template3.cc template4.cc template5.cc template6.cc template7.cc template8.cc tex-beam.cc tex-slur.cc tex-stream.cc tex.cc text-def.cc text-item.cc text-spanner.cc tie-grav.cc tie.cc time-description.cc timing-grav.cc timing-translator.cc translation-property.cc translator-ctors.cc translator-group.cc translator.cc type-swallow-trans.cc version.cc vertical-align-elem.cc vertical-align-grav.cc vertical-align-spanner.cc vertical-group-spanner.cc voice-iterator.cc warn.cc word-wrap.cc lexer.ll parser.yy
+noinst_HEADERS = parser.hh
+
+lilypond_LDADD = -llily -lflower @LEXLIB@
+
+lilypond_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -I. -Iinclude -I../lib/include -I../flower/include 
+
+EXTRA_DIST = Makefile.am.wild Stable.make VERSION
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+PROGRAMS =  $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I../lib
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lilypond_OBJECTS =  abbrev.o abbreviation-beam-engraver.o \
+abbreviation-beam.o atom.o audio-column.o audio-element.o audio-item.o \
+audio-staff.o axis-group-administration.o axis-group-element.o \
+axis-group-item.o axis-group-spanner.o axis.o bar-column-grav.o \
+bar-column.o bar-grav.o bar-number-grav.o bar.o beam-grav.o \
+beam-swallow-trans.o beam.o bow.o boxes.o break-align-item.o break.o \
+change-iterator.o change-translator.o chord-iterator.o clef-grav.o \
+clef-item.o col-info.o colhpos.o collision-grav.o collision.o \
+command-request.o crescendo.o debug.o dimen.o directional-spanner.o \
+dot-column-grav.o dot-column.o dots.o dynamic-grav.o elem-group.o \
+engraver-group.o engraver.o general-script-def.o global-translator.o \
+gourlay-breaking.o graphical-element.o grouping.o head-grav.o header.o \
+horizontal-align-item.o horizontal-group-item.o \
+horizontal-vertical-group-item.o idealspacing.o identifier.o \
+ineq-constrained-qp.o item.o key-grav.o key-item.o key-performer.o \
+key.o keyword.o leastsquares.o lexerinit.o lily-version.o \
+line-group-grav.o line-spacer.o local-key-grav.o local-key-item.o \
+lookup.o lyric-grav.o lyric-performer.o main.o meter-grav.o \
+meter-performer.o meter.o midi-def.o midi-item.o midi-stream.o \
+midi-walker.o misc.o molecule.o music-iterator.o music-list.o \
+music-output-def.o music.o musical-request.o my-lily-lexer.o \
+my-lily-parser.o note-column.o note-head.o note-performer.o note.o \
+notename-table.o offset.o outputter.o p-col.o p-score.o paper-def.o \
+performance.o performer-group-performer.o performer.o \
+pitch-squash-grav.o plet-engraver.o plet-spanner.o \
+plet-swallow-engraver.o priority-halign-grav.o property-iterator.o \
+ps-plet.o qlp.o qlpsolve.o request-iterator.o request.o \
+rest-collision-grav.o rest-collision.o rest-grav.o rest.o \
+rhythmic-column-grav.o rhythmic-head.o score-bar.o score-column.o \
+score-elem-info.o score-elem.o score-grav.o score-performer.o \
+score-priority-grav.o score.o scoreline.o scores.o script-column.o \
+script-def.o script-grav.o script.o slur-grav.o slur.o span-bar-grav.o \
+span-bar.o span-score-bar-grav.o span-score-bar.o spanner.o \
+spring-spacer.o staff-info.o staff-performer.o staff-side.o \
+staff-sym-grav.o staff-sym.o stem-grav.o stem-info.o stem.o \
+super-elem.o swallow-grav.o swallow-perf.o symtable.o template1.o \
+template2.o template3.o template4.o template5.o template6.o template7.o \
+template8.o tex-beam.o tex-slur.o tex-stream.o tex.o text-def.o \
+text-item.o text-spanner.o tie-grav.o tie.o time-description.o \
+timing-grav.o timing-translator.o translation-property.o \
+translator-ctors.o translator-group.o translator.o type-swallow-trans.o \
+version.o vertical-align-elem.o vertical-align-grav.o \
+vertical-align-spanner.o vertical-group-spanner.o voice-iterator.o \
+warn.o word-wrap.o lexer.o parser.o
+lilypond_DEPENDENCIES = 
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LEXLIB = @LEXLIB@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+CXXLINK = $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in lexer.cc parser.cc
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+SOURCES = $(lilypond_SOURCES)
+OBJECTS = $(lilypond_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .h .ll .o .yy
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lily/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+       test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(bindir)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo "  $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
+            $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       $(NORMAL_UNINSTALL)
+       list='$(bin_PROGRAMS)'; for p in $$list; do \
+         rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lilypond: $(lilypond_OBJECTS) $(lilypond_DEPENDENCIES)
+       @rm -f lilypond
+       $(CXXLINK) $(lilypond_LDFLAGS) $(lilypond_OBJECTS) $(lilypond_LDADD) $(LIBS)
+.yy.cc:
+       $(YACC) $(YFLAGS) $< && mv y.tab.c $@
+       if test -f y.tab.h; then \
+       if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
+       else :; fi
+.yy.h:
+       $(YACC) $(YFLAGS) $< && mv y.tab.c $@
+       if test -f y.tab.h; then \
+       if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
+       else :; fi
+.ll.cc:
+       $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
+.cc.o:
+       $(CXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = lily
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+abbrev.o abbrev.lo: abbrev.cc include/abbrev.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/beam.hh include/directional-spanner.hh \
+       include/spanner.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/lookup.hh include/atom.hh \
+       ../flower/include/scalar.hh include/stem.hh include/molecule.hh \
+       include/dimen.hh
+abbreviation-beam-engraver.o abbreviation-beam-engraver.lo: \
+       abbreviation-beam-engraver.cc \
+       ../lib/include/duration-convert.hh ../lib/include/duration.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh ../lib/include/plet.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       include/time-description.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/abbreviation-beam-engraver.hh \
+       include/engraver.hh include/request.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/drul-array.hh \
+       include/stem.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/abbreviation-beam.hh include/beam.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/musical-request.hh include/misc.hh include/grouping.hh
+abbreviation-beam.o abbreviation-beam.lo: abbreviation-beam.cc \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/dimen.hh \
+       include/abbreviation-beam.hh include/beam.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/misc.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/scalar.hh \
+       include/grouping.hh include/minterval.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/atom.hh include/molecule.hh include/leastsquares.hh \
+       include/stem.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/lookup.hh \
+       include/stem-info.hh
+atom.o atom.lo: atom.cc include/atom.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/tex.hh \
+       ../flower/include/scalar.hh include/dimen.hh \
+       ../flower/include/varray.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+audio-column.o audio-column.lo: audio-column.cc include/audio-column.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/lily-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/audio-item.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/audio-element.hh \
+       ../flower/include/virtual-methods.hh include/performance.hh \
+       include/music-output.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+audio-element.o audio-element.lo: audio-element.cc \
+       include/audio-element.hh ../flower/include/virtual-methods.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh
+audio-item.o audio-item.lo: audio-item.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/audio-item.hh \
+       include/audio-element.hh ../flower/include/virtual-methods.hh \
+       include/midi-item.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/request.hh \
+       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/audio-column.hh
+audio-staff.o audio-staff.lo: audio-staff.cc include/audio-staff.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/lily-proto.hh include/audio-element.hh \
+       ../flower/include/virtual-methods.hh include/audio-item.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/midi-item.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/midi-stream.hh include/midi-walker.hh \
+       ../flower/include/pqueue.hh ../flower/include/varray.hh
+axis-group-administration.o axis-group-administration.lo: \
+       axis-group-administration.cc ../flower/include/interval.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/compare.hh \
+       include/axis-group-administration.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+axis-group-element.o axis-group-element.lo: axis-group-element.cc \
+       include/axis-group-element.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh
+axis-group-item.o axis-group-item.lo: axis-group-item.cc \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+axis-group-spanner.o axis-group-spanner.lo: axis-group-spanner.cc \
+       include/axis-group-spanner.hh include/spanner.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-item.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+axis.o axis.lo: axis.cc include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+bar-column-grav.o bar-column-grav.lo: bar-column-grav.cc \
+       include/bar-column-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/bar-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/elem-group.hh \
+       include/script.hh include/staff-side.hh include/bar.hh
+bar-column.o bar-column.lo: bar-column.cc include/bar.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/bar-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh
+bar-grav.o bar-grav.lo: bar-grav.cc include/bar-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/bar.hh include/item.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/command-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/time-description.hh \
+       include/engraver-group.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/translator-group.hh
+bar-number-grav.o bar-number-grav.lo: bar-number-grav.cc \
+       include/bar-number-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/script.hh \
+       include/staff-side.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/text-def.hh include/general-script-def.hh \
+       include/command-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/bar.hh \
+       include/time-description.hh
+bar.o bar.lo: bar.cc include/bar.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+beam-grav.o beam-grav.lo: beam-grav.cc \
+       ../lib/include/duration-convert.hh ../lib/include/duration.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh ../lib/include/plet.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       include/time-description.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/beam-grav.hh \
+       include/engraver.hh include/request.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/drul-array.hh \
+       include/stem.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/beam.hh include/directional-spanner.hh \
+       include/spanner.hh include/musical-request.hh \
+       include/grouping.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh
+beam-swallow-trans.o beam-swallow-trans.lo: beam-swallow-trans.cc \
+       include/type-swallow-trans.hh include/translator.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh
+beam.o beam.lo: beam.cc include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/dimen.hh include/beam.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/abbreviation-beam.hh include/misc.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/scalar.hh include/grouping.hh \
+       include/minterval.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/atom.hh include/molecule.hh include/leastsquares.hh \
+       include/stem.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/lookup.hh \
+       include/stem-info.hh include/main.hh
+bow.o bow.lo: bow.cc include/bow.hh include/directional-spanner.hh \
+       include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/molecule.hh include/boxes.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh
+boxes.o boxes.lo: boxes.cc include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh
+break-align-item.o break-align-item.lo: break-align-item.cc \
+       include/break-align-item.hh include/horizontal-align-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh
+break.o break.lo: break.cc include/score-column.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/break.hh include/colhpos.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/line-spacer.hh ../flower/include/vector.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/scoreline.hh include/spanner.hh \
+       include/p-score.hh include/music-output.hh \
+       ../flower/include/cpu-timer.hh
+change-iterator.o change-iterator.lo: change-iterator.cc \
+       include/change-iterator.hh include/music-iterator.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/varray.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/virtual-methods.hh \
+       include/translator-group.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/parray.hh \
+       ../lib/include/input.hh include/change-translator.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+change-translator.o change-translator.lo: change-translator.cc \
+       include/change-translator.hh include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+chord-iterator.o chord-iterator.lo: chord-iterator.cc \
+       include/translator-group.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/chord-iterator.hh \
+       include/music-iterator.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-list.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh
+clef-grav.o clef-grav.lo: clef-grav.cc include/bar.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/clef-grav.hh \
+       ../flower/include/scalar.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh include/staff-info.hh \
+       include/translator.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/clef-item.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/command-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/time-description.hh
+clef-item.o clef-item.lo: clef-item.cc include/clef-item.hh \
+       include/item.hh include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh \
+       include/clef-grav.hh include/engraver.hh include/request.hh \
+       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       include/score-elem-info.hh include/staff-info.hh \
+       include/translator.hh
+col-info.o col-info.lo: col-info.cc include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/col-info.hh \
+       ../flower/include/pointer.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+colhpos.o colhpos.lo: colhpos.cc include/colhpos.hh \
+       ../flower/include/varray.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/warn.hh ../flower/include/vector.hh \
+       include/line-spacer.hh ../flower/include/interval.hh
+collision-grav.o collision-grav.lo: collision-grav.cc \
+       include/note-column.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/collision-grav.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/collision.hh
+collision.o collision.lo: collision.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/collision.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/elem-group.hh include/note-column.hh \
+       include/script-column.hh include/note-head.hh \
+       include/rhythmic-head.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh
+command-request.o command-request.lo: command-request.cc \
+       include/command-request.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/lily-proto.hh \
+       include/direction.hh ../flower/include/varray.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/musical-request.hh
+crescendo.o crescendo.lo: crescendo.cc include/molecule.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/direction.hh \
+       include/dimen.hh include/crescendo.hh include/staff-side.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/spanner.hh \
+       include/drul-array.hh include/lookup.hh include/atom.hh \
+       ../flower/include/scalar.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/score-column.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh
+debug.o debug.lo: debug.cc include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh ../flower/include/flower-debug.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/main.hh
+dimen.o dimen.lo: dimen.cc include/dimen.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh
+directional-spanner.o directional-spanner.lo: directional-spanner.cc \
+       include/directional-spanner.hh include/spanner.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh
+dot-column-grav.o dot-column-grav.lo: dot-column-grav.cc
+dot-column.o dot-column.lo: dot-column.cc include/dots.hh \
+       include/item.hh include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/dot-column.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/rhythmic-head.hh
+dots.o dots.lo: dots.cc include/dots.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh
+dynamic-grav.o dynamic-grav.lo: dynamic-grav.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/crescendo.hh \
+       include/staff-side.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/spanner.hh include/drul-array.hh \
+       include/dynamic-grav.hh include/engraver.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/musical-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/text-item.hh include/text-def.hh \
+       include/general-script-def.hh include/item.hh include/boxes.hh \
+       include/lookup.hh include/atom.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/score-column.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/staff-sym.hh include/note-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh
+elem-group.o elem-group.lo: elem-group.cc include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+engraver-group.o engraver-group.lo: engraver-group.cc \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/engraver-group.hh include/lily-proto.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/p-score.hh include/colhpos.hh include/music-output.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh
+engraver.o engraver.lo: engraver.cc include/music-list.hh \
+       include/music.hh ../flower/include/virtual-methods.hh \
+       ../lib/include/input.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/musical-request.hh \
+       include/request.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/engraver.hh ../flower/include/varray.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/engraver-group.hh \
+       include/translator-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+general-script-def.o general-script-def.lo: general-script-def.cc \
+       include/general-script-def.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../lib/include/input.hh \
+       ../flower/include/virtual-methods.hh include/direction.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/warn.hh include/atom.hh include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh
+global-translator.o global-translator.lo: global-translator.cc \
+       include/global-translator.hh include/translator-group.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/rational.hh ../flower/include/pqueue.hh
+gourlay-breaking.o gourlay-breaking.lo: gourlay-breaking.cc \
+       include/gourlay-breaking.hh include/break.hh \
+       ../flower/include/varray.hh ../flower/include/interval.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/compare.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/colhpos.hh \
+       include/spring-spacer.hh include/line-spacer.hh \
+       ../flower/include/vector.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/col-info.hh \
+       ../flower/include/pointer.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/warn.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/p-score.hh include/music-output.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh
+graphical-element.o graphical-element.lo: graphical-element.cc \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       ../flower/include/virtual-methods.hh \
+       include/axis-group-element.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/directed-graph.hh \
+       include/axis-group-administration.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+grouping.o grouping.lo: grouping.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/grouping.hh include/minterval.hh \
+       ../flower/include/interval.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/varray.hh
+head-grav.o head-grav.lo: head-grav.cc include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/head-grav.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/musical-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/dots.hh
+header.o header.lo: header.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/dictionary-iter.hh \
+       ../flower/include/assoc-iter.hh ../flower/include/assoc.hh \
+       ../flower/include/varray.hh ../flower/include/dictionary.hh \
+       include/header.hh
+horizontal-align-item.o horizontal-align-item.lo: \
+       horizontal-align-item.cc include/horizontal-align-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+horizontal-group-item.o horizontal-group-item.lo: \
+       horizontal-group-item.cc include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+horizontal-vertical-group-item.o horizontal-vertical-group-item.lo: \
+       horizontal-vertical-group-item.cc \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/elem-group.hh include/p-col.hh \
+       include/horizontal-group-item.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+idealspacing.o idealspacing.lo: idealspacing.cc include/idealspacing.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/p-score.hh \
+       include/colhpos.hh include/music-output.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+identifier.o identifier.lo: identifier.cc include/midi-def.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/paper-def.hh ../flower/include/interval.hh \
+       include/score.hh ../lib/include/input.hh \
+       ../flower/include/parray.hh include/identifier.hh \
+       include/my-lily-lexer.hh ../lib/include/includable-lexer.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/symtable.hh include/atom.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/lookup.hh ../flower/include/scalar.hh \
+       include/direction.hh include/script-def.hh \
+       include/general-script-def.hh include/request.hh \
+       include/music.hh include/minterval.hh include/translator.hh
+ineq-constrained-qp.o ineq-constrained-qp.lo: ineq-constrained-qp.cc \
+       include/ineq-constrained-qp.hh ../flower/include/matrix.hh \
+       ../flower/include/matrix-storage.hh ../flower/include/varray.hh \
+       ../flower/include/real.hh ../flower/include/virtual-methods.hh \
+       ../flower/include/vector.hh include/qlpsolve.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh ../flower/include/choleski.hh
+item.o item.lo: item.cc include/p-score.hh include/colhpos.hh \
+       ../flower/include/varray.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/parray.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/music-output.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/item.hh include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/direction.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/spanner.hh
+key-grav.o key-grav.lo: key-grav.cc include/key-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/key.hh include/key-item.hh \
+       include/item.hh include/boxes.hh include/offset.hh \
+       include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/command-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/local-key-grav.hh \
+       include/musical-request.hh include/local-key-item.hh \
+       include/bar.hh include/time-description.hh
+key-item.o key-item.lo: key-item.cc include/key-item.hh include/item.hh \
+       include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/key.hh ../flower/include/scalar.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh include/key-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh include/staff-info.hh \
+       include/translator.hh
+key-performer.o key-performer.lo: key-performer.cc \
+       include/key-performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/performer.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/command-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/audio-item.hh include/audio-element.hh
+key.o key.lo: key.cc include/key.hh ../flower/include/varray.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+keyword.o keyword.lo: keyword.cc include/keyword.hh
+leastsquares.o leastsquares.lo: leastsquares.cc include/leastsquares.hh \
+       ../flower/include/varray.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+lexer.o lexer.lo: lexer.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/string-convert.hh include/my-lily-lexer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/varray.hh ../lib/include/includable-lexer.hh \
+       ../lib/include/duration.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/plet.hh \
+       ../flower/include/interval.hh parser.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/parseconstruct.hh include/main.hh include/identifier.hh \
+       ../lib/include/input.hh ../flower/include/virtual-methods.hh
+lexerinit.o lexerinit.lo: lexerinit.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/my-lily-lexer.hh \
+       include/lily-proto.hh ../flower/include/varray.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../lib/include/includable-lexer.hh ../lib/include/duration.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../lib/include/plet.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/main.hh ../lib/include/source-file.hh \
+       ../lib/include/source.hh
+lily-version.o lily-version.lo: lily-version.cc ../lib/config.hh
+line-group-grav.o line-group-grav.lo: line-group-grav.cc \
+       include/staff-sym.hh include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/vertical-group-spanner.hh \
+       include/axis-group-spanner.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/command-request.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/bar.hh include/item.hh include/boxes.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/line-group-grav.hh \
+       include/engraver.hh include/score-elem-info.hh \
+       ../flower/include/scalar.hh include/staff-info.hh \
+       include/translator.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/axis-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+line-spacer.o line-spacer.lo: line-spacer.cc include/line-spacer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh ../flower/include/vector.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh
+local-key-grav.o local-key-grav.lo: local-key-grav.cc \
+       include/musical-request.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/command-request.hh ../flower/include/varray.hh \
+       include/local-key-grav.hh include/engraver.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/key.hh \
+       include/local-key-item.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/key-grav.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/key-item.hh include/tie.hh include/bow.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/note-head.hh include/rhythmic-head.hh \
+       include/time-description.hh
+local-key-item.o local-key-item.lo: local-key-item.cc include/dimen.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/local-key-item.hh include/item.hh include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/scalar.hh include/lookup.hh include/atom.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/input.hh include/music.hh include/minterval.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/note-head.hh include/rhythmic-head.hh include/misc.hh \
+       include/grouping.hh
+lookup.o lookup.lo: lookup.cc include/lookup.hh include/atom.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/scalar.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/symtable.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/dimen.hh include/tex.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/main.hh
+lyric-grav.o lyric-grav.lo: lyric-grav.cc include/lyric-engraver.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/musical-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/text-item.hh include/text-def.hh \
+       include/general-script-def.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/staff-side.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/lookup.hh include/atom.hh
+lyric-performer.o lyric-performer.lo: lyric-performer.cc \
+       include/lyric-performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/performer.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/text-def.hh \
+       include/general-script-def.hh include/musical-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/audio-item.hh include/audio-element.hh
+main.o main.lo: main.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/lgetopt.hh \
+       include/misc.hh include/lily-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/main.hh \
+       ../flower/include/path.hh ../lib/config.hh \
+       ../lib/include/source.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/my-lily-parser.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh ../lib/include/input.hh
+meter-grav.o meter-grav.lo: meter-grav.cc include/meter-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/time-description.hh \
+       include/grouping.hh include/meter.hh include/item.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/command-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/timing-grav.hh \
+       include/timing-translator.hh include/engraver-group.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/translator-group.hh
+meter-performer.o meter-performer.lo: meter-performer.cc \
+       include/meter-performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/performer.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/command-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/audio-item.hh include/audio-element.hh
+meter.o meter.lo: meter.cc ../flower/include/scalar.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/molecule.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/meter.hh include/item.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh
+midi-def.o midi-def.lo: midi-def.cc include/misc.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/midi-def.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/translator.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/performance.hh include/music-output.hh \
+       ../flower/include/assoc-iter.hh include/score-performer.hh \
+       include/performer-group-performer.hh include/performer.hh \
+       include/request.hh include/music.hh include/direction.hh \
+       include/score-elem-info.hh include/staff-info.hh \
+       include/translator-group.hh include/global-translator.hh \
+       ../flower/include/pqueue.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+midi-item.o midi-item.lo: midi-item.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/lily-proto.hh \
+       ../lib/include/warn.hh include/misc.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/scalar.hh \
+       include/grouping.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/varray.hh \
+       ../flower/include/string-convert.hh include/command-request.hh \
+       include/request.hh ../flower/include/virtual-methods.hh \
+       ../lib/include/input.hh include/music.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/musical-request.hh include/midi-item.hh \
+       include/midi-stream.hh include/audio-item.hh \
+       include/audio-element.hh
+midi-stream.o midi-stream.lo: midi-stream.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/string-convert.hh include/main.hh \
+       include/lily-proto.hh ../lib/include/proto.hh include/misc.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/scalar.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/midi-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/virtual-methods.hh include/midi-stream.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+midi-walker.o midi-walker.lo: midi-walker.cc include/midi-walker.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/pqueue.hh ../flower/include/varray.hh \
+       include/lily-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       include/audio-column.hh include/audio-item.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/audio-element.hh \
+       ../flower/include/virtual-methods.hh include/audio-staff.hh \
+       include/midi-item.hh include/midi-stream.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+misc.o misc.lo: misc.cc include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/misc.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/scalar.hh \
+       include/grouping.hh include/minterval.hh
+molecule.o molecule.lo: molecule.cc ../flower/include/interval.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/compare.hh include/dimen.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/molecule.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/atom.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/tex.hh ../flower/include/scalar.hh
+music-iterator.o music-iterator.lo: music-iterator.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/music-list.hh include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/music-iterator.hh ../flower/include/varray.hh \
+       include/voice-iterator.hh include/property-iterator.hh \
+       include/chord-iterator.hh include/request-iterator.hh \
+       include/translator-group.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/parray.hh \
+       include/translation-property.hh include/change-iterator.hh \
+       include/change-translator.hh
+music-list.o music-list.lo: music-list.cc include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/music-list.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+music-output-def.o music-output-def.lo: music-output-def.cc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/global-translator.hh include/translator-group.hh \
+       include/translator.hh ../flower/include/scalar.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       ../flower/include/rational.hh ../flower/include/pqueue.hh \
+       ../flower/include/dictionary-iter.hh \
+       ../flower/include/assoc-iter.hh
+music.o music.lo: music.cc include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/music-list.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+musical-request.o musical-request.lo: musical-request.cc \
+       include/musical-request.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/misc.hh ../flower/include/scalar.hh include/grouping.hh \
+       ../flower/include/varray.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/script-def.hh include/general-script-def.hh \
+       include/text-def.hh include/music-list.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+my-lily-lexer.o my-lily-lexer.lo: my-lily-lexer.cc \
+       include/notename-table.hh ../flower/include/pointer.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/varray.hh ../flower/include/interval.hh \
+       include/identifier.hh ../lib/include/input.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/assoc-iter.hh parser.hh include/keyword.hh \
+       include/my-lily-lexer.hh ../lib/include/includable-lexer.hh \
+       ../lib/include/duration.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/plet.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh ../lib/include/source-file.hh \
+       include/parseconstruct.hh
+my-lily-parser.o my-lily-parser.lo: my-lily-parser.cc \
+       include/my-lily-parser.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../lib/include/duration.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh ../lib/include/plet.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       ../lib/include/input.hh include/my-lily-lexer.hh \
+       ../lib/include/includable-lexer.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/main.hh include/music-list.hh include/music.hh \
+       ../flower/include/virtual-methods.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/musical-request.hh \
+       include/request.hh include/direction.hh \
+       include/command-request.hh parser.hh include/header.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh
+note-column.o note-column.lo: note-column.cc include/dot-column.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/note-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh include/script.hh \
+       include/staff-side.hh include/note-head.hh \
+       include/rhythmic-head.hh include/stem.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/rest.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+note-head.o note-head.lo: note-head.cc include/misc.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/dots.hh include/item.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/direction.hh include/note-head.hh \
+       include/rhythmic-head.hh include/dimen.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh include/molecule.hh \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/input.hh include/music.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh
+note-performer.o note-performer.lo: note-performer.cc \
+       include/note-performer.hh include/performer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/musical-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/audio-item.hh include/audio-element.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+note.o note.lo: note.cc include/my-lily-lexer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/includable-lexer.hh ../lib/include/duration.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../lib/include/plet.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/musical-request.hh include/request.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/command-request.hh include/music-list.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/identifier.hh include/text-def.hh \
+       include/general-script-def.hh include/parseconstruct.hh
+notename-table.o notename-table.lo: notename-table.cc \
+       include/notename-table.hh ../flower/include/pointer.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/varray.hh ../flower/include/pointer.tcc \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh
+offset.o offset.lo: offset.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh
+outputter.o outputter.lo: outputter.cc include/outputter.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/tex-stream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh \
+       include/direction.hh ../flower/include/varray.hh \
+       include/dimen.hh include/tex.hh ../flower/include/scalar.hh
+p-col.o p-col.lo: p-col.cc include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/p-score.hh \
+       include/colhpos.hh include/music-output.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+p-score.o p-score.lo: p-score.cc include/main.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/super-elem.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/lookup.hh include/atom.hh include/boxes.hh \
+       ../flower/include/scalar.hh include/direction.hh \
+       include/spanner.hh include/drul-array.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/scoreline.hh \
+       include/colhpos.hh include/p-score.hh include/music-output.hh \
+       include/tex-stream.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/header.hh include/word-wrap.hh \
+       include/break.hh include/gourlay-breaking.hh \
+       include/outputter.hh
+paper-def.o paper-def.lo: paper-def.cc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/misc.hh include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/scalar.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/dimen.hh \
+       ../flower/include/assoc-iter.hh include/score-grav.hh \
+       include/engraver-group.hh ../flower/include/parray.hh \
+       include/score-elem-info.hh include/engraver.hh \
+       include/request.hh ../lib/include/input.hh include/music.hh \
+       include/staff-info.hh include/translator.hh \
+       include/translator-group.hh include/global-translator.hh \
+       ../flower/include/pqueue.hh include/p-score.hh \
+       include/colhpos.hh include/music-output.hh include/main.hh
+parser.o parser.lo: parser.cc ../flower/include/scalar.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/translation-property.hh include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh include/minterval.hh \
+       ../flower/include/interval.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/lily-proto.hh \
+       include/script-def.hh include/general-script-def.hh \
+       include/direction.hh include/symtable.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/varray.hh include/atom.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/lookup.hh \
+       include/misc.hh include/grouping.hh include/my-lily-lexer.hh \
+       ../lib/include/includable-lexer.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/midi-def.hh include/main.hh \
+       include/keyword.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/parseconstruct.hh include/dimen.hh \
+       include/identifier.hh include/command-request.hh \
+       include/request.hh include/musical-request.hh \
+       include/my-lily-parser.hh include/text-def.hh \
+       include/translator-group.hh include/translator.hh \
+       ../flower/include/parray.hh include/score.hh \
+       include/music-list.hh include/header.hh \
+       ../lib/include/duration-convert.hh include/change-translator.hh
+performance.o performance.lo: performance.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh ../flower/include/string-convert.hh \
+       include/main.hh include/midi-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/midi-item.hh include/midi-stream.hh \
+       include/audio-column.hh include/audio-staff.hh \
+       include/audio-element.hh include/performance.hh \
+       include/music-output.hh include/score.hh \
+       ../lib/include/input.hh ../flower/include/parray.hh
+performer-group-performer.o performer-group-performer.lo: \
+       performer-group-performer.cc \
+       include/performer-group-performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/performer.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+performer.o performer.lo: performer.cc \
+       include/performer-group-performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/performer.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+pitch-squash-grav.o pitch-squash-grav.lo: pitch-squash-grav.cc \
+       include/pitch-squash-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh
+plet-engraver.o plet-engraver.lo: plet-engraver.cc \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/musical-request.hh \
+       include/lily-proto.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/plet-engraver.hh include/engraver.hh \
+       ../flower/include/varray.hh include/score-elem-info.hh \
+       ../flower/include/scalar.hh include/staff-info.hh \
+       include/translator.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/parray.hh \
+       include/drul-array.hh include/plet-spanner.hh include/bow.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/text-def.hh include/general-script-def.hh \
+       include/beam.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/score-column.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/stem.hh \
+       include/molecule.hh
+plet-spanner.o plet-spanner.lo: plet-spanner.cc include/atom.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/lookup.hh ../flower/include/scalar.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/drul-array.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/plet-spanner.hh \
+       include/bow.hh include/directional-spanner.hh \
+       include/spanner.hh include/stem.hh include/text-def.hh \
+       include/general-script-def.hh ../lib/include/input.hh
+plet-swallow-engraver.o plet-swallow-engraver.lo: \
+       plet-swallow-engraver.cc include/musical-request.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/plet-swallow-engraver.hh include/swallow-grav.hh \
+       include/engraver.hh ../flower/include/varray.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh
+priority-halign-grav.o priority-halign-grav.lo: priority-halign-grav.cc \
+       include/bar.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/break-align-item.hh \
+       include/horizontal-align-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh \
+       include/priority-halign-grav.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/score-priority-grav.hh
+property-iterator.o property-iterator.lo: property-iterator.cc \
+       include/property-iterator.hh include/music-iterator.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/varray.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/virtual-methods.hh \
+       include/translation-property.hh include/music.hh \
+       ../lib/include/input.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/scalar.hh \
+       include/translator-group.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh
+ps-plet.o ps-plet.lo: ps-plet.cc include/main.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/misc.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/dimen.hh include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/paper-def.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/string-convert.hh
+qlp.o qlp.lo: qlp.cc include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/qlp.hh \
+       include/ineq-constrained-qp.hh ../flower/include/matrix.hh \
+       ../flower/include/matrix-storage.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/vector.hh
+qlpsolve.o qlpsolve.lo: qlpsolve.cc include/ineq-constrained-qp.hh \
+       ../flower/include/matrix.hh ../flower/include/matrix-storage.hh \
+       ../flower/include/varray.hh ../flower/include/real.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/vector.hh include/qlpsolve.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh ../flower/include/choleski.hh
+request-iterator.o request-iterator.lo: request-iterator.cc \
+       include/translator-group.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/request-iterator.hh \
+       include/music-iterator.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-list.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/request.hh \
+       include/direction.hh
+request.o request.lo: request.cc include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/lily-proto.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+rest-collision-grav.o rest-collision-grav.lo: rest-collision-grav.cc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/rest-collision.hh \
+       include/item.hh include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/direction.hh include/rest-collision-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/collision.hh include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/note-column.hh include/script-column.hh
+rest-collision.o rest-collision.lo: rest-collision.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/rest-collision.hh \
+       include/item.hh include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/direction.hh include/note-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/stem.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/note-head.hh include/rhythmic-head.hh \
+       include/collision.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh
+rest-grav.o rest-grav.lo: rest-grav.cc include/rest-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/musical-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/dots.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/rest.hh include/rhythmic-head.hh
+rest.o rest.lo: rest.cc include/molecule.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/direction.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/varray.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh \
+       include/rest.hh include/rhythmic-head.hh include/item.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/dots.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/p-score.hh \
+       include/colhpos.hh include/music-output.hh
+rhythmic-column-grav.o rhythmic-column-grav.lo: rhythmic-column-grav.cc \
+       include/rhythmic-column-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/stem.hh include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/note-column.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/script.hh include/staff-side.hh include/dot-column.hh \
+       include/horizontal-group-item.hh
+rhythmic-head.o rhythmic-head.lo: rhythmic-head.cc \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/lookup.hh include/atom.hh \
+       ../flower/include/scalar.hh include/rest.hh include/dots.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/p-score.hh \
+       include/colhpos.hh include/music-output.hh
+score-bar.o score-bar.lo: score-bar.cc include/score-bar.hh \
+       include/bar.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh
+score-column.o score-column.lo: score-column.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/score-column.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh
+score-elem-info.o score-elem-info.lo: score-elem-info.cc \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh
+score-elem.o score-elem.lo: score-elem.cc include/outputter.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/p-score.hh include/colhpos.hh \
+       ../flower/include/varray.hh ../flower/include/parray.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/music-output.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/interval.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/atom.hh include/boxes.hh \
+       include/offset.hh include/axes.hh ../flower/include/scalar.hh \
+       include/direction.hh include/molecule.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/tex.hh include/dimen.hh include/spanner.hh \
+       include/drul-array.hh include/scoreline.hh include/item.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh
+score-grav.o score-grav.lo: score-grav.cc include/super-elem.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/scoreline.hh \
+       include/colhpos.hh include/spanner.hh include/drul-array.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/item.hh include/boxes.hh include/score-grav.hh \
+       include/engraver-group.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/score-elem-info.hh \
+       ../flower/include/scalar.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh include/staff-info.hh \
+       include/translator.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/translator-group.hh \
+       include/global-translator.hh ../flower/include/pqueue.hh \
+       include/p-score.hh include/music-output.hh \
+       include/musical-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/score-column.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/command-request.hh include/paper-def.hh \
+       include/music-output-def.hh
+score-performer.o score-performer.lo: score-performer.cc \
+       include/score-performer.hh include/performer-group-performer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/performer.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/global-translator.hh \
+       ../flower/include/pqueue.hh include/midi-def.hh \
+       include/music-output-def.hh include/audio-column.hh \
+       include/audio-item.hh include/audio-element.hh \
+       include/performance.hh include/music-output.hh \
+       include/midi-stream.hh ../flower/include/string-convert.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/score.hh \
+       ../lib/include/source-file.hh ../lib/include/source.hh \
+       include/audio-staff.hh
+score-priority-grav.o score-priority-grav.lo: score-priority-grav.cc \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/score-priority-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/assoc-iter.hh include/break-align-item.hh \
+       include/horizontal-align-item.hh
+score.o score.lo: score.cc include/score.hh ../flower/include/varray.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/input.hh \
+       ../flower/include/parray.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/music-output.hh ../lib/include/source.hh \
+       ../lib/include/source-file.hh include/music-iterator.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/global-translator.hh \
+       include/translator-group.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/pqueue.hh \
+       include/header.hh ../flower/include/cpu-timer.hh \
+       include/main.hh include/paper-def.hh
+scoreline.o scoreline.lo: scoreline.cc include/scoreline.hh \
+       include/colhpos.hh ../flower/include/varray.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/spanner.hh include/score-elem.hh \
+       ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/dimen.hh include/atom.hh \
+       include/boxes.hh include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/p-score.hh include/music-output.hh
+scores.o scores.lo: scores.cc include/main.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score.hh \
+       ../flower/include/varray.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/input.hh \
+       ../flower/include/parray.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/interval.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/header.hh include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+script-column.o script-column.lo: script-column.cc \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh \
+       include/axis-group-administration.hh include/item.hh \
+       include/boxes.hh include/drul-array.hh include/direction.hh \
+       include/elem-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/script.hh include/staff-side.hh include/note-head.hh \
+       include/rhythmic-head.hh include/stem.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc
+script-def.o script-def.lo: script-def.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/script-def.hh \
+       include/general-script-def.hh ../lib/include/input.hh \
+       ../flower/include/virtual-methods.hh include/direction.hh \
+       include/atom.hh include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/varray.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh ../flower/include/scalar.hh
+script-grav.o script-grav.lo: script-grav.cc include/script-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/script.hh \
+       include/staff-side.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/musical-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/stem.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/staff-sym.hh include/spanner.hh \
+       include/general-script-def.hh
+script.o script.lo: script.cc include/script-def.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/general-script-def.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../lib/include/input.hh \
+       ../flower/include/virtual-methods.hh include/direction.hh \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/paper-def.hh \
+       ../flower/include/varray.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/script.hh include/staff-side.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/stem.hh include/molecule.hh include/lookup.hh \
+       include/atom.hh ../flower/include/scalar.hh
+slur-grav.o slur-grav.lo: slur-grav.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/musical-request.hh \
+       include/lily-proto.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/slur-grav.hh include/engraver.hh \
+       ../flower/include/varray.hh include/score-elem-info.hh \
+       ../flower/include/scalar.hh include/staff-info.hh \
+       include/translator.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/parray.hh \
+       include/slur.hh include/directional-spanner.hh \
+       include/spanner.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/drul-array.hh include/bow.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/note-column.hh include/item.hh include/boxes.hh \
+       include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh
+slur.o slur.lo: slur.cc include/slur.hh include/directional-spanner.hh \
+       include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/bow.hh ../flower/include/scalar.hh \
+       include/lookup.hh include/atom.hh include/boxes.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/note-column.hh include/item.hh include/script-column.hh \
+       include/horizontal-vertical-group-item.hh \
+       include/axis-group-item.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/stem.hh include/molecule.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+span-bar-grav.o span-bar-grav.lo: span-bar-grav.cc include/span-bar.hh \
+       include/bar.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/span-bar-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/vertical-align-spanner.hh include/spanner.hh \
+       include/vertical-align-elem.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh
+span-bar.o span-bar.lo: span-bar.cc include/dimen.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/span-bar.hh include/bar.hh include/item.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/lookup.hh include/atom.hh \
+       ../flower/include/scalar.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/molecule.hh \
+       include/vertical-align-elem.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh
+span-score-bar-grav.o span-score-bar-grav.lo: span-score-bar-grav.cc \
+       include/span-score-bar.hh include/span-bar.hh include/bar.hh \
+       include/item.hh include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/score-bar.hh \
+       include/span-score-bar-grav.hh include/span-bar-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh
+span-score-bar.o span-score-bar.lo: span-score-bar.cc \
+       include/span-score-bar.hh include/span-bar.hh include/bar.hh \
+       include/item.hh include/boxes.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/interval.hh \
+       ../flower/include/compare.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh include/score-bar.hh include/atom.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh ../flower/include/scalar.hh
+spanner.o spanner.lo: spanner.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/spanner.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/p-score.hh \
+       include/colhpos.hh include/music-output.hh include/outputter.hh
+spring-spacer.o spring-spacer.lo: spring-spacer.cc \
+       include/spring-spacer.hh include/line-spacer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh ../flower/include/vector.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/col-info.hh ../flower/include/pointer.hh \
+       include/colhpos.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/qlp.hh include/ineq-constrained-qp.hh \
+       ../flower/include/matrix.hh ../flower/include/matrix-storage.hh \
+       ../flower/include/unionfind.hh include/idealspacing.hh \
+       ../flower/include/pointer.tcc include/score-column.hh \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/dimen.hh include/main.hh
+staff-info.o staff-info.lo: staff-info.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/staff-info.hh \
+       include/lily-proto.hh include/score-column.hh \
+       ../flower/include/varray.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh
+staff-performer.o staff-performer.lo: staff-performer.cc \
+       include/staff-performer.hh include/performer-group-performer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/performer.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/audio-column.hh include/audio-item.hh \
+       include/audio-element.hh include/audio-staff.hh
+staff-side.o staff-side.lo: staff-side.cc ../flower/include/interval.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/compare.hh include/paper-def.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/varray.hh include/music-output-def.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/dimen.hh \
+       include/staff-side.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/staff-sym.hh include/spanner.hh \
+       include/drul-array.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+staff-sym-grav.o staff-sym-grav.lo: staff-sym-grav.cc \
+       include/staff-sym-grav.hh include/engraver.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh include/request.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/staff-sym.hh \
+       include/spanner.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/drul-array.hh include/score.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh
+staff-sym.o staff-sym.lo: staff-sym.cc include/staff-sym.hh \
+       include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh ../flower/include/scalar.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/molecule.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/dimen.hh
+stem-grav.o stem-grav.lo: stem-grav.cc include/stem-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/score-elem.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/stem.hh include/molecule.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/musical-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       ../lib/include/duration-convert.hh include/misc.hh \
+       include/grouping.hh include/abbrev.hh
+stem-info.o stem-info.lo: stem-info.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/dimen.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/misc.hh include/lily-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/scalar.hh \
+       include/grouping.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/varray.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/atom.hh include/boxes.hh \
+       include/offset.hh include/axes.hh include/stem.hh \
+       include/item.hh include/score-elem.hh \
+       ../flower/include/parray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/paper-def.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/lookup.hh include/stem-info.hh
+stem.o stem.lo: stem.cc include/stem.hh include/item.hh include/boxes.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       include/offset.hh include/axes.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/drul-array.hh \
+       include/direction.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/dimen.hh include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/paper-def.hh \
+       include/music-output-def.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/note-head.hh \
+       include/rhythmic-head.hh include/lookup.hh include/atom.hh \
+       ../flower/include/scalar.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/misc.hh include/grouping.hh include/minterval.hh \
+       include/beam.hh include/directional-spanner.hh \
+       include/spanner.hh include/rest.hh
+super-elem.o super-elem.lo: super-elem.cc include/super-elem.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/scoreline.hh \
+       include/colhpos.hh include/spanner.hh include/drul-array.hh \
+       include/direction.hh include/p-score.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/music-output.hh include/outputter.hh
+swallow-grav.o swallow-grav.lo: swallow-grav.cc include/swallow-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh
+swallow-perf.o swallow-perf.lo: swallow-perf.cc include/swallow-perf.hh \
+       include/performer.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh
+symtable.o symtable.lo: symtable.cc include/misc.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/dimen.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/atom.hh include/boxes.hh include/offset.hh \
+       include/axes.hh ../flower/include/assoc.hh \
+       ../flower/include/assoc-iter.hh include/symtable.hh \
+       ../flower/include/dictionary.hh
+template1.o template1.lo: template1.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/idealspacing.hh include/lily-proto.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/musical-request.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/spanner.hh ../flower/include/pcursor.tcc \
+       ../flower/include/plist.tcc
+template2.o template2.lo: template2.cc include/line-spacer.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/varray.hh ../flower/include/vector.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../flower/include/plist.tcc ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/pcursor.tcc
+template3.o template3.lo: template3.cc include/atom.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/direction.hh ../flower/include/plist.tcc \
+       ../flower/include/pcursor.tcc
+template4.o template4.lo: template4.cc
+template5.o template5.lo: template5.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/interval.tcc ../flower/include/interval.hh \
+       ../flower/include/flower-debug.hh ../flower/include/dstream.hh
+template6.o template6.lo: template6.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.tcc ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/translator.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/lily-proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh
+template7.o template7.lo: template7.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/plist.tcc \
+       ../flower/include/pcursor.tcc include/music-list.hh \
+       include/music.hh ../flower/include/virtual-methods.hh \
+       ../lib/include/input.hh include/minterval.hh \
+       ../flower/include/interval.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/music-iterator.hh \
+       ../flower/include/varray.hh
+template8.o template8.lo: template8.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/audio-column.hh \
+       include/lily-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/audio-item.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/audio-element.hh \
+       ../flower/include/virtual-methods.hh include/audio-staff.hh \
+       include/midi-item.hh ../flower/include/pcursor.tcc \
+       ../flower/include/plist.tcc
+tex-beam.o tex-beam.lo: tex-beam.cc include/atom.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh include/lily-proto.hh \
+       ../lib/include/proto.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/direction.hh include/tex.hh ../flower/include/scalar.hh \
+       include/symtable.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/dimen.hh include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/lookup.hh include/misc.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/grouping.hh include/minterval.hh include/paper-def.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/string-convert.hh include/main.hh
+tex-slur.o tex-slur.lo: tex-slur.cc include/main.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/misc.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/scalar.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       ../flower/include/varray.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh include/offset.hh include/axes.hh \
+       include/direction.hh include/molecule.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/dimen.hh include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/paper-def.hh \
+       include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/string-convert.hh
+tex-stream.o tex-stream.lo: tex-stream.cc include/tex.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh ../flower/include/scalar.hh \
+       include/main.hh include/lily-proto.hh ../lib/include/proto.hh \
+       include/tex-stream.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh
+tex.o tex.lo: tex.cc include/dimen.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/tex.hh include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh ../flower/include/scalar.hh \
+       include/atom.hh include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/varray.hh
+text-def.o text-def.lo: text-def.cc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../lib/include/warn.hh include/lookup.hh include/atom.hh \
+       include/boxes.hh ../flower/include/interval.hh \
+       include/offset.hh include/axes.hh ../flower/include/scalar.hh \
+       include/direction.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/varray.hh include/music-output-def.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/molecule.hh \
+       include/text-def.hh include/general-script-def.hh \
+       ../lib/include/input.hh include/dimen.hh
+text-item.o text-item.lo: text-item.cc include/musical-request.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/paper-def.hh ../flower/include/varray.hh \
+       include/music-output-def.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/text-item.hh \
+       include/text-def.hh include/general-script-def.hh \
+       include/item.hh include/boxes.hh include/offset.hh \
+       include/axes.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/staff-side.hh include/stem.hh include/molecule.hh \
+       include/lookup.hh include/atom.hh ../flower/include/scalar.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+text-spanner.o text-spanner.lo: text-spanner.cc include/molecule.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/boxes.hh \
+       ../flower/include/interval.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/direction.hh \
+       include/text-spanner.hh include/directional-spanner.hh \
+       include/spanner.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/drul-array.hh \
+       include/text-def.hh include/general-script-def.hh \
+       ../lib/include/input.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       include/paper-def.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-output-def.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/atom.hh
+tie-grav.o tie-grav.lo: tie-grav.cc include/tie-grav.hh \
+       include/engraver.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/varray.hh \
+       include/request.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       ../flower/include/parray.hh include/tie.hh include/bow.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/drul-array.hh include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       include/musical-request.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/music-list.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+tie.o tie.lo: tie.cc include/paper-def.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/varray.hh ../flower/include/interval.hh \
+       include/music-output-def.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/tie.hh include/bow.hh \
+       include/directional-spanner.hh include/spanner.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/drul-array.hh include/direction.hh include/note-head.hh \
+       include/rhythmic-head.hh include/item.hh include/boxes.hh \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+time-description.o time-description.lo: time-description.cc \
+       include/time-description.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/varray.hh include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/warn.hh
+timing-grav.o timing-grav.lo: timing-grav.cc include/score-grav.hh \
+       include/engraver-group.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/engraver.hh \
+       include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/translator-group.hh include/global-translator.hh \
+       ../flower/include/pqueue.hh include/timing-grav.hh \
+       include/timing-translator.hh include/time-description.hh \
+       include/grouping.hh include/command-request.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh
+timing-translator.o timing-translator.lo: timing-translator.cc \
+       include/timing-translator.hh include/translator.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/time-description.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/grouping.hh \
+       include/minterval.hh ../flower/include/interval.hh \
+       include/command-request.hh include/request.hh include/music.hh \
+       include/direction.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/translator-group.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/global-translator.hh ../flower/include/pqueue.hh
+translation-property.o translation-property.lo: translation-property.cc \
+       include/translation-property.hh include/music.hh \
+       ../flower/include/virtual-methods.hh ../lib/include/input.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/minterval.hh \
+       ../flower/include/interval.hh ../flower/include/compare.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh include/lily-proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/scalar.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+translator-ctors.o translator-ctors.lo: translator-ctors.cc \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/translator.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/lily-proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh
+translator-group.o translator-group.lo: translator-group.cc \
+       include/music-output-def.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       include/translator-group.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/parray.hh \
+       ../lib/include/input.hh include/debug.hh \
+       ../flower/include/dstream.hh ../lib/include/warn.hh \
+       ../flower/include/rational.hh
+translator.o translator.lo: translator.cc include/translator.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/translator-group.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       ../flower/include/dictionary-iter.hh \
+       ../flower/include/assoc-iter.hh ../flower/include/rational.hh
+type-swallow-trans.o type-swallow-trans.lo: type-swallow-trans.cc \
+       include/type-swallow-trans.hh include/translator.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       include/musical-request.hh include/request.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh include/direction.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh
+version.o version.lo: version.cc include/main.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+vertical-align-elem.o vertical-align-elem.lo: vertical-align-elem.cc \
+       include/vertical-align-elem.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh
+vertical-align-grav.o vertical-align-grav.lo: vertical-align-grav.cc \
+       include/p-col.hh include/horizontal-group-item.hh \
+       include/elem-group.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh \
+       ../flower/include/real.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/interval.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/vertical-align-grav.hh \
+       include/engraver.hh include/request.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/input.hh \
+       include/music.hh include/minterval.hh \
+       include/score-elem-info.hh ../flower/include/scalar.hh \
+       include/staff-info.hh include/translator.hh \
+       ../flower/include/dictionary.hh ../flower/include/assoc.hh \
+       include/vertical-align-spanner.hh include/spanner.hh \
+       include/vertical-align-elem.hh
+vertical-align-spanner.o vertical-align-spanner.lo: \
+       vertical-align-spanner.cc include/vertical-align-spanner.hh \
+       include/spanner.hh include/lily-proto.hh \
+       ../lib/include/proto.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh include/score-elem.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/vertical-align-elem.hh \
+       include/elem-group.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh
+vertical-group-spanner.o vertical-group-spanner.lo: \
+       vertical-group-spanner.cc include/vertical-group-spanner.hh \
+       include/axis-group-spanner.hh include/spanner.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/score-elem.hh ../flower/include/parray.hh \
+       ../flower/include/varray.hh \
+       ../flower/include/virtual-methods.hh \
+       ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/interval.hh include/drul-array.hh \
+       include/direction.hh include/axis-group-element.hh \
+       include/axis-group-administration.hh include/elem-group.hh \
+       include/item.hh include/boxes.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/axis-group-item.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+voice-iterator.o voice-iterator.lo: voice-iterator.cc \
+       include/translator-group.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       ../flower/include/virtual-methods.hh include/translator.hh \
+       ../flower/include/scalar.hh ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh ../flower/include/varray.hh \
+       ../flower/include/parray.hh ../lib/include/input.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/voice-iterator.hh \
+       include/music-iterator.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/music-list.hh \
+       include/music.hh include/minterval.hh \
+       ../flower/include/interval.hh
+warn.o warn.lo: warn.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/compare.hh ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/debug.hh \
+       ../flower/include/dstream.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh include/lily-proto.hh \
+       ../lib/include/warn.hh include/my-lily-lexer.hh \
+       ../flower/include/varray.hh ../lib/include/includable-lexer.hh \
+       ../lib/include/duration.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/plet.hh \
+       include/time-description.hh ../lib/include/source-file.hh \
+       ../lib/include/source.hh include/main.hh \
+       ../lib/include/input.hh
+word-wrap.o word-wrap.lo: word-wrap.cc include/word-wrap.hh \
+       include/break.hh ../flower/include/varray.hh \
+       ../flower/include/interval.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/compare.hh \
+       include/lily-proto.hh ../lib/include/proto.hh \
+       include/colhpos.hh include/paper-def.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/arithmetic-operator.hh \
+       include/music-output-def.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh \
+       ../flower/include/virtual-methods.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../flower/include/dictionary.hh \
+       ../flower/include/assoc.hh include/p-score.hh \
+       ../flower/include/parray.hh include/music-output.hh \
+       include/debug.hh ../flower/include/dstream.hh \
+       ../lib/include/warn.hh include/p-col.hh \
+       include/horizontal-group-item.hh include/elem-group.hh \
+       include/score-elem.hh ../flower/include/directed-graph.hh \
+       include/graphical-element.hh include/offset.hh include/axes.hh \
+       include/axis-group-element.hh \
+       include/axis-group-administration.hh include/axis-group-item.hh \
+       include/item.hh include/boxes.hh include/drul-array.hh \
+       include/direction.hh include/spring-spacer.hh \
+       include/line-spacer.hh ../flower/include/vector.hh \
+       include/col-info.hh ../flower/include/pointer.hh
+
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-am: Makefile $(PROGRAMS) $(HEADERS)
+
+install-exec-am: install-binPROGRAMS
+
+uninstall-am: uninstall-binPROGRAMS
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive install-exec-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(bindir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
+               mostlyclean-tags mostlyclean-generic
+
+clean-am:  clean-binPROGRAMS clean-compile clean-tags clean-generic \
+               mostlyclean-am
+
+distclean-am:  distclean-binPROGRAMS distclean-compile distclean-tags \
+               distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-binPROGRAMS \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-generic distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default mostlyclean-binPROGRAMS distclean-binPROGRAMS \
+clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
+install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-am install-exec-am uninstall-am install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# force these: Make can't know these have to be generated in advance
+my-lily-lexer.cc: parser.hh
+lexer.cc: parser.hh
+
+# ugh, autoconf assumes to get $(LEX_OUTPUT_ROOT).c ...
+.ll.cc:
+       @echo "must override autoconf; ignore warning"
+       $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).cc $@
+#.yy.hh:
+parser.hh: parser.yy
+       $(BISON) -d $<
+       mv $<.tab.h $@
+       mv $<.tab.c $(shell basename $@ .hh).cc
+# .ll.cc:
+# ugh, stupid automake 
+# now set output root by hand...
+#      touch lex.yy.cc
+
+# .yy.cc:
+#      $(BISON) $<
+#      mv $(shell basename $@ .cc ).tab.c $@
+#      $(FLEX) -Cfe -p -p -t $< > $@
+# # could be faster:
+# #    $(FLEX) -8 -Cf -t $< > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 85dfb9605461129a2c0c36b431ef64222f956df2..d90599539a1ad7003e6c5c6a520ce6aa686b0d1d 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 48
+PATCH_LEVEL = 49
 MY_PATCH_LEVEL =
index 04b623e88303be0a009a1ed696a9fa29c50c84c3..8475f79db4aa4f73f55d3c860bd8292841a782a2 100644 (file)
@@ -6,7 +6,7 @@
   (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
-
+#include "score-column.hh"
 #include "break.hh"
 #include "paper-def.hh"
 #include "line-spacer.hh"
@@ -137,7 +137,13 @@ Break_algorithm::feasible (Line_of_cols curline) const
 
   Real l =0;
   for (int i=0; i < curline.size (); i++)
-    l +=curline[i]->width ().length ();
+    {
+      if (i && i < curline.size () -1
+         && ((Score_column*)curline[i])->forced_break_b ())
+       return false;
+      
+      l +=curline[i]->width ().length ();
+    }
   return l < linelength;
 }
 
index 661a7fed9f4cf96bbf95f5ccf93a25ee9e8cf3ca..a0b6227cec96500d483096e53f999390ae646970 100644 (file)
@@ -252,7 +252,15 @@ Key_change_req::Key_change_req()
   multi_octave_b_= false;
 }
 
+void
+Break_force_req::do_print () const
+{
+}
+
+IMPLEMENT_IS_TYPE_B1(Break_force_req, Command_req);
+
 Key_change_req::Key_change_req (Key_change_req const&c)
+  : Command_req (c)
 {
   for (int i=0; i < c.melodic_p_arr_.size(); i++)
     melodic_p_arr_.push (c.melodic_p_arr_[i]->clone()->musical ()->melodic ());
diff --git a/lily/include/Makefile b/lily/include/Makefile
deleted file mode 100644 (file)
index da392fe..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# lily/include/Makefile
-
-# subdir level:
-#
-depth = ../..
-#
-
-# identify module:
-#
-MODULE_NAME = lilypond
-include ./$(depth)/make/Include.make
-
diff --git a/lily/include/Makefile.am b/lily/include/Makefile.am
new file mode 100644 (file)
index 0000000..5e556de
--- /dev/null
@@ -0,0 +1,8 @@
+# Automatically generated from ./lilypond-0.1.49/lily/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lily/include/Makefile.am.wild
+
+noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-item.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/lily/include/Makefile.am.wild b/lily/include/Makefile.am.wild
new file mode 100644 (file)
index 0000000..3540ce1
--- /dev/null
@@ -0,0 +1,6 @@
+# lily/include/Makefile.am.wild
+
+noinst_HEADERS = $(wildcard *.hh *.icc *.tcc)
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/lily/include/Makefile.in b/lily/include/Makefile.in
new file mode 100644 (file)
index 0000000..9409ae7
--- /dev/null
@@ -0,0 +1,202 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./lily/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lily/include/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+noinst_HEADERS = abbrev.hh abbreviation-beam-engraver.hh abbreviation-beam.hh atom.hh audio-column.hh audio-element.hh audio-item.hh audio-staff.hh axes.hh axis-group-administration.hh axis-group-element.hh axis-group-item.hh axis-group-spanner.hh bar-align-grav.hh bar-column-grav.hh bar-column.hh bar-grav.hh bar-number-grav.hh bar.hh beam-grav.hh beam-swallow-trans.hh beam.hh bow.hh boxes.hh break-align-item.hh break-caching.hh break.hh change-iterator.hh change-translator.hh chord-iterator.hh clef-grav.hh clef-item.hh col-info.hh colhpos.hh collision-grav.hh collision.hh command-request.hh const.hh crescendo.hh debug.hh dimen.hh direction.hh directional-spanner.hh dot-column-grav.hh dot-column.hh dots.hh drul-array.hh dynamic-grav.hh elem-group.hh engraver-group.hh engraver.hh general-script-def.hh glob.hh global-translator.hh gourlay-breaking.hh graphical-element.hh grouping.hh head-column.hh head-grav.hh header.hh horizontal-align-item.hh horizontal-group-item.hh horizontal-vertical-group-item.hh idealspacing.hh identifier.hh ineq-constrained-qp.hh item.hh key-grav.hh key-item.hh key-performer.hh key.hh keyword.hh leastsquares.hh lily-proto.hh line-group-grav.hh line-spacer.hh linespace.hh local-key-grav.hh local-key-item.hh lookup.hh lyric-engraver.hh lyric-performer.hh main.hh meter-grav.hh meter-performer.hh meter.hh midi-def.hh midi-item.hh midi-stream.hh midi-walker.hh minterval.hh misc.hh molecule.hh music-iterator.hh music-list.hh music-output-def.hh music-output.hh music.hh musical-request.hh my-lily-lexer.hh my-lily-parser.hh note-column.hh note-head.hh note-performer.hh notename-table.hh notename.hh offset.hh outputter.hh p-col.hh p-score.hh paper-def.hh parseconstruct.hh performance.hh performer-group-performer.hh performer.hh pitch-squash-grav.hh plet-engraver.hh plet-spanner.hh plet-swallow-engraver.hh priority-halign-grav.hh property-iterator.hh qlp.hh qlpsolve.hh request-iterator.hh request.hh rest-collision-grav.hh rest-collision.hh rest-column-grav.hh rest-column.hh rest-grav.hh rest.hh rhythmic-column-grav.hh rhythmic-head.hh score-bar.hh score-column.hh score-elem-info.hh score-elem.hh score-grav.hh score-performer.hh score-priority-grav.hh score.hh scoreline.hh script-column.hh script-def.hh script-grav.hh script.hh slur-grav.hh slur.hh span-bar-grav.hh span-bar.hh span-score-bar-grav.hh span-score-bar.hh spanner.hh spring-spacer.hh staff-info.hh staff-performer.hh staff-side.hh staff-sym-grav.hh staff-sym.hh stem-grav.hh stem-info.hh stem.hh super-elem.hh swallow-grav.hh swallow-perf.hh symtable.hh tex-stream.hh tex.hh text-def.hh text-item.hh text-spanner.hh tie-grav.hh tie.hh time-description.hh timing-grav.hh timing-translator.hh todo-performer.hh translation-property.hh translator-change.hh translator-group.hh translator.hh type-swallow-trans.hh vertical-align-elem.hh vertical-align-grav.hh vertical-align-spanner.hh vertical-group-spanner.hh voice-iterator.hh word-wrap.hh dummy.icc minmax.tcc
+
+EXTRA_DIST = Makefile.am.wild
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../lib/config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lily/include/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = lily/include
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 1988dc9adda23f1e00f7dc3e895b935cbbf5ebb7..11491edc4163c9fa705cc74991586b2eda8b012f 100644 (file)
   musical requests. */
 class Command_req  : public virtual Request  {
 public:
-    REQUESTMETHODS(Command_req, command);
-    virtual Measure_grouping_req * measuregrouping() { return 0; }
-    virtual Clef_change_req * clefchange() { return 0; }
-    virtual Key_change_req * keychange() { return 0; }
-    virtual Partial_measure_req * partial() { return 0; }
-    virtual Meter_change_req * meterchange() { return 0; }
-    virtual Bar_req *bar() { return 0; }
-    virtual Cadenza_req *cadenza() { return 0; }
-    virtual Disallow_break_req *disallowbreak() { return 0; }
-    virtual Timing_req*timing() {  return 0; }
-    virtual Command_script_req*commandscript() { return 0;}
+  REQUESTMETHODS(Command_req, command);
+  virtual Measure_grouping_req * measuregrouping() { return 0; }
+  virtual Clef_change_req * clefchange() { return 0; }
+  virtual Key_change_req * keychange() { return 0; }
+  virtual Partial_measure_req * partial() { return 0; }
+  virtual Meter_change_req * meterchange() { return 0; }
+  virtual Bar_req *bar() { return 0; }
+  virtual Cadenza_req *cadenza() { return 0; }
+  virtual Disallow_break_req *disallowbreak() { return 0; }
+  virtual Timing_req*timing() {  return 0; }
+  virtual Command_script_req*commandscript() { return 0;}
+  virtual Break_force_req *forcebreak () { return 0; }
 };
 
 
+class Break_force_req : public Command_req {
+public:
+  REQUESTMETHODS(Break_force_req, forcebreak);
+};
+
 class Command_script_req : public Command_req,  public Script_req {
 public:
-    // huh? 
-    Command_script_req();
-    ~Command_script_req();
-    REQUESTMETHODS(Command_script_req, commandscript);
+  // huh? 
+  Command_script_req();
+  ~Command_script_req();
+  REQUESTMETHODS(Command_script_req, commandscript);
 };
 
 
 class Disallow_break_req : public Command_req {
 public:
-    REQUESTMETHODS(Disallow_break_req, disallowbreak);
+  REQUESTMETHODS(Disallow_break_req, disallowbreak);
 };
 
 
@@ -51,29 +57,29 @@ public:
   Staff_{walker,column} baseclass.  */
 class Timing_req  : public Command_req  {
 public:
-    REQUESTMETHODS(Timing_req, timing);
-    virtual Tempo_req * tempo(){return 0; }
+  REQUESTMETHODS(Timing_req, timing);
+  virtual Tempo_req * tempo(){return 0; }
 };
 
 
 class Tempo_req : public Timing_req
 {
 public:
-    Duration dur_;
-    int metronome_i_;
+  Duration dur_;
+  int metronome_i_;
 
-    Tempo_req();
-    REQUESTMETHODS(Tempo_req, tempo);
-    bool do_equal_b (Request *) const;
+  Tempo_req();
+  REQUESTMETHODS(Tempo_req, tempo);
+  bool do_equal_b (Request *) const;
 };
 
 class Partial_measure_req  : public Timing_req  {
 public:
-    Moment duration_;
+  Moment duration_;
 
-    Partial_measure_req (Moment);
-    REQUESTMETHODS(Partial_measure_req, partial);
-    bool do_equal_b (Request*) const;
+  Partial_measure_req (Moment);
+  REQUESTMETHODS(Partial_measure_req, partial);
+  bool do_equal_b (Request*) const;
 };
 
 /**
@@ -81,48 +87,48 @@ public:
  */
 class Meter_change_req  : public Timing_req  {
 public:
-    int beats_i_, one_beat_i_;
+  int beats_i_, one_beat_i_;
 
-    Meter_change_req();
-    void set (int,int);
-    bool do_equal_b (Request*) const;
-    REQUESTMETHODS(Meter_change_req, meterchange);
+  Meter_change_req();
+  void set (int,int);
+  bool do_equal_b (Request*) const;
+  REQUESTMETHODS(Meter_change_req, meterchange);
 };
 
 /// toggle Cadenza mode
 class Cadenza_req  : public Timing_req  {
 public:
-    /// turn on?
-    bool on_b_;
-    bool do_equal_b (Request*) const;
-    Cadenza_req (bool);
-    REQUESTMETHODS(Cadenza_req,cadenza);
+  /// turn on?
+  bool on_b_;
+  bool do_equal_b (Request*) const;
+  Cadenza_req (bool);
+  REQUESTMETHODS(Cadenza_req,cadenza);
 };
 
 /// check if we're at start of a  measure.
 class Barcheck_req  : public Timing_req  {
 public:
-    bool do_equal_b (Request *) const;
-    REQUESTMETHODS(Barcheck_req,barcheck);
+  bool do_equal_b (Request *) const;
+  REQUESTMETHODS(Barcheck_req,barcheck);
 };
 
 class Measure_grouping_req : public Timing_req  {
 public:
-    Array<int> beat_i_arr_;
-    Array<Moment> elt_length_arr_;
-    bool do_equal_b (Request *) const;
-    REQUESTMETHODS(Measure_grouping_req, measuregrouping);
+  Array<int> beat_i_arr_;
+  Array<Moment> elt_length_arr_;
+  bool do_equal_b (Request *) const;
+  REQUESTMETHODS(Measure_grouping_req, measuregrouping);
 };
 
 /** draw a (repeat)-bar. This something different than #Barcheck_req#,
   the latter should only happen at the start of a measure.  */
 class Bar_req  : public Command_req  {
 public:
-    String type_str_;
-    Bar_req (String);
-    bool do_equal_b (Request*) const;
+  String type_str_;
+  Bar_req (String);
+  bool do_equal_b (Request*) const;
 
-    REQUESTMETHODS(Bar_req,bar);
+  REQUESTMETHODS(Bar_req,bar);
 };
 
 
@@ -133,34 +139,34 @@ public:
 */
 class Key_change_req  : public Command_req  {
 public:
-    Array<Melodic_req*> melodic_p_arr_;
-    bool minor_b_;
-
-    /// don't ignore the  octaves in #melodic_p_arr_#?
-    bool multi_octave_b_;
-    Key_change_req();
-    Key_change_req (Key_change_req const&);
-    ~Key_change_req();
-    REQUESTMETHODS(Key_change_req, keychange);
-
-    /// squash the octaves to 1
-    void squash_octaves();
-    /// return number of flats in key
-    int flats_i();
-
-    /// return number of sharps in key
-    int sharps_i();
-
-    void transpose (Melodic_req const * d) const;
-    /// is minor key?
-    int minor_b();
+  Array<Melodic_req*> melodic_p_arr_;
+  bool minor_b_;
+
+  /// don't ignore the  octaves in #melodic_p_arr_#?
+  bool multi_octave_b_;
+  Key_change_req();
+  Key_change_req (Key_change_req const&);
+  ~Key_change_req();
+  REQUESTMETHODS(Key_change_req, keychange);
+
+  /// squash the octaves to 1
+  void squash_octaves();
+  /// return number of flats in key
+  int flats_i();
+
+  /// return number of sharps in key
+  int sharps_i();
+
+  void transpose (Melodic_req const * d) const;
+  /// is minor key?
+  int minor_b();
 };
 
 class Clef_change_req  : public Command_req  {
 public:
-    String clef_str_;
-    Clef_change_req (String);
-    REQUESTMETHODS(Clef_change_req, clefchange);
+  String clef_str_;
+  Clef_change_req (String);
+  REQUESTMETHODS(Clef_change_req, clefchange);
 };
 
 #endif // COMMANDREQUEST_HH
diff --git a/lily/include/dummy.icc b/lily/include/dummy.icc
new file mode 100644 (file)
index 0000000..e69de29
index 1d39aad2430580677d2001f4ffb21d346169490d..8f11061320f2ec7349100c1ca8bab29c45935b6e 100644 (file)
@@ -74,6 +74,7 @@ struct Dynamic;
 struct Dynamic_req;
 struct Element_group;
 struct Element_group_item;
+struct Break_force_req;
 struct General_script_def;
 struct Graphical_element;
 struct Music_output;
diff --git a/lily/include/out/dummy.dep b/lily/include/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 699c84a280786d30413c5732f01a4e3f307dd357..624c49ef31c0f77a29cb7dcb48efef9c4d58ccdc 100644 (file)
   */
 
 class Score_column : public Paper_column {
-    friend class Score;
-    friend class Score_engraver;
+  friend class Score;
+  friend class Score_engraver;
 
-    bool musical_b_;
-    Moment when_;
+  bool musical_b_;
+  bool forced_break_b_;
+  Moment when_;
 public:
+  bool forced_break_b () { return forced_break_b_ ; }
   DECLARE_MY_RUNTIME_TYPEINFO;
   SCORE_ELEM_CLONE(Score_column);
-    /// length of notes/rests in this column
-    Array<Moment> durations;
+  /// length of notes/rests in this column
+  Array<Moment> durations;
     
-    /* *************** */
-
-    Moment when() {  return when_; }
-    Score_column (Moment when);       
-    void add_duration (Moment);
-    void preprocess();
-    bool musical_b() { return musical_b_; }
-    void do_print() const;
+  /* *************** */
+
+  Moment when() {  return when_; }
+  Score_column (Moment when);       
+  void add_duration (Moment);
+  void preprocess();
+  bool musical_b() { return musical_b_; }
+  void do_print() const;
 
 
 };
diff --git a/lily/lexer.cc b/lily/lexer.cc
new file mode 100644 (file)
index 0000000..f43cd51
--- /dev/null
@@ -0,0 +1,2096 @@
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+class istream;
+#include <unistd.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else  /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator).  This
+ * avoids problems with code like:
+ *
+ *     if ( condition_holds )
+ *             yyless( 5 );
+ *     else
+ *             do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+       do \
+               { \
+               /* Undo effects of setting up yytext. */ \
+               *yy_cp = yy_hold_char; \
+               YY_RESTORE_YY_MORE_OFFSET \
+               yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+               } \
+       while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+       {
+       istream* yy_input_file;
+
+       char *yy_ch_buf;                /* input buffer */
+       char *yy_buf_pos;               /* current position in input buffer */
+
+       /* Size of input buffer in bytes, not including room for EOB
+        * characters.
+        */
+       yy_size_t yy_buf_size;
+
+       /* Number of characters read into yy_ch_buf, not including EOB
+        * characters.
+        */
+       int yy_n_chars;
+
+       /* Whether we "own" the buffer - i.e., we know we created it,
+        * and can realloc() it to grow it, and should free() it to
+        * delete it.
+        */
+       int yy_is_our_buffer;
+
+       /* Whether this is an "interactive" input source; if so, and
+        * if we're using stdio for input, then we want to use getc()
+        * instead of fread(), to make sure we stop fetching input after
+        * each newline.
+        */
+       int yy_is_interactive;
+
+       /* Whether we're considered to be at the beginning of a line.
+        * If so, '^' rules will be active on the next match, otherwise
+        * not.
+        */
+       int yy_at_bol;
+
+       /* Whether to try to fill the input buffer when we reach the
+        * end of it.
+        */
+       int yy_fill_buffer;
+
+       int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+       /* When an EOF's been seen but there's still some text to process
+        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+        * shouldn't try reading from the input source any more.  We might
+        * still have a bunch of tokens to match, though, because of
+        * possible backing-up.
+        *
+        * When we actually see the EOF, we change the status to "new"
+        * (via yyrestart()), so that the user can continue scanning by
+        * just pointing yyin at a new input file.
+        */
+#define YY_BUFFER_EOF_PENDING 2
+       };
+
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+       { \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_is_interactive = is_interactive; \
+       }
+
+#define yy_set_bol(at_bol) \
+       { \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_at_bol = at_bol; \
+       }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+
+#define FLEX_DEBUG
+typedef unsigned char YY_CHAR;
+#define yytext_ptr yytext
+#define YY_INTERACTIVE
+
+#define FLEX_DEBUG
+
+#include <FlexLexer.h>
+int yyFlexLexer::yylex()
+       {
+       LexerError( "yyFlexLexer::yylex invoked but %option yyclass used" );
+       return 0;
+       }
+
+#define YY_DECL int My_lily_lexer::yylex()
+
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+       yytext_ptr = yy_bp; \
+       yyleng = (int) (yy_cp - yy_bp); \
+       yy_hold_char = *yy_cp; \
+       *yy_cp = '\0'; \
+       yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 47
+#define YY_END_OF_BUFFER 48
+static yyconst short int yy_accept[124] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        8,    8,   48,   44,    7,    7,    1,   26,   18,   44,
+       41,   44,   44,   39,   36,   44,   40,   46,    7,    1,
+       13,   46,   34,   35,    7,    1,   31,   18,   35,   32,
+       34,   35,   25,   20,   23,   21,   44,   14,   28,   28,
+        1,   29,   30,    8,    8,    1,    9,    8,    7,   18,
+       16,    4,    5,    2,    0,    0,   38,   38,   39,   36,
+       45,   17,   37,   37,   13,   12,   34,   32,   34,   33,
+       42,   43,   33,   20,   24,   19,   21,   22,   22,   28,
+       27,    8,    8,    9,    9,   10,    6,    3,   38,   17,
+
+       15,   37,   37,   33,   33,   22,   22,   37,   33,   22,
+       37,   33,   22,   37,   33,   22,   37,   33,   22,   11,
+       11,   11,    0
+    } ;
+
+static yyconst int yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    2,    2,    3,    4,
+        2,    3,    5,    2,    2,    2,    1,    1,    1,    1,
+        1,    1,    1,    2,    1,    2,    2,    2,    2,    1,
+        2,    3,    6,    7,    2,    8,    9,    2,   10,    2,
+        2,   11,    2,    2,   12,   13,    2,   14,   14,   14,
+       14,   14,   14,   14,   14,   14,   14,   15,    2,    2,
+       11,    2,    6,    2,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
+       17,   18,   19,   20,   21,   20,   16,   16,   22,   23,
+
+       24,   16,   16,   16,   25,   16,   16,   26,   16,   27,
+       16,   16,   16,   28,   28,   29,   30,   16,   16,   16,
+       16,   16,   31,    2,   32,    2,    2,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static yyconst int yy_meta[33] =
+    {   0,
+        1,    1,    2,    3,    1,    1,    4,    1,    5,    6,
+        1,    1,    1,    7,    1,    8,    1,    4,    1,    1,
+        9,    8,    8,    8,    8,    8,   10,    8,   10,    8,
+        1,    1
+    } ;
+
+static yyconst short int yy_base[144] =
+    {   0,
+        0,    0,   30,   37,   46,    0,   78,    0,  107,  111,
+      115,  117,  409,  410,  124,  127,  410,  410,  129,  109,
+      410,  121,  394,  123,    0,  142,  410,  410,  135,  410,
+      400,  113,    0,  410,  138,  410,  410,  142,  144,  392,
+        0,  175,  410,  395,  390,  393,  200,  392,    0,    0,
+        0,  410,    0,  369,  368,  366,  142,    0,  149,  151,
+      410,  391,  410,  410,  350,  143,  330,  324,  146,    0,
+      410,  158,    0,  310,  329,  410,    0,  320,    0,    0,
+      410,  410,  299,  311,  305,  410,  304,    0,  283,    0,
+      410,  277,    0,  200,  201,  410,  286,  410,  217,  208,
+
+      410,    0,  199,    0,  198,    0,  196,  189,  188,  187,
+      149,  143,  133,  120,  100,   22,   19,   14,   12,    0,
+        0,    0,  410,  233,  243,  253,  263,  273,  277,  287,
+      297,  307,  312,  322,  329,  339,  349,  359,  369,  379,
+      383,  386,  389
+    } ;
+
+static yyconst short int yy_def[144] =
+    {   0,
+      123,    1,  124,  124,  123,    5,  123,    7,  125,  125,
+      126,  126,  123,  123,  123,  123,  123,  123,  127,  128,
+      123,  123,  123,  123,  129,  130,  123,  123,  123,  123,
+      131,  128,  132,  123,  123,  123,  123,  127,  128,  123,
+      132,  123,  123,  123,  123,  133,  130,  133,  134,  134,
+      134,  123,  135,  136,  136,  136,  137,  138,  123,  127,
+      123,  139,  123,  123,  123,  123,  123,  123,  123,  129,
+      123,  140,  141,  141,  131,  123,  132,  123,  132,  142,
+      123,  123,  142,  123,  123,  123,  133,  143,  143,  134,
+      123,  136,  138,  137,  137,  123,  139,  123,  123,  140,
+
+      123,  141,  141,  142,  142,  143,  143,  141,  142,  143,
+      141,  142,  143,  141,  142,  143,  141,  142,  143,  141,
+      142,  143,    0,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123
+    } ;
+
+static yyconst short int yy_nxt[443] =
+    {   0,
+       14,   14,   15,   16,   17,   14,   18,   19,   20,   14,
+       21,   22,   23,   24,   21,   25,   14,   26,   14,   14,
+       14,   25,   25,   25,   25,   25,   25,   25,   25,   25,
+       27,   27,   29,   16,   30,  122,   31,  121,   32,   29,
+       16,   30,  120,   31,  119,   32,   33,   34,   35,   16,
+       36,   33,   37,   38,   39,   33,   34,   33,   34,   40,
+       33,   41,   34,   42,   34,   34,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   34,   34,   14,   14,
+       15,   16,   17,   14,   43,   19,   20,   44,   14,   14,
+       14,   45,   14,   46,   14,   47,   14,   14,   14,   46,
+
+       46,   46,   46,   46,   46,   48,   46,   46,   14,   14,
+       50,   51,   63,   52,   50,   51,   63,   52,   55,   56,
+       55,   56,  118,   57,   53,   57,   59,   59,   53,   59,
+       59,   61,   61,   65,   66,   68,   69,   59,   59,   64,
+       59,   59,  117,   64,   61,   61,   58,   63,   58,   72,
+       95,   59,   59,   61,   61,   68,   66,   73,   68,   69,
+      101,  101,  116,   73,   73,   73,   74,   73,   73,   73,
+       73,   73,  115,   96,   64,   71,   71,   71,  114,   71,
+       71,   79,   72,   71,   79,   71,   71,   71,   71,   71,
+       80,   81,   71,   82,   79,   71,   80,   80,   80,   83,
+
+       80,   80,   80,   80,   80,   71,   71,   72,  123,   95,
+      101,  101,  113,  112,  111,   88,   81,  110,   82,  109,
+      108,   88,   88,   88,   89,   88,   88,   88,   88,   88,
+       99,  123,   96,   28,   28,   28,   28,   28,   28,   28,
+       28,   28,   28,   49,   49,   49,   49,   49,   49,   49,
+       49,   49,   49,   54,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   60,   60,   60,   60,   60,   60,   60,
+       60,   60,   60,   62,   62,   62,   62,   62,   62,   62,
+       62,   62,   62,   70,   70,   70,   70,   71,   71,   98,
+       71,   71,   71,   71,   71,   71,   71,   75,   75,   75,
+
+       75,   75,   75,   75,   75,   75,   75,   77,   93,  107,
+       77,   77,   77,   86,   77,   77,   77,   87,   85,   87,
+       84,   87,   90,   90,   90,  105,   90,   90,   90,   90,
+       90,   90,   91,   78,   91,   76,  103,   99,   91,   92,
+       92,   92,   92,   67,   92,   92,   92,   92,   92,   94,
+       94,   94,   94,   94,   94,   94,   94,   94,   94,   93,
+       93,   93,   93,   67,   93,   93,   93,   93,   93,   97,
+       97,   97,   97,   97,   97,   97,   97,   97,   97,  100,
+      100,  100,  100,  100,  100,  100,  100,  100,  100,  102,
+      102,  102,  102,  104,   98,  104,  106,   93,  106,   93,
+
+       93,   86,   86,   85,   84,   78,   76,   67,  123,   13,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123
+    } ;
+
+static yyconst short int yy_chk[443] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    3,    3,    3,  119,    3,  118,    3,    4,
+        4,    4,  117,    4,  116,    4,    5,    5,    5,    5,
+        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
+        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
+        5,    5,    5,    5,    5,    5,    5,    5,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+
+        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
+        9,    9,   20,    9,   10,   10,   32,   10,   11,   11,
+       12,   12,  115,   11,    9,   12,   15,   15,   10,   16,
+       16,   19,   19,   22,   22,   24,   24,   29,   29,   20,
+       35,   35,  114,   32,   38,   38,   11,   39,   12,   26,
+       57,   59,   59,   60,   60,   66,   66,   26,   69,   69,
+       72,   72,  113,   26,   26,   26,   26,   26,   26,   26,
+       26,   26,  112,   57,   39,   42,   42,   42,  111,   42,
+       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
+
+       42,   42,   42,   42,   42,   42,   42,   47,   94,   95,
+      100,  100,  110,  109,  108,   47,   47,  107,   47,  105,
+      103,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       99,   94,   95,  124,  124,  124,  124,  124,  124,  124,
+      124,  124,  124,  125,  125,  125,  125,  125,  125,  125,
+      125,  125,  125,  126,  126,  126,  126,  126,  126,  126,
+      126,  126,  126,  127,  127,  127,  127,  127,  127,  127,
+      127,  127,  127,  128,  128,  128,  128,  128,  128,  128,
+      128,  128,  128,  129,  129,  129,  129,  130,  130,   97,
+      130,  130,  130,  130,  130,  130,  130,  131,  131,  131,
+
+      131,  131,  131,  131,  131,  131,  131,  132,   92,   89,
+      132,  132,  132,   87,  132,  132,  132,  133,   85,  133,
+       84,  133,  134,  134,  134,   83,  134,  134,  134,  134,
+      134,  134,  135,   78,  135,   75,   74,   68,  135,  136,
+      136,  136,  136,   67,  136,  136,  136,  136,  136,  137,
+      137,  137,  137,  137,  137,  137,  137,  137,  137,  138,
+      138,  138,  138,   65,  138,  138,  138,  138,  138,  139,
+      139,  139,  139,  139,  139,  139,  139,  139,  139,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  141,
+      141,  141,  141,  142,   62,  142,  143,   56,  143,   55,
+
+       54,   48,   46,   45,   44,   40,   31,   23,   13,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
+      123,  123
+    } ;
+
+static yyconst short int yy_rule_linenum[47] =
+    {   0,
+       94,   99,  102,  104,  106,  108,  110,  116,  118,  121,
+      133,  136,  143,  147,  153,  158,  163,  167,  172,  176,
+      184,  189,  193,  198,  203,  208,  212,  215,  218,  223,
+      230,  233,  237,  240,  255,  267,  270,  273,  282,  287,
+      292,  298,  302,  306,  310,  325
+    } ;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+#line 1 "lexer.ll"
+#define INITIAL 0
+#line 2 "lexer.ll"
+/*
+  lexer.l -- implement the Flex lexer
+
+  source file of the LilyPond music typesetter
+
+  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+/*
+  backup rules
+
+  after making a change to the lexer rules, run 
+      flex -b <this lexer file>
+  and make sure that 
+      lex.backup
+  contains no backup states, but only the reminder
+      Compressed tables always back up.
+  (don-t forget to rm lex.yy.cc :-)
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+
+#include "string.hh"
+#include "string-convert.hh"
+#include "my-lily-lexer.hh"
+#include "varray.hh"
+#include "interval.hh"
+#include "parser.hh"
+#include "debug.hh"
+#include "parseconstruct.hh"
+#include "main.hh"
+#include "identifier.hh"
+void strip_trailing_white (String&);
+void strip_leading_white (String&);
+
+
+#define start_quote()  \
+       yy_push_state (quote);\
+       yylval.string = new String
+
+#define yylval (*(YYSTYPE*)lexval_l)
+
+#define YY_USER_ACTION add_lexed_char (YYLeng ());
+#define YY_STACK_USED 1
+#define YY_NEVER_INTERACTIVE 1
+#define incl 1
+
+#define lyrics 2
+
+#define notes 3
+
+#define quote 4
+
+#define longcomment 5
+
+#line 546 "lex.yy.cc"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines.  This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+#define ECHO LexerOutput( yytext, yyleng )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+       if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
+               YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) LexerError( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yyFlexLexer::yylex()
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+       YY_USER_ACTION
+
+YY_DECL
+       {
+       register yy_state_type yy_current_state;
+       register char *yy_cp, *yy_bp;
+       register int yy_act;
+
+#line 91 "lexer.ll"
+
+
+
+#line 677 "lex.yy.cc"
+
+       if ( yy_init )
+               {
+               yy_init = 0;
+
+#ifdef YY_USER_INIT
+               YY_USER_INIT;
+#endif
+
+               if ( ! yy_start )
+                       yy_start = 1;   /* first start state */
+
+               if ( ! yyin )
+                       yyin = &cin;
+
+               if ( ! yyout )
+                       yyout = &cout;
+
+               if ( ! yy_current_buffer )
+                       yy_current_buffer =
+                               yy_create_buffer( yyin, YY_BUF_SIZE );
+
+               yy_load_buffer_state();
+               }
+
+       while ( 1 )             /* loops until end-of-file is reached */
+               {
+               yy_cp = yy_c_buf_p;
+
+               /* Support of yytext. */
+               *yy_cp = yy_hold_char;
+
+               /* yy_bp points to the position in yy_ch_buf of the start of
+                * the current run.
+                */
+               yy_bp = yy_cp;
+
+               yy_current_state = yy_start;
+yy_match:
+               do
+                       {
+                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+                       if ( yy_accept[yy_current_state] )
+                               {
+                               yy_last_accepting_state = yy_current_state;
+                               yy_last_accepting_cpos = yy_cp;
+                               }
+                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+                               {
+                               yy_current_state = (int) yy_def[yy_current_state];
+                               if ( yy_current_state >= 124 )
+                                       yy_c = yy_meta[(unsigned int) yy_c];
+                               }
+                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                       ++yy_cp;
+                       }
+               while ( yy_base[yy_current_state] != 410 );
+
+yy_find_action:
+               yy_act = yy_accept[yy_current_state];
+               if ( yy_act == 0 )
+                       { /* have to back up */
+                       yy_cp = yy_last_accepting_cpos;
+                       yy_current_state = yy_last_accepting_state;
+                       yy_act = yy_accept[yy_current_state];
+                       }
+
+               YY_DO_BEFORE_ACTION;
+
+
+do_action:     /* This label is used only to access EOF actions. */
+
+               if ( yy_flex_debug )
+                       {
+                       if ( yy_act == 0 )
+                               cerr << "--scanner backing up\n";
+                       else if ( yy_act < 47 )
+                               cerr << "--accepting rule at line " << yy_rule_linenum[yy_act] <<
+                                        "(\"" << yytext << "\")\n";
+                       else if ( yy_act == 47 )
+                               cerr << "--accepting default rule (\"" << yytext << "\")\n";
+                       else if ( yy_act == 48 )
+                               cerr << "--(end of buffer or a NUL)\n";
+                       else
+                               cerr << "--EOF (start condition " << YY_START << ")\n";
+                       }
+
+               switch ( yy_act )
+       { /* beginning of action switch */
+                       case 0: /* must back up */
+                       /* undo the effects of YY_DO_BEFORE_ACTION */
+                       *yy_cp = yy_hold_char;
+                       yy_cp = yy_last_accepting_cpos;
+                       yy_current_state = yy_last_accepting_state;
+                       goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 94 "lexer.ll"
+{
+       // windows-suck-suck-suck
+}
+       YY_BREAK
+
+case 2:
+YY_RULE_SETUP
+#line 99 "lexer.ll"
+{
+       yy_push_state (longcomment);
+  }
+       YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 102 "lexer.ll"
+{
+  }
+       YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 104 "lexer.ll"
+{ // backup rule
+  }
+       YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 106 "lexer.ll"
+{
+  }
+       YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 108 "lexer.ll"
+{
+  }
+       YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 110 "lexer.ll"
+{
+
+  }
+       YY_BREAK
+
+
+case 8:
+YY_RULE_SETUP
+#line 116 "lexer.ll"
+{
+       }
+       YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 118 "lexer.ll"
+{
+
+       }
+       YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 121 "lexer.ll"
+{
+               yy_pop_state ();
+       }
+       YY_BREAK
+case YY_STATE_EOF(longcomment):
+#line 124 "lexer.ll"
+{
+               LexerError ("EOF found inside a comment");
+               if (! close_input ()) 
+                 yyterminate (); // can't move this, since it actually rets a YY_NULL
+       }
+       YY_BREAK
+
+case 11:
+YY_RULE_SETUP
+#line 133 "lexer.ll"
+{
+       yy_push_state (incl);
+}
+       YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 136 "lexer.ll"
+{ /* got the include file name */
+       String s (YYText ()+1);
+       s = s.left_str (s.length_i ()-1);
+       DOUT << "#include `" << s << "\'\n";
+       new_input (s,source_global_l);
+       yy_pop_state ();
+}
+       YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 143 "lexer.ll"
+{ // backup rule
+       cerr << "missing end quote" << endl;
+       exit (1);
+}
+       YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 147 "lexer.ll"
+{
+       const char *s = YYText ();
+       yylval.string = new String (s); 
+       DOUT << "rest:"<< yylval.string;
+       return RESTNAME;
+}
+       YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 153 "lexer.ll"
+{
+       String s=YYText () + 2;
+       s=s.left_str (s.length_i () - 1);
+       return scan_escaped_word (s);
+}
+       YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 158 "lexer.ll"
+{
+       String s=YYText () + 1;
+       s=s.left_str (s.length_i () - 1);
+       return scan_bare_word (s);
+}
+       YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 163 "lexer.ll"
+{ // backup rule
+       cerr << "white expected" << endl;
+       exit (1);
+}
+       YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 167 "lexer.ll"
+{ // backup rule
+       cerr << "white expected" << endl;
+       exit (1);
+}
+       YY_BREAK
+
+case 19:
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
+yy_c_buf_p = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 172 "lexer.ll"
+{
+               post_quotes_b_ = true;
+               return scan_bare_word (YYText ());
+       }
+       YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 176 "lexer.ll"
+{
+               yylval.i = YYLeng ();
+               if (post_quotes_b_) {
+                       post_quotes_b_ = false;
+                       return POST_QUOTES;
+               } else
+                       return PRE_QUOTES;
+       }
+       YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 184 "lexer.ll"
+{
+               return scan_bare_word (YYText ());
+
+       }
+       YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 189 "lexer.ll"
+{
+               return scan_escaped_word (YYText ()+1);
+       }
+       YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 193 "lexer.ll"
+{
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return DIGIT;
+       }
+       YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 198 "lexer.ll"
+{
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return UNSIGNED;
+       }
+       YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 203 "lexer.ll"
+{
+               start_quote ();
+       }
+       YY_BREAK
+
+case 26:
+YY_RULE_SETUP
+#line 208 "lexer.ll"
+{
+       start_quote ();
+}
+       YY_BREAK
+
+case 27:
+YY_RULE_SETUP
+#line 212 "lexer.ll"
+{
+               *yylval.string += escaped_char(YYText()[1]);
+       }
+       YY_BREAK
+case 28:
+YY_RULE_SETUP
+#line 215 "lexer.ll"
+{
+               *yylval.string += YYText ();
+       }
+       YY_BREAK
+case 29:
+YY_RULE_SETUP
+#line 218 "lexer.ll"
+{
+               DOUT << "quoted string: `" << *yylval.string << "'\n";
+               yy_pop_state ();
+               return STRING;
+       }
+       YY_BREAK
+case 30:
+YY_RULE_SETUP
+#line 223 "lexer.ll"
+{
+               *yylval.string += YYText ();
+       }
+       YY_BREAK
+
+
+case 31:
+YY_RULE_SETUP
+#line 230 "lexer.ll"
+{
+               start_quote ();
+       }
+       YY_BREAK
+case 32:
+YY_RULE_SETUP
+#line 233 "lexer.ll"
+{
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return UNSIGNED;
+       }
+       YY_BREAK
+case 33:
+YY_RULE_SETUP
+#line 237 "lexer.ll"
+{
+               return scan_escaped_word (YYText ()+1);
+       }
+       YY_BREAK
+case 34:
+YY_RULE_SETUP
+#line 240 "lexer.ll"
+{
+               /* ugr. This sux. */
+               String s (YYText ()); 
+               int i = 0;
+                       while ((i=s.index_i ("_")) != -1) // change word binding "_" to " "
+                       *(s.ch_l () + i) = ' ';
+               if ((i=s.index_i ("\\,")) != -1)   // change "\," to TeX's "\c "
+                       {
+                       *(s.ch_l () + i + 1) = 'c';
+                       s = s.left_str (i+2) + " " + s.right_str (s.length_i ()-i-2);
+                       }
+               yylval.string = new String (s);
+               DOUT << "lyric : `" << s << "'\n";
+               return STRING;
+       }
+       YY_BREAK
+case 35:
+YY_RULE_SETUP
+#line 255 "lexer.ll"
+{
+               return yylval.c = YYText ()[0];
+       }
+       YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(incl):
+case YY_STATE_EOF(lyrics):
+case YY_STATE_EOF(notes):
+case YY_STATE_EOF(quote):
+#line 260 "lexer.ll"
+{
+       DOUT << "<<eof>>";
+
+       if (! close_input ()) { 
+         yyterminate (); // can't move this, since it actually rets a YY_NULL
+       }
+}
+       YY_BREAK
+case 36:
+YY_RULE_SETUP
+#line 267 "lexer.ll"
+{
+       return scan_bare_word (YYText ());
+}
+       YY_BREAK
+case 37:
+YY_RULE_SETUP
+#line 270 "lexer.ll"
+{
+       return scan_escaped_word (YYText ()+1);
+}
+       YY_BREAK
+case 38:
+YY_RULE_SETUP
+#line 273 "lexer.ll"
+{
+       Real r;
+       int cnv=sscanf (YYText (), "%lf", &r);
+       assert (cnv == 1);
+       DOUT  << "REAL" << r<<'\n';
+       yylval.real = r;
+       return REAL;
+}
+       YY_BREAK
+case 39:
+YY_RULE_SETUP
+#line 282 "lexer.ll"
+{
+       yylval.i = String_convert::dec2_i (String (YYText ()));
+       return UNSIGNED;
+}
+       YY_BREAK
+case 40:
+YY_RULE_SETUP
+#line 287 "lexer.ll"
+{
+
+       DOUT << "parens\n";
+       return YYText ()[0];
+}
+       YY_BREAK
+case 41:
+YY_RULE_SETUP
+#line 292 "lexer.ll"
+{
+       char c = YYText ()[0];
+       DOUT << "misc char" <<c<<"\n";
+       return c;
+}
+       YY_BREAK
+case 42:
+YY_RULE_SETUP
+#line 298 "lexer.ll"
+{
+       return yylval.i = PLET;
+}
+       YY_BREAK
+case 43:
+YY_RULE_SETUP
+#line 302 "lexer.ll"
+{
+       return yylval.i = TELP;
+}
+       YY_BREAK
+case 44:
+YY_RULE_SETUP
+#line 306 "lexer.ll"
+{
+       return yylval.c = YYText ()[0];
+}
+       YY_BREAK
+case 45:
+YY_RULE_SETUP
+#line 310 "lexer.ll"
+{
+    char c= YYText ()[1];
+    yylval.c = c;
+    switch (c) {
+    case '>':
+       return E_BIGGER;
+    case '<':
+       return E_SMALLER;
+    case '!':
+       return E_EXCLAMATION;
+    default:
+       return E_CHAR;
+    }
+}
+       YY_BREAK
+case 46:
+YY_RULE_SETUP
+#line 325 "lexer.ll"
+{
+       String msg= String ("illegal character: ") +String (YYText ()[0]);
+       LexerError (msg.ch_C ());
+       return YYText ()[0];
+}
+       YY_BREAK
+case 47:
+YY_RULE_SETUP
+#line 331 "lexer.ll"
+YY_FATAL_ERROR( "flex scanner jammed" );
+       YY_BREAK
+#line 1192 "lex.yy.cc"
+
+       case YY_END_OF_BUFFER:
+               {
+               /* Amount of text matched not including the EOB char. */
+               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+               /* Undo the effects of YY_DO_BEFORE_ACTION. */
+               *yy_cp = yy_hold_char;
+               YY_RESTORE_YY_MORE_OFFSET
+
+               if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+                       {
+                       /* We're scanning a new file or input source.  It's
+                        * possible that this happened because the user
+                        * just pointed yyin at a new source and called
+                        * yylex().  If so, then we have to assure
+                        * consistency between yy_current_buffer and our
+                        * globals.  Here is the right place to do so, because
+                        * this is the first action (other than possibly a
+                        * back-up) that will match for the new input source.
+                        */
+                       yy_n_chars = yy_current_buffer->yy_n_chars;
+                       yy_current_buffer->yy_input_file = yyin;
+                       yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+                       }
+
+               /* Note that here we test for yy_c_buf_p "<=" to the position
+                * of the first EOB in the buffer, since yy_c_buf_p will
+                * already have been incremented past the NUL character
+                * (since all states make transitions on EOB to the
+                * end-of-buffer state).  Contrast this with the test
+                * in input().
+                */
+               if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+                       { /* This was really a NUL. */
+                       yy_state_type yy_next_state;
+
+                       yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+                       yy_current_state = yy_get_previous_state();
+
+                       /* Okay, we're now positioned to make the NUL
+                        * transition.  We couldn't have
+                        * yy_get_previous_state() go ahead and do it
+                        * for us because it doesn't know how to deal
+                        * with the possibility of jamming (and we don't
+                        * want to build jamming into it because then it
+                        * will run more slowly).
+                        */
+
+                       yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+                       yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+                       if ( yy_next_state )
+                               {
+                               /* Consume the NUL. */
+                               yy_cp = ++yy_c_buf_p;
+                               yy_current_state = yy_next_state;
+                               goto yy_match;
+                               }
+
+                       else
+                               {
+                               yy_cp = yy_c_buf_p;
+                               goto yy_find_action;
+                               }
+                       }
+
+               else switch ( yy_get_next_buffer() )
+                       {
+                       case EOB_ACT_END_OF_FILE:
+                               {
+                               yy_did_buffer_switch_on_eof = 0;
+
+                               if ( yywrap() )
+                                       {
+                                       /* Note: because we've taken care in
+                                        * yy_get_next_buffer() to have set up
+                                        * yytext, we can now set up
+                                        * yy_c_buf_p so that if some total
+                                        * hoser (like flex itself) wants to
+                                        * call the scanner after we return the
+                                        * YY_NULL, it'll still work - another
+                                        * YY_NULL will get returned.
+                                        */
+                                       yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+                                       yy_act = YY_STATE_EOF(YY_START);
+                                       goto do_action;
+                                       }
+
+                               else
+                                       {
+                                       if ( ! yy_did_buffer_switch_on_eof )
+                                               YY_NEW_FILE;
+                                       }
+                               break;
+                               }
+
+                       case EOB_ACT_CONTINUE_SCAN:
+                               yy_c_buf_p =
+                                       yytext_ptr + yy_amount_of_matched_text;
+
+                               yy_current_state = yy_get_previous_state();
+
+                               yy_cp = yy_c_buf_p;
+                               yy_bp = yytext_ptr + YY_MORE_ADJ;
+                               goto yy_match;
+
+                       case EOB_ACT_LAST_MATCH:
+                               yy_c_buf_p =
+                               &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+                               yy_current_state = yy_get_previous_state();
+
+                               yy_cp = yy_c_buf_p;
+                               yy_bp = yytext_ptr + YY_MORE_ADJ;
+                               goto yy_find_action;
+                       }
+               break;
+               }
+
+       default:
+               YY_FATAL_ERROR(
+                       "fatal flex scanner internal error--no action found" );
+       } /* end of action switch */
+               } /* end of scanning one token */
+       } /* end of yylex */
+
+yyFlexLexer::yyFlexLexer( istream* arg_yyin, ostream* arg_yyout )
+       {
+       yyin = arg_yyin;
+       yyout = arg_yyout;
+       yy_c_buf_p = 0;
+       yy_init = 1;
+       yy_start = 0;
+       yy_flex_debug = 0;
+       yylineno = 1;   // this will only get updated if %option yylineno
+
+       yy_did_buffer_switch_on_eof = 0;
+
+       yy_looking_for_trail_begin = 0;
+       yy_more_flag = 0;
+       yy_more_len = 0;
+       yy_more_offset = yy_prev_more_offset = 0;
+
+       yy_start_stack_ptr = yy_start_stack_depth = 0;
+       yy_start_stack = 0;
+
+       yy_current_buffer = 0;
+
+#ifdef YY_USES_REJECT
+       yy_state_buf = new yy_state_type[YY_BUF_SIZE + 2];
+#else
+       yy_state_buf = 0;
+#endif
+       }
+
+yyFlexLexer::~yyFlexLexer()
+       {
+       delete yy_state_buf;
+       yy_delete_buffer( yy_current_buffer );
+       }
+
+void yyFlexLexer::switch_streams( istream* new_in, ostream* new_out )
+       {
+       if ( new_in )
+               {
+               yy_delete_buffer( yy_current_buffer );
+               yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );
+               }
+
+       if ( new_out )
+               yyout = new_out;
+       }
+
+#ifdef YY_INTERACTIVE
+int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
+#else
+int yyFlexLexer::LexerInput( char* buf, int max_size )
+#endif
+       {
+       if ( yyin->eof() || yyin->fail() )
+               return 0;
+
+#ifdef YY_INTERACTIVE
+       yyin->get( buf[0] );
+
+       if ( yyin->eof() )
+               return 0;
+
+       if ( yyin->bad() )
+               return -1;
+
+       return 1;
+
+#else
+       (void) yyin->read( buf, max_size );
+
+       if ( yyin->bad() )
+               return -1;
+       else
+               return yyin->gcount();
+#endif
+       }
+
+void yyFlexLexer::LexerOutput( const char* buf, int size )
+       {
+       (void) yyout->write( buf, size );
+       }
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *     EOB_ACT_LAST_MATCH -
+ *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *     EOB_ACT_END_OF_FILE - end of file
+ */
+
+int yyFlexLexer::yy_get_next_buffer()
+       {
+       register char *dest = yy_current_buffer->yy_ch_buf;
+       register char *source = yytext_ptr;
+       register int number_to_move, i;
+       int ret_val;
+
+       if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+               YY_FATAL_ERROR(
+               "fatal flex scanner internal error--end of buffer missed" );
+
+       if ( yy_current_buffer->yy_fill_buffer == 0 )
+               { /* Don't try to fill the buffer, so this is an EOF. */
+               if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+                       {
+                       /* We matched a single character, the EOB, so
+                        * treat this as a final EOF.
+                        */
+                       return EOB_ACT_END_OF_FILE;
+                       }
+
+               else
+                       {
+                       /* We matched some text prior to the EOB, first
+                        * process it.
+                        */
+                       return EOB_ACT_LAST_MATCH;
+                       }
+               }
+
+       /* Try to read more data. */
+
+       /* First move last chars to start of buffer. */
+       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+       for ( i = 0; i < number_to_move; ++i )
+               *(dest++) = *(source++);
+
+       if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+               /* don't do the read, it's not guaranteed to return an EOF,
+                * just force an EOF
+                */
+               yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+       else
+               {
+               int num_to_read =
+                       yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+               while ( num_to_read <= 0 )
+                       { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+                       YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+                       /* just a shorter name for the current buffer */
+                       YY_BUFFER_STATE b = yy_current_buffer;
+
+                       int yy_c_buf_p_offset =
+                               (int) (yy_c_buf_p - b->yy_ch_buf);
+
+                       if ( b->yy_is_our_buffer )
+                               {
+                               int new_size = b->yy_buf_size * 2;
+
+                               if ( new_size <= 0 )
+                                       b->yy_buf_size += b->yy_buf_size / 8;
+                               else
+                                       b->yy_buf_size *= 2;
+
+                               b->yy_ch_buf = (char *)
+                                       /* Include room in for 2 EOB chars. */
+                                       yy_flex_realloc( (void *) b->yy_ch_buf,
+                                                        b->yy_buf_size + 2 );
+                               }
+                       else
+                               /* Can't grow it, we don't own it. */
+                               b->yy_ch_buf = 0;
+
+                       if ( ! b->yy_ch_buf )
+                               YY_FATAL_ERROR(
+                               "fatal error - scanner input buffer overflow" );
+
+                       yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+                       num_to_read = yy_current_buffer->yy_buf_size -
+                                               number_to_move - 1;
+#endif
+                       }
+
+               if ( num_to_read > YY_READ_BUF_SIZE )
+                       num_to_read = YY_READ_BUF_SIZE;
+
+               /* Read in more data. */
+               YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+                       yy_n_chars, num_to_read );
+
+               yy_current_buffer->yy_n_chars = yy_n_chars;
+               }
+
+       if ( yy_n_chars == 0 )
+               {
+               if ( number_to_move == YY_MORE_ADJ )
+                       {
+                       ret_val = EOB_ACT_END_OF_FILE;
+                       yyrestart( yyin );
+                       }
+
+               else
+                       {
+                       ret_val = EOB_ACT_LAST_MATCH;
+                       yy_current_buffer->yy_buffer_status =
+                               YY_BUFFER_EOF_PENDING;
+                       }
+               }
+
+       else
+               ret_val = EOB_ACT_CONTINUE_SCAN;
+
+       yy_n_chars += number_to_move;
+       yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+       yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+       return ret_val;
+       }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+yy_state_type yyFlexLexer::yy_get_previous_state()
+       {
+       register yy_state_type yy_current_state;
+       register char *yy_cp;
+
+       yy_current_state = yy_start;
+
+       for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+               {
+               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 2);
+               if ( yy_accept[yy_current_state] )
+                       {
+                       yy_last_accepting_state = yy_current_state;
+                       yy_last_accepting_cpos = yy_cp;
+                       }
+               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+                       {
+                       yy_current_state = (int) yy_def[yy_current_state];
+                       if ( yy_current_state >= 124 )
+                               yy_c = yy_meta[(unsigned int) yy_c];
+                       }
+               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+               }
+
+       return yy_current_state;
+       }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *     next_state = yy_try_NUL_trans( current_state );
+ */
+
+yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
+       {
+       register int yy_is_jam;
+       register char *yy_cp = yy_c_buf_p;
+
+       register YY_CHAR yy_c = 2;
+       if ( yy_accept[yy_current_state] )
+               {
+               yy_last_accepting_state = yy_current_state;
+               yy_last_accepting_cpos = yy_cp;
+               }
+       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+               {
+               yy_current_state = (int) yy_def[yy_current_state];
+               if ( yy_current_state >= 124 )
+                       yy_c = yy_meta[(unsigned int) yy_c];
+               }
+       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+       yy_is_jam = (yy_current_state == 123);
+
+       return yy_is_jam ? 0 : yy_current_state;
+       }
+
+
+void yyFlexLexer::yyunput( int c, register char* yy_bp )
+       {
+       register char *yy_cp = yy_c_buf_p;
+
+       /* undo effects of setting up yytext */
+       *yy_cp = yy_hold_char;
+
+       if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+               { /* need to shift things up to make room */
+               /* +2 for EOB chars. */
+               register int number_to_move = yy_n_chars + 2;
+               register char *dest = &yy_current_buffer->yy_ch_buf[
+                                       yy_current_buffer->yy_buf_size + 2];
+               register char *source =
+                               &yy_current_buffer->yy_ch_buf[number_to_move];
+
+               while ( source > yy_current_buffer->yy_ch_buf )
+                       *--dest = *--source;
+
+               yy_cp += (int) (dest - source);
+               yy_bp += (int) (dest - source);
+               yy_current_buffer->yy_n_chars =
+                       yy_n_chars = yy_current_buffer->yy_buf_size;
+
+               if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
+               }
+
+       *--yy_cp = (char) c;
+
+
+       yytext_ptr = yy_bp;
+       yy_hold_char = *yy_cp;
+       yy_c_buf_p = yy_cp;
+       }
+
+
+int yyFlexLexer::yyinput()
+       {
+       int c;
+
+       *yy_c_buf_p = yy_hold_char;
+
+       if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+               {
+               /* yy_c_buf_p now points to the character we want to return.
+                * If this occurs *before* the EOB characters, then it's a
+                * valid NUL; if not, then we've hit the end of the buffer.
+                */
+               if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+                       /* This was really a NUL. */
+                       *yy_c_buf_p = '\0';
+
+               else
+                       { /* need more input */
+                       int offset = yy_c_buf_p - yytext_ptr;
+                       ++yy_c_buf_p;
+
+                       switch ( yy_get_next_buffer() )
+                               {
+                               case EOB_ACT_LAST_MATCH:
+                                       /* This happens because yy_g_n_b()
+                                        * sees that we've accumulated a
+                                        * token and flags that we need to
+                                        * try matching the token before
+                                        * proceeding.  But for input(),
+                                        * there's no matching to consider.
+                                        * So convert the EOB_ACT_LAST_MATCH
+                                        * to EOB_ACT_END_OF_FILE.
+                                        */
+
+                                       /* Reset buffer status. */
+                                       yyrestart( yyin );
+
+                                       /* fall through */
+
+                               case EOB_ACT_END_OF_FILE:
+                                       {
+                                       if ( yywrap() )
+                                               return EOF;
+
+                                       if ( ! yy_did_buffer_switch_on_eof )
+                                               YY_NEW_FILE;
+#ifdef __cplusplus
+                                       return yyinput();
+#else
+                                       return input();
+#endif
+                                       }
+
+                               case EOB_ACT_CONTINUE_SCAN:
+                                       yy_c_buf_p = yytext_ptr + offset;
+                                       break;
+                               }
+                       }
+               }
+
+       c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
+       *yy_c_buf_p = '\0';     /* preserve yytext */
+       yy_hold_char = *++yy_c_buf_p;
+
+
+       return c;
+       }
+
+
+void yyFlexLexer::yyrestart( istream* input_file )
+       {
+       if ( ! yy_current_buffer )
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+       yy_init_buffer( yy_current_buffer, input_file );
+       yy_load_buffer_state();
+       }
+
+
+void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+       {
+       if ( yy_current_buffer == new_buffer )
+               return;
+
+       if ( yy_current_buffer )
+               {
+               /* Flush out information for old buffer. */
+               *yy_c_buf_p = yy_hold_char;
+               yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+               yy_current_buffer->yy_n_chars = yy_n_chars;
+               }
+
+       yy_current_buffer = new_buffer;
+       yy_load_buffer_state();
+
+       /* We don't actually know whether we did this switch during
+        * EOF (yywrap()) processing, but the only time this flag
+        * is looked at is after yywrap() is called, so it's safe
+        * to go ahead and always set it.
+        */
+       yy_did_buffer_switch_on_eof = 1;
+       }
+
+
+void yyFlexLexer::yy_load_buffer_state()
+       {
+       yy_n_chars = yy_current_buffer->yy_n_chars;
+       yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+       yyin = yy_current_buffer->yy_input_file;
+       yy_hold_char = *yy_c_buf_p;
+       }
+
+
+YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( istream* file, int size )
+       {
+       YY_BUFFER_STATE b;
+
+       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+       if ( ! b )
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+       b->yy_buf_size = size;
+
+       /* yy_ch_buf has to be 2 characters longer than the size given because
+        * we need to put in 2 end-of-buffer characters.
+        */
+       b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+       if ( ! b->yy_ch_buf )
+               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+       b->yy_is_our_buffer = 1;
+
+       yy_init_buffer( b, file );
+
+       return b;
+       }
+
+
+void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
+       {
+       if ( ! b )
+               return;
+
+       if ( b == yy_current_buffer )
+               yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+       if ( b->yy_is_our_buffer )
+               yy_flex_free( (void *) b->yy_ch_buf );
+
+       yy_flex_free( (void *) b );
+       }
+
+
+extern "C" int isatty YY_PROTO(( int ));
+void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, istream* file )
+
+       {
+       yy_flush_buffer( b );
+
+       b->yy_input_file = file;
+       b->yy_fill_buffer = 1;
+
+       b->yy_is_interactive = 0;
+       }
+
+
+void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
+       {
+       if ( ! b )
+               return;
+
+       b->yy_n_chars = 0;
+
+       /* We always need two end-of-buffer characters.  The first causes
+        * a transition to the end-of-buffer state.  The second causes
+        * a jam in that state.
+        */
+       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+       b->yy_buf_pos = &b->yy_ch_buf[0];
+
+       b->yy_at_bol = 1;
+       b->yy_buffer_status = YY_BUFFER_NEW;
+
+       if ( b == yy_current_buffer )
+               yy_load_buffer_state();
+       }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+void yyFlexLexer::yy_push_state( int new_state )
+       {
+       if ( yy_start_stack_ptr >= yy_start_stack_depth )
+               {
+               yy_size_t new_size;
+
+               yy_start_stack_depth += YY_START_STACK_INCR;
+               new_size = yy_start_stack_depth * sizeof( int );
+
+               if ( ! yy_start_stack )
+                       yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+               else
+                       yy_start_stack = (int *) yy_flex_realloc(
+                                       (void *) yy_start_stack, new_size );
+
+               if ( ! yy_start_stack )
+                       YY_FATAL_ERROR(
+                       "out of memory expanding start-condition stack" );
+               }
+
+       yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+       BEGIN(new_state);
+       }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+void yyFlexLexer::yy_pop_state()
+       {
+       if ( --yy_start_stack_ptr < 0 )
+               YY_FATAL_ERROR( "start-condition stack underflow" );
+
+       BEGIN(yy_start_stack[yy_start_stack_ptr]);
+       }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+int yyFlexLexer::yy_top_state()
+       {
+       return yy_start_stack[yy_start_stack_ptr - 1];
+       }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+
+void yyFlexLexer::LexerError( yyconst char msg[] )
+       {
+       cerr << msg << '\n';
+       exit( YY_EXIT_FAILURE );
+       }
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+       do \
+               { \
+               /* Undo effects of setting up yytext. */ \
+               yytext[yyleng] = yy_hold_char; \
+               yy_c_buf_p = yytext + n; \
+               yy_hold_char = *yy_c_buf_p; \
+               *yy_c_buf_p = '\0'; \
+               yyleng = n; \
+               } \
+       while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+       {
+       register int i;
+       for ( i = 0; i < n; ++i )
+               s1[i] = s2[i];
+       }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+       {
+       register int n;
+       for ( n = 0; s[n]; ++n )
+               ;
+
+       return n;
+       }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+       {
+       return (void *) malloc( size );
+       }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+       {
+       /* The cast to (char *) in the following accommodates both
+        * implementations that use char* generic pointers, and those
+        * that use void* generic pointers.  It works with the latter
+        * because both ANSI C and C++ allow castless assignment from
+        * any pointer type to void*, and deal with argument conversions
+        * as though doing an assignment.
+        */
+       return (void *) realloc( (char *) ptr, size );
+       }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+       {
+       free( ptr );
+       }
+
+#if YY_MAIN
+int main()
+       {
+       yylex();
+       return 0;
+       }
+#endif
+#line 331 "lexer.ll"
+
+
+void
+My_lily_lexer::push_note_state ()
+{
+       yy_push_state (notes);
+}
+
+void
+My_lily_lexer::push_lyric_state ()
+{
+       yy_push_state (lyrics);
+}
+void
+My_lily_lexer::pop_state ()
+{
+       yy_pop_state ();
+}
+
+int
+My_lily_lexer::scan_escaped_word (String str)
+{      
+       DOUT << "\\word: `" << str<<"'\n";
+       int l = lookup_keyword (str);
+       if (l != -1) {
+               DOUT << "(keyword)\n";
+               return l;
+       }
+       Identifier * id = lookup_identifier (str);
+       if (id) {
+               DOUT << "(identifier)\n";
+               yylval.id = id;
+               return id->token_code_i_;
+       }
+       if (YYSTATE != notes) {
+               Melodic_req * mel_l = lookup_melodic_req_l (str);
+               if (mel_l) {
+                   DOUT << "(notename)\n";
+                   yylval.melreq = mel_l;
+                   return NOTENAME_ID;
+               }
+       }
+       String msg ("Unknown escaped string: `" + str + "'");   
+       LexerError (msg.ch_C ());
+       DOUT << "(string)";
+       String *sp = new String (str);
+       yylval.string=sp;
+       return STRING;
+}
+
+int
+My_lily_lexer::scan_bare_word (String str)
+{
+       DOUT << "word: `" << str<< "'\n";       
+       if (YYSTATE == notes){
+               Melodic_req * mel_l = lookup_melodic_req_l (str);
+               if (mel_l) {
+                   DOUT << "(notename)\n";
+                   yylval.melreq = mel_l;
+                   return NOTENAME_ID;
+               }
+       }
+
+       yylval.string=new String (str);
+       return STRING;
+}
+
+bool
+My_lily_lexer::note_state_b () const
+{
+       return YY_START == notes;
+}
+
+bool
+My_lily_lexer::lyric_state_b () const
+{
+       return YY_START == lyrics;
+}
+
+void
+strip_trailing_white (String&s)
+{
+       int i=0;
+       for (;  i < s.length_i (); i++) 
+               if (!isspace (s[i]))
+                       break;
+
+       s = s.nomid_str (0, i);
+}
+
+void
+strip_leading_white (String&s)
+{
+       int i=s.length_i ();    
+       while (i--) 
+               if (!isspace (s[i]))
+                       break;
+
+       s = s.left_str (i+1);
+}
diff --git a/lily/lexer.l b/lily/lexer.l
deleted file mode 100644 (file)
index c7df7be..0000000
+++ /dev/null
@@ -1,430 +0,0 @@
-%{ // -*-Fundamental-*-
-/*
-  lexer.l -- implement the Flex lexer
-
-  source file of the LilyPond music typesetter
-
-  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-/*
-  backup rules
-
-  after making a change to the lexer rules, run 
-      flex -b <this lexer file>
-  and make sure that 
-      lex.backup
-  contains no backup states, but only the reminder
-      Compressed tables always back up.
-  (don-t forget to rm lex.yy.cc :-)
- */
-
-
-#include <stdio.h>
-#include <ctype.h>
-
-#include "string.hh"
-#include "string-convert.hh"
-#include "my-lily-lexer.hh"
-#include "varray.hh"
-#include "interval.hh"
-#include "parser.hh"
-#include "debug.hh"
-#include "parseconstruct.hh"
-#include "main.hh"
-#include "identifier.hh"
-void strip_trailing_white (String&);
-void strip_leading_white (String&);
-
-
-#define start_quote()  \
-       yy_push_state (quote);\
-       yylval.string = new String
-
-#define yylval (*(YYSTYPE*)lexval_l)
-
-#define YY_USER_ACTION add_lexed_char (YYLeng ());
-%}
-
-%option c++
-%option noyywrap
-%option nodefault
-%option debug
-%option yyclass="My_lily_lexer"
-%option stack
-%option never-interactive 
-%option warn
-
-%x incl
-%x lyrics
-%x notes
-%x quote
-%x longcomment
-
-
-A              [a-zA-Z]
-AA             {A}|_
-N              [0-9]
-AN             {AA}|{N}
-PUNCT          [?!:']
-ACCENT         \\[`'"^]
-NATIONAL  [\001-\006\021-\027\031\036\200-\377]
-TEX            {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
-WORD           {A}{AN}*
-ALPHAWORD      {A}+
-DIGIT          {N}
-UNSIGNED       {N}+
-INT            -?{UNSIGNED}
-REAL           ({INT}\.{N}*)|(-?\.{N}+)
-KEYWORD                \\{WORD}
-WHITE          [ \n\t\f]
-HORIZONTALWHITE                [ \t]
-BLACK          [^ \n\t\f]
-RESTNAME       [rs]
-NOTECOMMAND    \\{A}+
-LYRICS         ({AA}|{TEX})[^0-9 \t\n\f]*
-ESCAPED                [nt\\'"]
-PLET           \\\[
-TELP           \\\]
-
-%%
-
-
-<*>\r          {
-       // windows-suck-suck-suck
-}
-
-<notes,incl,INITIAL,lyrics>{
-  "%{" {
-       yy_push_state (longcomment);
-  }
-  %[^{\n].*\n  {
-  }
-  %[^{\n]      { // backup rule
-  }
-  %\n  {
-  }
-  %[^{\n].*    {
-  }
-  {WHITE}+     {
-
-  }
-}
-
-<longcomment>{
-       [^\%]*          {
-       }
-       \%*[^}%]*               {
-
-       }
-       "%"+"}"         {
-               yy_pop_state ();
-       }
-       <<EOF>>         {
-               LexerError ("EOF found inside a comment");
-               if (! close_input ()) 
-                 yyterminate (); // can't move this, since it actually rets a YY_NULL
-       }
-}
-
-
-
-<notes,INITIAL,lyrics>\\include           {
-       yy_push_state (incl);
-}
-<incl>\"[^"]*\"   { /* got the include file name */
-       String s (YYText ()+1);
-       s = s.left_str (s.length_i ()-1);
-       DOUT << "#include `" << s << "\'\n";
-       new_input (s,source_global_l);
-       yy_pop_state ();
-}
-<incl>\"[^"]*   { // backup rule
-       cerr << "missing end quote" << endl;
-       exit (1);
-}
-<notes>{RESTNAME}      {
-       const char *s = YYText ();
-       yylval.string = new String (s); 
-       DOUT << "rest:"<< yylval.string;
-       return RESTNAME;
-}
-<INITIAL,lyrics,notes>\\\${BLACK}*{WHITE}      {
-       String s=YYText () + 2;
-       s=s.left_str (s.length_i () - 1);
-       return scan_escaped_word (s);
-}
-<INITIAL,lyrics,notes>\${BLACK}*{WHITE}                {
-       String s=YYText () + 1;
-       s=s.left_str (s.length_i () - 1);
-       return scan_bare_word (s);
-}
-<INITIAL,lyrics,notes>\\\${BLACK}*             { // backup rule
-       cerr << "white expected" << endl;
-       exit (1);
-}
-<INITIAL,lyrics,notes>\${BLACK}*               { // backup rule
-       cerr << "white expected" << endl;
-       exit (1);
-}
-<notes>{
-       {ALPHAWORD}/\'  {
-               post_quotes_b_ = true;
-               return scan_bare_word (YYText ());
-       }
-       \'+             {
-               yylval.i = YYLeng ();
-               if (post_quotes_b_) {
-                       post_quotes_b_ = false;
-                       return POST_QUOTES;
-               } else
-                       return PRE_QUOTES;
-       }
-       {ALPHAWORD}     {
-               return scan_bare_word (YYText ());
-
-       }
-
-       {NOTECOMMAND}   {
-               return scan_escaped_word (YYText ()+1);
-       }
-
-       {DIGIT}         {
-               yylval.i = String_convert::dec2_i (String (YYText ()));
-               return DIGIT;
-       }
-
-       {UNSIGNED}              {
-               yylval.i = String_convert::dec2_i (String (YYText ()));
-               return UNSIGNED;
-       }
-
-       \" {
-               start_quote ();
-       }
-}
-
-\"             {
-       start_quote ();
-}
-<quote>{
-       \\{ESCAPED}     {
-               *yylval.string += escaped_char(YYText()[1]);
-       }
-       [^\\"]+ {
-               *yylval.string += YYText ();
-       }
-       \"      {
-               DOUT << "quoted string: `" << *yylval.string << "'\n";
-               yy_pop_state ();
-               return STRING;
-       }
-       .       {
-               *yylval.string += YYText ();
-       }
-}
-
-<lyrics>{
-
-       \" {
-               start_quote ();
-       }
-       {UNSIGNED}              {
-               yylval.i = String_convert::dec2_i (String (YYText ()));
-               return UNSIGNED;
-       }
-       {NOTECOMMAND}   {
-               return scan_escaped_word (YYText ()+1);
-       }
-       {LYRICS} {
-               /* ugr. This sux. */
-               String s (YYText ()); 
-               int i = 0;
-                       while ((i=s.index_i ("_")) != -1) // change word binding "_" to " "
-                       *(s.ch_l () + i) = ' ';
-               if ((i=s.index_i ("\\,")) != -1)   // change "\," to TeX's "\c "
-                       {
-                       *(s.ch_l () + i + 1) = 'c';
-                       s = s.left_str (i+2) + " " + s.right_str (s.length_i ()-i-2);
-                       }
-               yylval.string = new String (s);
-               DOUT << "lyric : `" << s << "'\n";
-               return STRING;
-       }
-       . {
-               return yylval.c = YYText ()[0];
-       }
-}
-
-<<EOF>> {
-       DOUT << "<<eof>>";
-
-       if (! close_input ()) { 
-         yyterminate (); // can't move this, since it actually rets a YY_NULL
-       }
-}
-{WORD} {
-       return scan_bare_word (YYText ());
-}
-{KEYWORD}      {
-       return scan_escaped_word (YYText ()+1);
-}
-{REAL}         {
-       Real r;
-       int cnv=sscanf (YYText (), "%lf", &r);
-       assert (cnv == 1);
-       DOUT  << "REAL" << r<<'\n';
-       yylval.real = r;
-       return REAL;
-}
-
-{UNSIGNED}     {
-       yylval.i = String_convert::dec2_i (String (YYText ()));
-       return UNSIGNED;
-}
-
-[{}]   {
-
-       DOUT << "parens\n";
-       return YYText ()[0];
-}
-[*:=]          {
-       char c = YYText ()[0];
-       DOUT << "misc char" <<c<<"\n";
-       return c;
-}
-
-<lyrics,notes>{PLET}   {
-       return yylval.i = PLET;
-}
-
-<lyrics,notes>{TELP}   {
-       return yylval.i = TELP;
-}
-
-<INITIAL,notes>.       {
-       return yylval.c = YYText ()[0];
-}
-
-<INITIAL,lyrics,notes>\\. {
-    char c= YYText ()[1];
-    yylval.c = c;
-    switch (c) {
-    case '>':
-       return E_BIGGER;
-    case '<':
-       return E_SMALLER;
-    case '!':
-       return E_EXCLAMATION;
-    default:
-       return E_CHAR;
-    }
-}
-
-<*>.           {
-       String msg= String ("illegal character: ") +String (YYText ()[0]);
-       LexerError (msg.ch_C ());
-       return YYText ()[0];
-}
-
-%%
-
-void
-My_lily_lexer::push_note_state ()
-{
-       yy_push_state (notes);
-}
-
-void
-My_lily_lexer::push_lyric_state ()
-{
-       yy_push_state (lyrics);
-}
-void
-My_lily_lexer::pop_state ()
-{
-       yy_pop_state ();
-}
-
-int
-My_lily_lexer::scan_escaped_word (String str)
-{      
-       DOUT << "\\word: `" << str<<"'\n";
-       int l = lookup_keyword (str);
-       if (l != -1) {
-               DOUT << "(keyword)\n";
-               return l;
-       }
-       Identifier * id = lookup_identifier (str);
-       if (id) {
-               DOUT << "(identifier)\n";
-               yylval.id = id;
-               return id->token_code_i_;
-       }
-       if (YYSTATE != notes) {
-               Melodic_req * mel_l = lookup_melodic_req_l (str);
-               if (mel_l) {
-                   DOUT << "(notename)\n";
-                   yylval.melreq = mel_l;
-                   return NOTENAME_ID;
-               }
-       }
-       String msg ("Unknown escaped string: `" + str + "'");   
-       LexerError (msg.ch_C ());
-       DOUT << "(string)";
-       String *sp = new String (str);
-       yylval.string=sp;
-       return STRING;
-}
-
-int
-My_lily_lexer::scan_bare_word (String str)
-{
-       DOUT << "word: `" << str<< "'\n";       
-       if (YYSTATE == notes){
-               Melodic_req * mel_l = lookup_melodic_req_l (str);
-               if (mel_l) {
-                   DOUT << "(notename)\n";
-                   yylval.melreq = mel_l;
-                   return NOTENAME_ID;
-               }
-       }
-
-       yylval.string=new String (str);
-       return STRING;
-}
-
-bool
-My_lily_lexer::note_state_b () const
-{
-       return YY_START == notes;
-}
-
-bool
-My_lily_lexer::lyric_state_b () const
-{
-       return YY_START == lyrics;
-}
-
-void
-strip_trailing_white (String&s)
-{
-       int i=0;
-       for (;  i < s.length_i (); i++) 
-               if (!isspace (s[i]))
-                       break;
-
-       s = s.nomid_str (0, i);
-}
-
-void
-strip_leading_white (String&s)
-{
-       int i=s.length_i ();    
-       while (i--) 
-               if (!isspace (s[i]))
-                       break;
-
-       s = s.left_str (i+1);
-}
diff --git a/lily/lexer.ll b/lily/lexer.ll
new file mode 100644 (file)
index 0000000..c7df7be
--- /dev/null
@@ -0,0 +1,430 @@
+%{ // -*-Fundamental-*-
+/*
+  lexer.l -- implement the Flex lexer
+
+  source file of the LilyPond music typesetter
+
+  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+/*
+  backup rules
+
+  after making a change to the lexer rules, run 
+      flex -b <this lexer file>
+  and make sure that 
+      lex.backup
+  contains no backup states, but only the reminder
+      Compressed tables always back up.
+  (don-t forget to rm lex.yy.cc :-)
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+
+#include "string.hh"
+#include "string-convert.hh"
+#include "my-lily-lexer.hh"
+#include "varray.hh"
+#include "interval.hh"
+#include "parser.hh"
+#include "debug.hh"
+#include "parseconstruct.hh"
+#include "main.hh"
+#include "identifier.hh"
+void strip_trailing_white (String&);
+void strip_leading_white (String&);
+
+
+#define start_quote()  \
+       yy_push_state (quote);\
+       yylval.string = new String
+
+#define yylval (*(YYSTYPE*)lexval_l)
+
+#define YY_USER_ACTION add_lexed_char (YYLeng ());
+%}
+
+%option c++
+%option noyywrap
+%option nodefault
+%option debug
+%option yyclass="My_lily_lexer"
+%option stack
+%option never-interactive 
+%option warn
+
+%x incl
+%x lyrics
+%x notes
+%x quote
+%x longcomment
+
+
+A              [a-zA-Z]
+AA             {A}|_
+N              [0-9]
+AN             {AA}|{N}
+PUNCT          [?!:']
+ACCENT         \\[`'"^]
+NATIONAL  [\001-\006\021-\027\031\036\200-\377]
+TEX            {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL}
+WORD           {A}{AN}*
+ALPHAWORD      {A}+
+DIGIT          {N}
+UNSIGNED       {N}+
+INT            -?{UNSIGNED}
+REAL           ({INT}\.{N}*)|(-?\.{N}+)
+KEYWORD                \\{WORD}
+WHITE          [ \n\t\f]
+HORIZONTALWHITE                [ \t]
+BLACK          [^ \n\t\f]
+RESTNAME       [rs]
+NOTECOMMAND    \\{A}+
+LYRICS         ({AA}|{TEX})[^0-9 \t\n\f]*
+ESCAPED                [nt\\'"]
+PLET           \\\[
+TELP           \\\]
+
+%%
+
+
+<*>\r          {
+       // windows-suck-suck-suck
+}
+
+<notes,incl,INITIAL,lyrics>{
+  "%{" {
+       yy_push_state (longcomment);
+  }
+  %[^{\n].*\n  {
+  }
+  %[^{\n]      { // backup rule
+  }
+  %\n  {
+  }
+  %[^{\n].*    {
+  }
+  {WHITE}+     {
+
+  }
+}
+
+<longcomment>{
+       [^\%]*          {
+       }
+       \%*[^}%]*               {
+
+       }
+       "%"+"}"         {
+               yy_pop_state ();
+       }
+       <<EOF>>         {
+               LexerError ("EOF found inside a comment");
+               if (! close_input ()) 
+                 yyterminate (); // can't move this, since it actually rets a YY_NULL
+       }
+}
+
+
+
+<notes,INITIAL,lyrics>\\include           {
+       yy_push_state (incl);
+}
+<incl>\"[^"]*\"   { /* got the include file name */
+       String s (YYText ()+1);
+       s = s.left_str (s.length_i ()-1);
+       DOUT << "#include `" << s << "\'\n";
+       new_input (s,source_global_l);
+       yy_pop_state ();
+}
+<incl>\"[^"]*   { // backup rule
+       cerr << "missing end quote" << endl;
+       exit (1);
+}
+<notes>{RESTNAME}      {
+       const char *s = YYText ();
+       yylval.string = new String (s); 
+       DOUT << "rest:"<< yylval.string;
+       return RESTNAME;
+}
+<INITIAL,lyrics,notes>\\\${BLACK}*{WHITE}      {
+       String s=YYText () + 2;
+       s=s.left_str (s.length_i () - 1);
+       return scan_escaped_word (s);
+}
+<INITIAL,lyrics,notes>\${BLACK}*{WHITE}                {
+       String s=YYText () + 1;
+       s=s.left_str (s.length_i () - 1);
+       return scan_bare_word (s);
+}
+<INITIAL,lyrics,notes>\\\${BLACK}*             { // backup rule
+       cerr << "white expected" << endl;
+       exit (1);
+}
+<INITIAL,lyrics,notes>\${BLACK}*               { // backup rule
+       cerr << "white expected" << endl;
+       exit (1);
+}
+<notes>{
+       {ALPHAWORD}/\'  {
+               post_quotes_b_ = true;
+               return scan_bare_word (YYText ());
+       }
+       \'+             {
+               yylval.i = YYLeng ();
+               if (post_quotes_b_) {
+                       post_quotes_b_ = false;
+                       return POST_QUOTES;
+               } else
+                       return PRE_QUOTES;
+       }
+       {ALPHAWORD}     {
+               return scan_bare_word (YYText ());
+
+       }
+
+       {NOTECOMMAND}   {
+               return scan_escaped_word (YYText ()+1);
+       }
+
+       {DIGIT}         {
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return DIGIT;
+       }
+
+       {UNSIGNED}              {
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return UNSIGNED;
+       }
+
+       \" {
+               start_quote ();
+       }
+}
+
+\"             {
+       start_quote ();
+}
+<quote>{
+       \\{ESCAPED}     {
+               *yylval.string += escaped_char(YYText()[1]);
+       }
+       [^\\"]+ {
+               *yylval.string += YYText ();
+       }
+       \"      {
+               DOUT << "quoted string: `" << *yylval.string << "'\n";
+               yy_pop_state ();
+               return STRING;
+       }
+       .       {
+               *yylval.string += YYText ();
+       }
+}
+
+<lyrics>{
+
+       \" {
+               start_quote ();
+       }
+       {UNSIGNED}              {
+               yylval.i = String_convert::dec2_i (String (YYText ()));
+               return UNSIGNED;
+       }
+       {NOTECOMMAND}   {
+               return scan_escaped_word (YYText ()+1);
+       }
+       {LYRICS} {
+               /* ugr. This sux. */
+               String s (YYText ()); 
+               int i = 0;
+                       while ((i=s.index_i ("_")) != -1) // change word binding "_" to " "
+                       *(s.ch_l () + i) = ' ';
+               if ((i=s.index_i ("\\,")) != -1)   // change "\," to TeX's "\c "
+                       {
+                       *(s.ch_l () + i + 1) = 'c';
+                       s = s.left_str (i+2) + " " + s.right_str (s.length_i ()-i-2);
+                       }
+               yylval.string = new String (s);
+               DOUT << "lyric : `" << s << "'\n";
+               return STRING;
+       }
+       . {
+               return yylval.c = YYText ()[0];
+       }
+}
+
+<<EOF>> {
+       DOUT << "<<eof>>";
+
+       if (! close_input ()) { 
+         yyterminate (); // can't move this, since it actually rets a YY_NULL
+       }
+}
+{WORD} {
+       return scan_bare_word (YYText ());
+}
+{KEYWORD}      {
+       return scan_escaped_word (YYText ()+1);
+}
+{REAL}         {
+       Real r;
+       int cnv=sscanf (YYText (), "%lf", &r);
+       assert (cnv == 1);
+       DOUT  << "REAL" << r<<'\n';
+       yylval.real = r;
+       return REAL;
+}
+
+{UNSIGNED}     {
+       yylval.i = String_convert::dec2_i (String (YYText ()));
+       return UNSIGNED;
+}
+
+[{}]   {
+
+       DOUT << "parens\n";
+       return YYText ()[0];
+}
+[*:=]          {
+       char c = YYText ()[0];
+       DOUT << "misc char" <<c<<"\n";
+       return c;
+}
+
+<lyrics,notes>{PLET}   {
+       return yylval.i = PLET;
+}
+
+<lyrics,notes>{TELP}   {
+       return yylval.i = TELP;
+}
+
+<INITIAL,notes>.       {
+       return yylval.c = YYText ()[0];
+}
+
+<INITIAL,lyrics,notes>\\. {
+    char c= YYText ()[1];
+    yylval.c = c;
+    switch (c) {
+    case '>':
+       return E_BIGGER;
+    case '<':
+       return E_SMALLER;
+    case '!':
+       return E_EXCLAMATION;
+    default:
+       return E_CHAR;
+    }
+}
+
+<*>.           {
+       String msg= String ("illegal character: ") +String (YYText ()[0]);
+       LexerError (msg.ch_C ());
+       return YYText ()[0];
+}
+
+%%
+
+void
+My_lily_lexer::push_note_state ()
+{
+       yy_push_state (notes);
+}
+
+void
+My_lily_lexer::push_lyric_state ()
+{
+       yy_push_state (lyrics);
+}
+void
+My_lily_lexer::pop_state ()
+{
+       yy_pop_state ();
+}
+
+int
+My_lily_lexer::scan_escaped_word (String str)
+{      
+       DOUT << "\\word: `" << str<<"'\n";
+       int l = lookup_keyword (str);
+       if (l != -1) {
+               DOUT << "(keyword)\n";
+               return l;
+       }
+       Identifier * id = lookup_identifier (str);
+       if (id) {
+               DOUT << "(identifier)\n";
+               yylval.id = id;
+               return id->token_code_i_;
+       }
+       if (YYSTATE != notes) {
+               Melodic_req * mel_l = lookup_melodic_req_l (str);
+               if (mel_l) {
+                   DOUT << "(notename)\n";
+                   yylval.melreq = mel_l;
+                   return NOTENAME_ID;
+               }
+       }
+       String msg ("Unknown escaped string: `" + str + "'");   
+       LexerError (msg.ch_C ());
+       DOUT << "(string)";
+       String *sp = new String (str);
+       yylval.string=sp;
+       return STRING;
+}
+
+int
+My_lily_lexer::scan_bare_word (String str)
+{
+       DOUT << "word: `" << str<< "'\n";       
+       if (YYSTATE == notes){
+               Melodic_req * mel_l = lookup_melodic_req_l (str);
+               if (mel_l) {
+                   DOUT << "(notename)\n";
+                   yylval.melreq = mel_l;
+                   return NOTENAME_ID;
+               }
+       }
+
+       yylval.string=new String (str);
+       return STRING;
+}
+
+bool
+My_lily_lexer::note_state_b () const
+{
+       return YY_START == notes;
+}
+
+bool
+My_lily_lexer::lyric_state_b () const
+{
+       return YY_START == lyrics;
+}
+
+void
+strip_trailing_white (String&s)
+{
+       int i=0;
+       for (;  i < s.length_i (); i++) 
+               if (!isspace (s[i]))
+                       break;
+
+       s = s.nomid_str (0, i);
+}
+
+void
+strip_leading_white (String&s)
+{
+       int i=s.length_i ();    
+       while (i--) 
+               if (!isspace (s[i]))
+                       break;
+
+       s = s.left_str (i+1);
+}
index df773fa7ccdb93c51859c6523348dc4023c84112..fcf2f8e8e3f9b2e0c35e4c315fc981aabcc32215 100644 (file)
@@ -1,13 +1,11 @@
-#include "version.hh"
 #include <stdio.h>
 
+#include "config.hh"
 
-#define VERSION_SZ  MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL
+// #define VERSION_SZ  MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL
+#define VERSION_SZ TOPLEVEL_VERSION
 static char *s = "GNU LilyPond " VERSION_SZ " #%d";
 
-static const int build=
-#include ".build"
-;
 
 char const *
 lily_version_number_sz()
@@ -18,7 +16,5 @@ lily_version_number_sz()
 char const * 
 lily_version_sz()
 {
-  static char v[1024]; // ugh
-  sprintf (v, s, build);
-  return v;
+       return s;
 }
index 1aa7bb77e9317e748ca6bc262c3830399bfe0481..43495eb06cf6a01b960febcc02baa7b151bd5ef0 100644 (file)
@@ -23,6 +23,7 @@
 static Keyword_ent the_key_tab[]={
   {"accepts", ACCEPTS},
   {"bar", BAR},
+  {"break", BREAK},
   {"cadenza", CADENZA},
   {"clear", CLEAR},
   {"clef", CLEF},
diff --git a/lily/out/dummy.dep b/lily/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lily/parser.cc b/lily/parser.cc
new file mode 100644 (file)
index 0000000..7c9149b
--- /dev/null
@@ -0,0 +1,2841 @@
+
+/*  A Bison parser, made from parser.yy
+ by  GNU Bison version 1.25
+  */
+
+#define YYBISON 1  /* Identify Bison output.  */
+
+#define        ALIAS   258
+#define        BAR     259
+#define        BEAMPLET        260
+#define        MAEBTELP        261
+#define        BREAK   262
+#define        CADENZA 263
+#define        CLEAR   264
+#define        CLEF    265
+#define        CONTAINS        266
+#define        CONSISTS        267
+#define        ACCEPTS 268
+#define        CM_T    269
+#define        DURATION        270
+#define        ABSDYNAMIC      271
+#define        END     272
+#define        GROUPING        273
+#define        TRANSLATOR      274
+#define        HEADER  275
+#define        IN_T    276
+#define        LYRIC   277
+#define        KEY     278
+#define        MELODIC 279
+#define        MIDI    280
+#define        MELODIC_REQUEST 281
+#define        METER   282
+#define        MM_T    283
+#define        MULTI   284
+#define        NOTENAMES       285
+#define        OCTAVE  286
+#define        OUTPUT  287
+#define        PAPER   288
+#define        PARTIAL 289
+#define        PLET    290
+#define        TELP    291
+#define        PT_T    292
+#define        SCORE   293
+#define        SCRIPT  294
+#define        SHAPE   295
+#define        SKIP    296
+#define        SPANDYNAMIC     297
+#define        STAFF   298
+#define        START_T 299
+#define        SYMBOLTABLES    300
+#define        TABLE   301
+#define        TRANSPOSE       302
+#define        TEMPO   303
+#define        TYPE    304
+#define        TEXID   305
+#define        TEXTSTYLE       306
+#define        TITLE   307
+#define        PROPERTY        308
+#define        VERSION 309
+#define        E_EXCLAMATION   310
+#define        E_SMALLER       311
+#define        E_BIGGER        312
+#define        E_CHAR  313
+#define        DIGIT   314
+#define        NOTENAME_ID     315
+#define        DURATION_IDENTIFIER     316
+#define        IDENTIFIER      317
+#define        MELODIC_REQUEST_IDENTIFIER      318
+#define        MUSIC_IDENTIFIER        319
+#define        VOICE_IDENTIFIER        320
+#define        POST_REQUEST_IDENTIFIER 321
+#define        SCRIPT_IDENTIFIER       322
+#define        COMMAND_IDENTIFIER      323
+#define        REAL_IDENTIFIER 324
+#define        TRANS_IDENTIFIER        325
+#define        INT_IDENTIFIER  326
+#define        SCORE_IDENTIFIER        327
+#define        MIDI_IDENTIFIER 328
+#define        PAPER_IDENTIFIER        329
+#define        REQUEST_IDENTIFIER      330
+#define        REAL    331
+#define        RESTNAME        332
+#define        STRING  333
+#define        UNSIGNED        334
+#define        POST_QUOTES     335
+#define        PRE_QUOTES      336
+
+#line 1 "parser.yy"
+ // -*-Fundamental-*-
+
+/*
+  parser.yy -- YACC -> C++ parser for mudela
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+           Jan Nieuwenhuizen <jan@digicash.com>
+*/
+
+#include <iostream.h>
+
+// mmm
+#define MUDELA_VERSION "0.1.9"
+
+#include "scalar.hh"
+#include "translation-property.hh"
+#include "script-def.hh"
+#include "symtable.hh"
+#include "lookup.hh"
+#include "misc.hh"
+#include "my-lily-lexer.hh"
+#include "paper-def.hh"
+#include "midi-def.hh"
+#include "main.hh"
+#include "keyword.hh"
+#include "debug.hh"
+#include "parseconstruct.hh"
+#include "dimen.hh"
+#include "identifier.hh"
+#include "command-request.hh"
+#include "musical-request.hh"
+#include "my-lily-parser.hh"
+#include "text-def.hh"
+#include "translator-group.hh"
+#include "score.hh"
+#include "music-list.hh"
+#include "header.hh"
+#include "duration-convert.hh"
+#include "change-translator.hh"
+
+int const GUESS_PLET = 5;
+int guess_plet_a[GUESS_PLET] =
+{ 
+  1,
+  3,
+  2,
+  3,
+  4
+};
+
+#ifndef NDEBUG
+#define YYDEBUG 1
+#endif
+
+#define YYERROR_VERBOSE 1
+
+#define YYPARSE_PARAM my_lily_parser_l
+#define YYLEX_PARAM my_lily_parser_l
+#define THIS ((My_lily_parser *) my_lily_parser_l)
+
+#define yyerror THIS->parser_error
+
+
+#line 68 "parser.yy"
+typedef union {
+    Array<Interval>* intarr;
+    Array<Melodic_req*> *melreqvec;/* should clean up naming */
+    Array<String> * strvec;
+    Array<int> *intvec;
+    Box *box;
+    Chord * chord;
+    Duration *duration;
+    Identifier *id;
+    Translator* trans;
+    Music *music;
+    Music_list *musiclist;
+    Score *score;
+    Header *header;
+    Interval *interval;
+    Lookup*lookup;
+    Melodic_req * melreq;
+    Musical_req* musreq;
+    Music_output_def * outputdef;
+    Midi_def* midi;
+    Moment *moment;
+    Note_req *notereq;
+    Paper_def *paper;
+    Real real;
+    Request * request;
+    General_script_def * script;
+    Scalar *scalar;
+    String *string;
+    Atom * symbol;
+    Symtable * symtable;
+    Symtables * symtables;
+    Text_def * textdef;
+    Tempo_req *tempo;
+    char c;
+    const char *consstr;
+    int i;
+    int pair[2];
+    int ii[10];
+} YYSTYPE;
+#line 107 "parser.yy"
+
+
+int
+yylex (YYSTYPE *s,  void * v_l)
+{
+       My_lily_parser   *pars_l = (My_lily_parser*) v_l;
+       My_lily_lexer * lex_l = pars_l->lexer_p_;
+
+       lex_l->lexval_l = (void*) s;
+       return lex_l->yylex ();
+}
+
+
+#include <stdio.h>
+
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
+#endif
+#endif
+
+
+
+#define        YYFINAL         353
+#define        YYFLAG          -32768
+#define        YYNTBASE        104
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 336 ? yytranslate[x] : 191)
+
+static const char yytranslate[] = {     0,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,    92,     2,     2,     2,     2,     2,     2,    95,
+    98,    86,   100,     2,   101,    87,    91,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,    97,    82,    88,
+    85,    89,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+    96,     2,    93,    99,   103,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+   102,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,    83,    90,    84,    94,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
+     6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
+    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+    36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+    56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+    66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+    76,    77,    78,    79,    80,    81
+};
+
+#if YYDEBUG != 0
+static const short yyprhs[] = {     0,
+     0,     1,     4,     7,    10,    13,    16,    19,    23,    28,
+    29,    32,    37,    38,    44,    49,    50,    53,    54,    59,
+    61,    63,    65,    67,    69,    71,    73,    75,    77,    79,
+    81,    83,    88,    90,    94,   100,   105,   110,   111,   117,
+   118,   120,   123,   126,   129,   132,   134,   136,   137,   142,
+   147,   148,   150,   155,   158,   164,   170,   175,   181,   184,
+   185,   189,   194,   195,   200,   205,   209,   212,   217,   221,
+   222,   225,   227,   231,   237,   239,   241,   243,   245,   248,
+   249,   253,   254,   258,   260,   262,   267,   274,   276,   278,
+   282,   286,   287,   290,   294,   298,   300,   303,   305,   307,
+   309,   311,   314,   316,   318,   321,   323,   328,   331,   333,
+   336,   339,   342,   345,   348,   349,   352,   355,   357,   359,
+   361,   363,   365,   367,   370,   373,   375,   378,   385,   391,
+   396,   402,   406,   409,   412,   414,   417,   419,   421,   423,
+   425,   427,   429,   433,   436,   439,   441,   443,   445,   447,
+   449,   454,   461,   464,   466,   468,   470,   472,   474,   476,
+   478,   480,   482,   484,   486,   488,   490,   492,   494,   496,
+   498,   500,   501,   504,   507,   510,   511,   515,   518,   519,
+   522,   524,   527,   528,   530,   532,   534,   536,   538,   541,
+   545,   549,   551,   554,   557,   560,   563,   564,   567,   569,
+   571,   573,   576,   578,   580,   582,   585,   587,   589,   591,
+   593,   598,   599,   601,   605,   610,   615,   616,   620,   623,
+   625,   628
+};
+
+static const short yyrhs[] = {    -1,
+   104,   109,     0,   104,   116,     0,   104,   111,     0,   104,
+     1,     0,   104,   105,     0,   104,   106,     0,    54,    78,
+    82,     0,    30,    83,   107,    84,     0,     0,   107,     9,
+     0,   107,    78,    85,   149,     0,     0,   108,    78,    85,
+   110,    82,     0,    20,    83,   108,    84,     0,     0,   110,
+    78,     0,     0,    78,   112,    85,   113,     0,   116,     0,
+   121,     0,   124,     0,   158,     0,   129,     0,   184,     0,
+   181,     0,   180,     0,   146,     0,   149,     0,   114,     0,
+   150,     0,    19,    83,   115,    84,     0,    70,     0,    49,
+    78,    82,     0,   115,    78,    85,   134,    82,     0,   115,
+    12,    78,    82,     0,   115,    13,    78,    82,     0,     0,
+    38,   117,    83,   118,    84,     0,     0,    72,     0,   118,
+   109,     0,   118,   129,     0,   118,   119,     0,   118,     1,
+     0,   121,     0,   124,     0,     0,   120,   180,    86,   180,
+     0,    33,    83,   122,    84,     0,     0,    74,     0,   122,
+    32,    78,    82,     0,   122,   184,     0,   122,    78,    85,
+   182,    82,     0,   122,    78,    85,   181,    82,     0,   122,
+    78,    85,   114,     0,   122,    40,    85,   123,    82,     0,
+   122,     1,     0,     0,   123,   182,   182,     0,    25,    83,
+   125,    84,     0,     0,   125,    78,    85,   114,     0,   125,
+    32,    78,    82,     0,   125,   126,    82,     0,   125,     1,
+     0,    48,   172,    85,   179,     0,    83,   128,    84,     0,
+     0,   128,   129,     0,   138,     0,    49,    78,   129,     0,
+    49,    78,    85,    78,   129,     0,   127,     0,   135,     0,
+   137,     0,    64,     0,    64,    82,     0,     0,    24,   130,
+   129,     0,     0,    22,   131,   129,     0,   133,     0,   132,
+     0,    19,    78,    85,    78,     0,    53,    78,    87,    78,
+    85,   134,     0,    78,     0,   180,     0,    88,   136,    89,
+     0,    29,   179,   135,     0,     0,   136,   129,     0,    47,
+   147,   129,     0,   167,   139,   144,     0,   140,     0,   168,
+    82,     0,   176,     0,   177,     0,   141,     0,   142,     0,
+   143,    82,     0,    90,     0,    68,     0,     4,    78,     0,
+     7,     0,    27,   179,    91,   179,     0,    41,   170,     0,
+   126,     0,     8,   179,     0,    34,   170,     0,    10,    78,
+     0,    23,   178,     0,    18,   120,     0,     0,   144,   145,
+     0,   144,   154,     0,   160,     0,   146,     0,    66,     0,
+   151,     0,   175,     0,    60,     0,   147,    80,     0,    81,
+   147,     0,   147,     0,   148,    92,     0,    26,    83,   180,
+   180,   180,    84,     0,    15,    83,   180,   179,    84,     0,
+    16,    83,   179,    84,     0,    42,    83,   180,   180,    84,
+     0,   179,    91,   179,     0,    91,   179,     0,    93,   152,
+     0,    36,     0,    36,   152,     0,    94,     0,    95,     0,
+    93,     0,    56,     0,    57,     0,   153,     0,    96,    97,
+   179,     0,    96,   152,     0,    35,   152,     0,    55,     0,
+    98,     0,    96,     0,   155,     0,   156,     0,    39,    83,
+   159,    84,     0,    78,   180,   180,   180,   180,   180,     0,
+   166,   161,     0,   162,     0,   165,     0,   163,     0,    78,
+     0,    59,     0,    99,     0,   100,     0,   101,     0,    90,
+     0,   102,     0,    89,     0,    87,     0,    67,     0,   158,
+     0,   164,     0,   103,     0,    99,     0,   101,     0,     0,
+   167,   157,     0,    15,    78,     0,    15,   172,     0,     0,
+    31,   169,   147,     0,    51,    78,     0,     0,   170,   174,
+     0,    87,     0,   171,    87,     0,     0,   171,     0,   174,
+     0,   172,     0,   179,     0,    61,     0,   174,    87,     0,
+   174,    86,   179,     0,   174,    91,   179,     0,    97,     0,
+    97,   179,     0,   148,   173,     0,    77,   173,     0,   162,
+   173,     0,     0,   178,    60,     0,    79,     0,    59,     0,
+   179,     0,   101,   179,     0,    71,     0,    76,     0,    69,
+     0,   181,   183,     0,    14,     0,    21,     0,    28,     0,
+    37,     0,    45,    83,   185,    84,     0,     0,    62,     0,
+   185,    50,    78,     0,   185,    78,    85,   186,     0,    46,
+    83,   187,    84,     0,     0,   187,    78,   188,     0,    78,
+   189,     0,    78,     0,   190,   190,     0,   182,   182,     0
+};
+
+#endif
+
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+   258,   259,   263,   266,   267,   268,   269,   272,   285,   288,
+   291,   294,   300,   304,   311,   318,   322,   331,   335,   342,
+   347,   351,   355,   359,   363,   367,   371,   374,   377,   381,
+   384,   391,   396,   401,   406,   411,   415,   424,   428,   442,
+   445,   448,   451,   456,   459,   464,   468,   473,   475,   484,
+   489,   493,   496,   500,   501,   504,   507,   511,   515,   520,
+   524,   531,   537,   540,   544,   548,   552,   557,   570,   576,
+   581,   586,   588,   593,   600,   601,   602,   603,   604,   605,
+   608,   610,   613,   614,   615,   618,   631,   645,   647,   651,
+   653,   659,   665,   670,   683,   688,   689,   692,   694,   697,
+   707,   709,   712,   716,   721,   726,   731,   736,   744,   747,
+   750,   754,   758,   764,   769,   778,   782,   791,   793,   796,
+   800,   803,   815,   820,   823,   829,   835,   841,   850,   858,
+   864,   872,   877,   885,   893,   900,   909,   913,   916,   919,
+   922,   925,   929,   941,   949,   958,   962,   965,   968,   970,
+   976,   980,   989,  1000,  1005,  1009,  1015,  1026,  1036,  1038,
+  1039,  1040,  1041,  1042,  1043,  1048,  1050,  1051,  1057,  1059,
+  1060,  1063,  1066,  1075,  1080,  1084,  1094,  1098,  1104,  1108,
+  1113,  1115,  1118,  1122,  1126,  1132,  1138,  1148,  1151,  1154,
+  1157,  1163,  1167,  1177,  1185,  1191,  1203,  1206,  1211,  1215,
+  1219,  1223,  1226,  1233,  1237,  1246,  1251,  1252,  1253,  1254,
+  1260,  1264,  1268,  1271,  1275,  1281,  1285,  1287,  1294,  1300,
+  1307,  1315
+};
+#endif
+
+
+#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+
+static const char * const yytname[] = {   "$","error","$undefined.","ALIAS",
+"BAR","BEAMPLET","MAEBTELP","BREAK","CADENZA","CLEAR","CLEF","CONTAINS","CONSISTS",
+"ACCEPTS","CM_T","DURATION","ABSDYNAMIC","END","GROUPING","TRANSLATOR","HEADER",
+"IN_T","LYRIC","KEY","MELODIC","MIDI","MELODIC_REQUEST","METER","MM_T","MULTI",
+"NOTENAMES","OCTAVE","OUTPUT","PAPER","PARTIAL","PLET","TELP","PT_T","SCORE",
+"SCRIPT","SHAPE","SKIP","SPANDYNAMIC","STAFF","START_T","SYMBOLTABLES","TABLE",
+"TRANSPOSE","TEMPO","TYPE","TEXID","TEXTSTYLE","TITLE","PROPERTY","VERSION",
+"E_EXCLAMATION","E_SMALLER","E_BIGGER","E_CHAR","DIGIT","NOTENAME_ID","DURATION_IDENTIFIER",
+"IDENTIFIER","MELODIC_REQUEST_IDENTIFIER","MUSIC_IDENTIFIER","VOICE_IDENTIFIER",
+"POST_REQUEST_IDENTIFIER","SCRIPT_IDENTIFIER","COMMAND_IDENTIFIER","REAL_IDENTIFIER",
+"TRANS_IDENTIFIER","INT_IDENTIFIER","SCORE_IDENTIFIER","MIDI_IDENTIFIER","PAPER_IDENTIFIER",
+"REQUEST_IDENTIFIER","REAL","RESTNAME","STRING","UNSIGNED","POST_QUOTES","PRE_QUOTES",
+"';'","'{'","'}'","'='","'*'","'.'","'<'","'>'","'|'","'/'","'!'","']'","'~'",
+"'('","'['","':'","')'","'^'","'+'","'-'","'o'","'_'","mudela","check_version",
+"add_notenames","notenames_body","mudela_header_body","mudela_header","concat_strings",
+"add_declaration","@1","identifier_init","translator_spec","translator_spec_body",
+"score_block","@2","score_body","output_def","intastint_list","paper_block",
+"paper_body","shape_array","midi_block","midi_body","tempo_request","Voice",
+"Voice_body","Music","@3","@4","translator_change","property_def","scalar","Chord",
+"Chord_body","transposed_music","full_element","simple_element","command_elt",
+"command_req","abbrev_command_req","verbose_command_req","post_requests","structured_post_request",
+"post_request","steno_melodic_req","steno_note_req","melodic_request","explicit_duration",
+"dynamic_req","plet_fraction","close_plet_parens","close_request_parens","open_abbrev_parens",
+"open_plet_parens","open_request_parens","script_definition","script_body","script_req",
+"gen_script_def","text_def","finger","script_abbreviation","mudela_script","script_dir",
+"pre_requests","voice_command","@5","duration_length","dots","entered_notemode_duration",
+"notemode_duration","explicit_steno_duration","abbrev_type","music_elt","lyrics_elt",
+"pitch_list","unsigned","int","real","dim","unit","symtables","symtables_body",
+"symtable","symtable_body","symboldef","box","dinterval", NULL
+};
+#endif
+
+static const short yyr1[] = {     0,
+   104,   104,   104,   104,   104,   104,   104,   105,   106,   107,
+   107,   107,   108,   108,   109,   110,   110,   112,   111,   113,
+   113,   113,   113,   113,   113,   113,   113,   113,   113,   113,
+   113,   114,   115,   115,   115,   115,   115,   117,   116,   118,
+   118,   118,   118,   118,   118,   119,   119,   120,   120,   121,
+   122,   122,   122,   122,   122,   122,   122,   122,   122,   123,
+   123,   124,   125,   125,   125,   125,   125,   126,   127,   128,
+   128,   129,   129,   129,   129,   129,   129,   129,   129,   130,
+   129,   131,   129,   129,   129,   132,   133,   134,   134,   135,
+   135,   136,   136,   137,   138,   138,   138,   139,   139,   140,
+   141,   141,   142,   142,   143,   143,   143,   143,   143,   143,
+   143,   143,   143,   143,   144,   144,   144,   145,   145,   146,
+   146,   146,   147,   147,   147,   148,   148,   149,   150,   151,
+   151,   152,   152,   153,   153,   153,   154,   154,   154,   154,
+   154,   154,   155,   156,   156,   157,   157,   157,   157,   157,
+   158,   159,   160,   161,   161,   161,   162,   163,   164,   164,
+   164,   164,   164,   164,   164,   165,   165,   165,   166,   166,
+   166,   167,   167,   168,   168,   169,   168,   168,   170,   170,
+   171,   171,   172,   172,   172,   173,   174,   174,   174,   174,
+   174,   175,   175,   176,   176,   177,   178,   178,   179,   179,
+   180,   180,   180,   181,   181,   182,   183,   183,   183,   183,
+   184,   185,   185,   185,   185,   186,   187,   187,   188,   188,
+   189,   190
+};
+
+static const short yyr2[] = {     0,
+     0,     2,     2,     2,     2,     2,     2,     3,     4,     0,
+     2,     4,     0,     5,     4,     0,     2,     0,     4,     1,
+     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+     1,     4,     1,     3,     5,     4,     4,     0,     5,     0,
+     1,     2,     2,     2,     2,     1,     1,     0,     4,     4,
+     0,     1,     4,     2,     5,     5,     4,     5,     2,     0,
+     3,     4,     0,     4,     4,     3,     2,     4,     3,     0,
+     2,     1,     3,     5,     1,     1,     1,     1,     2,     0,
+     3,     0,     3,     1,     1,     4,     6,     1,     1,     3,
+     3,     0,     2,     3,     3,     1,     2,     1,     1,     1,
+     1,     2,     1,     1,     2,     1,     4,     2,     1,     2,
+     2,     2,     2,     2,     0,     2,     2,     1,     1,     1,
+     1,     1,     1,     2,     2,     1,     2,     6,     5,     4,
+     5,     3,     2,     2,     1,     2,     1,     1,     1,     1,
+     1,     1,     3,     2,     2,     1,     1,     1,     1,     1,
+     4,     6,     2,     1,     1,     1,     1,     1,     1,     1,
+     1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+     1,     0,     2,     2,     2,     0,     3,     2,     0,     2,
+     1,     2,     0,     1,     1,     1,     1,     1,     2,     3,
+     3,     1,     2,     2,     2,     2,     0,     2,     1,     1,
+     1,     2,     1,     1,     1,     2,     1,     1,     1,     1,
+     4,     0,     1,     3,     4,     4,     0,     3,     2,     1,
+     2,     2
+};
+
+static const short yydefact[] = {     1,
+     0,     5,     0,     0,    38,     0,    18,     6,     7,     2,
+     4,     3,    13,    10,     0,     0,     0,     0,     0,    40,
+     8,   172,     0,    15,    11,     0,     9,    41,     0,     0,
+   106,     0,     0,   183,     0,    48,     0,    82,   197,    80,
+     0,     0,     0,     0,   176,     0,   179,     0,   179,     0,
+     0,     0,   183,     0,     0,     0,   200,    78,   120,   104,
+   205,   203,   204,   199,    70,    92,   103,   192,     0,    19,
+    30,    20,    21,    22,   109,    75,    24,    85,    84,    76,
+    77,    72,    96,   100,   101,     0,    28,    29,    31,   121,
+    23,     0,     0,   122,   201,    27,    26,    25,    16,     0,
+    45,   183,     0,    39,    42,    44,    46,    47,    43,   105,
+   110,   112,   188,   174,     0,   181,   184,   175,   185,   187,
+     0,   114,     0,     0,   172,   113,   172,    63,     0,     0,
+     0,     0,    51,   111,     0,   108,     0,   212,   123,     0,
+   172,     0,   172,   178,     0,    79,   172,   172,   193,   202,
+   102,     0,   146,   183,   157,   148,   147,   115,   126,   183,
+   149,   150,   173,   183,    98,    99,    97,     0,    12,     0,
+   182,     0,   189,     0,     0,     0,     0,     0,    33,     0,
+    83,   198,    81,     0,     0,     0,    91,   177,    52,     0,
+   180,     0,     0,     0,   213,     0,   125,   124,    94,     0,
+     0,    73,     0,    69,    71,    90,    93,     0,   145,     0,
+   186,   195,     0,   144,    95,   127,   194,   196,    17,    14,
+     0,   190,   191,   130,     0,    86,     0,     0,     0,     0,
+    32,    67,     0,     0,    62,     0,     0,   107,    59,     0,
+     0,     0,    50,    54,     0,   151,     0,     0,     0,   211,
+    68,   172,     0,   133,     0,   143,   135,   140,   141,   139,
+   137,   138,   170,   171,   169,   116,   119,   142,   117,   118,
+     0,   129,    49,    34,     0,     0,     0,     0,     0,    66,
+     0,     0,    60,     0,     0,   131,   214,     0,    74,     0,
+   132,   136,   134,   158,   166,   165,   164,   162,   159,   160,
+   161,   163,   167,   153,   154,   156,   168,   155,    36,    37,
+    88,     0,    89,    65,     0,    64,   128,    53,     0,    57,
+     0,     0,     0,     0,   215,    87,    35,    58,     0,     0,
+   207,   208,   209,   210,    56,   206,    55,     0,   217,    61,
+   152,     0,     0,   216,   220,   218,     0,   219,     0,   222,
+   221,     0,     0
+};
+
+static const short yydefgoto[] = {     1,
+     8,     9,    19,    18,    10,   168,    11,    17,    70,    71,
+   180,    12,    15,    29,   106,   122,    73,   190,   319,    74,
+   184,    75,    76,   147,    77,   127,   125,    78,    79,   312,
+    80,   148,    81,    82,   158,    83,    84,    85,    86,   215,
+   266,    87,   141,   160,    88,    89,    90,   209,   268,   269,
+   161,   162,   163,    91,   193,   270,   304,   164,   306,   307,
+   308,   271,    92,    93,   132,   134,   117,   211,   212,   119,
+    94,   165,   166,   126,    95,   313,   329,   347,   336,    98,
+   196,   325,   342,   346,   348,   349
+};
+
+static const short yypact[] = {-32768,
+    19,-32768,   -66,   -47,-32768,   -18,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,   -14,    -6,    28,    50,    -4,    12,
+-32768,   243,    46,-32768,-32768,    53,-32768,-32768,   328,    62,
+-32768,    51,    71,   134,    68,-32768,   -52,-32768,-32768,-32768,
+    91,    92,    51,    51,-32768,    97,-32768,   100,-32768,   114,
+   118,   -46,   141,   126,   127,   128,-32768,    54,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,    51,    51,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,   132,-32768,-32768,-32768,-32768,
+-32768,   113,   136,-32768,-32768,-32768,-32768,-32768,-32768,   170,
+-32768,   120,   138,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,   107,-32768,   123,-32768,   101,-32768,
+    51,   107,   137,     7,   608,   159,   608,-32768,   107,   142,
+   -23,   -46,   151,   -36,   149,   -36,   107,   168,-32768,   -46,
+   413,   147,   461,-32768,   148,-32768,   509,   557,-32768,-32768,
+-32768,    73,-32768,   141,-32768,   -27,-32768,-32768,   154,    58,
+-32768,-32768,-32768,   141,-32768,-32768,-32768,    20,-32768,    51,
+-32768,    51,-32768,    51,   152,   153,   160,   162,-32768,    34,
+-32768,-32768,-32768,    10,   107,    51,-32768,   154,-32768,     8,
+   101,   107,   157,   107,-32768,   -17,   154,-32768,-32768,    51,
+   164,-32768,   165,-32768,-32768,-32768,-32768,    51,-32768,   146,
+-32768,-32768,    51,-32768,   -12,-32768,-32768,-32768,-32768,-32768,
+   161,-32768,-32768,-32768,   107,-32768,   166,   171,   174,   169,
+-32768,-32768,   177,   172,-32768,   178,   107,-32768,-32768,   193,
+   188,   190,-32768,-32768,   107,-32768,   194,   201,   195,-32768,
+-32768,   608,   198,-32768,    51,-32768,    73,-32768,-32768,    73,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+    57,-32768,-32768,-32768,   204,   205,    83,   207,   225,-32768,
+   209,   213,-32768,    -1,   107,-32768,-32768,   200,-32768,    83,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,   215,-32768,-32768,   173,-32768,-32768,-32768,   -10,-32768,
+    13,   216,   107,   217,-32768,-32768,-32768,-32768,   139,   -48,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,   107,-32768,-32768,
+-32768,    87,   221,-32768,   -48,-32768,   -48,-32768,   -48,-32768,
+-32768,   303,-32768
+};
+
+static const short yypgoto[] = {-32768,
+-32768,-32768,-32768,-32768,   275,-32768,-32768,-32768,-32768,  -170,
+-32768,   283,-32768,-32768,-32768,-32768,   277,-32768,-32768,   279,
+-32768,   129,-32768,-32768,   -21,-32768,-32768,-32768,-32768,    27,
+   179,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,   103,   -77,-32768,   220,-32768,-32768,  -149,-32768,-32768,
+-32768,-32768,-32768,    44,-32768,-32768,-32768,    52,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,   272,-32768,   -24,    25,   -35,
+-32768,-32768,-32768,-32768,   -31,   -22,   -20,  -268,-32768,   135,
+-32768,-32768,-32768,-32768,-32768,   -25
+};
+
+
+#define        YYLAST          698
+
+
+static const short yytable[] = {    96,
+   111,    97,   120,    35,    25,    44,   214,   109,   239,   118,
+   232,   130,   131,   139,   159,   322,    13,   315,   352,     2,
+    61,   120,    57,   257,   113,   123,   331,    63,   142,    50,
+   124,    57,   248,   332,   140,    14,   149,   150,     3,   240,
+   333,   233,    64,   258,   259,   228,   229,   241,     4,   334,
+   330,    64,    51,    59,   188,   178,     5,    53,    61,    16,
+   249,   340,   197,   208,    66,    63,   250,    61,    20,   213,
+   120,   328,     6,    26,    63,    21,   179,   118,   350,    27,
+   260,   261,   262,    28,    68,   242,   263,   234,   264,   175,
+   265,   243,   170,   235,   335,    48,     7,   219,   191,   176,
+   191,   220,   120,   181,   120,   183,   185,   292,   316,    57,
+   293,   230,    22,   320,   194,   294,    57,   231,   113,   199,
+   210,   202,   120,   295,   210,   205,   207,    23,   120,    64,
+    99,    57,   120,    24,   155,   146,    64,   100,   221,   110,
+   222,    57,   223,   296,   116,   297,   298,   152,   112,   216,
+   121,    64,   331,    62,   238,   299,   300,   301,   302,   332,
+   311,    64,   237,   208,   343,    57,   333,   153,   251,   245,
+   344,   247,   139,   128,   129,   334,   254,    62,    57,   133,
+   113,   256,   135,    69,   217,    64,   172,   173,   218,   154,
+   155,   174,    57,   140,   113,    42,   137,   114,    64,    57,
+   138,   113,   273,   143,   144,   145,   116,    69,   156,   171,
+   157,   114,    64,   151,   281,   123,   115,   167,   182,    64,
+   116,   177,   285,   291,   189,   210,   192,   116,   210,   195,
+   289,   200,   186,   198,   203,   224,   255,   226,   225,   227,
+   246,   252,   253,   315,   272,   324,    30,   274,   275,    31,
+    32,   276,    33,   277,   278,   124,   279,    34,    35,   280,
+    36,    37,   323,   321,    38,    39,    40,    41,    42,    43,
+   282,    44,   283,    45,   284,    46,    47,   286,   287,   288,
+     5,    48,   290,    49,    50,   309,   310,    51,   314,    52,
+    53,    54,   317,    55,   318,    56,   327,   337,   345,   339,
+   338,    57,   353,   105,    72,   107,    58,   108,    59,   187,
+    60,    61,   236,    62,   303,   341,   326,   267,    63,   169,
+   136,    64,   305,   351,   244,    65,     0,     0,   101,     0,
+    66,    30,    67,     0,    31,    32,     0,    33,     0,    68,
+     0,     0,   102,    69,     0,    36,   103,     3,     0,    38,
+    39,    40,    41,     0,    43,     0,    44,     0,    45,     0,
+    46,    47,  -172,     0,     0,     0,     0,     0,    49,     0,
+     0,     0,     0,     0,    52,    53,    54,     0,    55,     0,
+    56,     0,  -172,     0,     0,     0,     0,  -172,     0,     0,
+     0,    58,     0,     0,     0,    60,     0,     0,     0,     0,
+     0,     0,     0,     0,  -172,  -172,     0,     0,  -172,     0,
+    65,   104,     0,     0,     0,    66,    30,    67,     0,    31,
+    32,     0,    33,  -172,     0,  -172,     0,   102,     0,     0,
+    36,   103,     0,     0,    38,    39,    40,     0,     0,    43,
+     0,    44,     0,    45,     0,     0,    47,     0,     0,     0,
+     0,     0,     0,    49,     0,     0,     0,     0,     0,    52,
+    53,    54,     0,    55,    30,    56,     0,    31,    32,     0,
+    33,     0,     0,     0,     0,   102,    58,     0,    36,   103,
+    60,     0,    38,    39,    40,     0,     0,    43,     0,    44,
+     0,    45,   198,     0,    47,    65,     0,     0,     0,     0,
+    66,    49,    67,     0,     0,     0,     0,    52,    53,    54,
+     0,    55,    30,    56,     0,    31,    32,     0,    33,     0,
+     0,     0,     0,   102,    58,     0,    36,   103,    60,     0,
+    38,    39,    40,     0,     0,    43,     0,    44,     0,    45,
+     0,     0,    47,    65,     0,   201,     0,     0,    66,    49,
+    67,     0,     0,     0,     0,    52,    53,    54,     0,    55,
+    30,    56,     0,    31,    32,     0,    33,     0,     0,     0,
+     0,   102,    58,     0,    36,   103,    60,     0,    38,    39,
+    40,     0,     0,    43,     0,    44,     0,    45,     0,     0,
+    47,    65,   204,     0,     0,     0,    66,    49,    67,     0,
+     0,     0,     0,    52,    53,    54,     0,    55,     0,    56,
+     0,    30,     0,     0,    31,    32,     0,    33,     0,     0,
+    58,     0,   102,     0,    60,    36,   103,     0,     0,    38,
+    39,    40,     0,     0,    43,     0,    44,     0,    45,    65,
+     0,    47,     0,     0,    66,   206,    67,     0,    49,     0,
+     0,     0,     0,     0,    52,    53,    54,     0,    55,     0,
+    56,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    58,     0,     0,     0,    60,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    65,     0,     0,     0,     0,    66,     0,    67
+};
+
+static const short yycheck[] = {    22,
+    32,    22,    34,    16,     9,    29,   156,    29,     1,    34,
+     1,    43,    44,    60,    92,   284,    83,    19,     0,     1,
+    69,    53,    59,    36,    61,    78,    14,    76,    53,    42,
+    83,    59,    50,    21,    81,    83,    68,    69,    20,    32,
+    28,    32,    79,    56,    57,    12,    13,    40,    30,    37,
+   319,    79,    45,    66,   132,    49,    38,    48,    69,    78,
+    78,   330,   140,    91,    88,    76,    84,    69,    83,    97,
+   102,    82,    54,    78,    76,    82,    70,   102,   347,    84,
+    93,    94,    95,    72,    97,    78,    99,    78,   101,   121,
+   103,    84,   115,    84,    82,    39,    78,    78,   134,   122,
+   136,    82,   134,   125,   136,   127,   129,   257,   279,    59,
+   260,    78,    85,   284,   137,    59,    59,    84,    61,   141,
+   152,   143,   154,    67,   156,   147,   148,    78,   160,    79,
+    85,    59,   164,    84,    78,    82,    79,    85,   170,    78,
+   172,    59,   174,    87,    87,    89,    90,    35,    78,    92,
+    83,    79,    14,    71,   186,    99,   100,   101,   102,    21,
+    78,    79,   185,    91,    78,    59,    28,    55,   200,   192,
+    84,   194,    60,    83,    83,    37,   208,    71,    59,    83,
+    61,   213,    83,   101,   160,    79,    86,    87,   164,    77,
+    78,    91,    59,    81,    61,    26,    83,    78,    79,    59,
+    83,    61,   225,    78,    78,    78,    87,   101,    96,    87,
+    98,    78,    79,    82,   237,    78,    83,    82,    60,    79,
+    87,    85,   245,   255,    74,   257,    78,    87,   260,    62,
+   252,    85,    91,    80,    87,    84,    91,    78,    86,    78,
+    84,    78,    78,    19,    84,    46,     4,    82,    78,     7,
+     8,    78,    10,    85,    78,    83,    85,    15,    16,    82,
+    18,    19,   285,   284,    22,    23,    24,    25,    26,    27,
+    78,    29,    85,    31,    85,    33,    34,    84,    78,    85,
+    38,    39,    85,    41,    42,    82,    82,    45,    82,    47,
+    48,    49,    84,    51,    82,    53,    82,    82,    78,    83,
+   323,    59,     0,    29,    22,    29,    64,    29,    66,   131,
+    68,    69,   184,    71,   271,   338,   290,   215,    76,   100,
+    49,    79,   271,   349,   190,    83,    -1,    -1,     1,    -1,
+    88,     4,    90,    -1,     7,     8,    -1,    10,    -1,    97,
+    -1,    -1,    15,   101,    -1,    18,    19,    20,    -1,    22,
+    23,    24,    25,    -1,    27,    -1,    29,    -1,    31,    -1,
+    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    41,    -1,
+    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    51,    -1,
+    53,    -1,    55,    -1,    -1,    -1,    -1,    60,    -1,    -1,
+    -1,    64,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    77,    78,    -1,    -1,    81,    -1,
+    83,    84,    -1,    -1,    -1,    88,     4,    90,    -1,     7,
+     8,    -1,    10,    96,    -1,    98,    -1,    15,    -1,    -1,
+    18,    19,    -1,    -1,    22,    23,    24,    -1,    -1,    27,
+    -1,    29,    -1,    31,    -1,    -1,    34,    -1,    -1,    -1,
+    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,    47,
+    48,    49,    -1,    51,     4,    53,    -1,     7,     8,    -1,
+    10,    -1,    -1,    -1,    -1,    15,    64,    -1,    18,    19,
+    68,    -1,    22,    23,    24,    -1,    -1,    27,    -1,    29,
+    -1,    31,    80,    -1,    34,    83,    -1,    -1,    -1,    -1,
+    88,    41,    90,    -1,    -1,    -1,    -1,    47,    48,    49,
+    -1,    51,     4,    53,    -1,     7,     8,    -1,    10,    -1,
+    -1,    -1,    -1,    15,    64,    -1,    18,    19,    68,    -1,
+    22,    23,    24,    -1,    -1,    27,    -1,    29,    -1,    31,
+    -1,    -1,    34,    83,    -1,    85,    -1,    -1,    88,    41,
+    90,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    51,
+     4,    53,    -1,     7,     8,    -1,    10,    -1,    -1,    -1,
+    -1,    15,    64,    -1,    18,    19,    68,    -1,    22,    23,
+    24,    -1,    -1,    27,    -1,    29,    -1,    31,    -1,    -1,
+    34,    83,    84,    -1,    -1,    -1,    88,    41,    90,    -1,
+    -1,    -1,    -1,    47,    48,    49,    -1,    51,    -1,    53,
+    -1,     4,    -1,    -1,     7,     8,    -1,    10,    -1,    -1,
+    64,    -1,    15,    -1,    68,    18,    19,    -1,    -1,    22,
+    23,    24,    -1,    -1,    27,    -1,    29,    -1,    31,    83,
+    -1,    34,    -1,    -1,    88,    89,    90,    -1,    41,    -1,
+    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    51,    -1,
+    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    64,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    83,    -1,    -1,    -1,    -1,    88,    -1,    90
+};
+#define YYPURE 1
+
+/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
+#line 3 "/usr/lib/bison.simple"
+
+/* Skeleton output parser for bison,
+   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+#ifndef alloca
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not GNU C.  */
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
+#include <alloca.h>
+#else /* not sparc */
+#if defined (MSDOS) && !defined (__TURBOC__)
+#include <malloc.h>
+#else /* not MSDOS, or __TURBOC__ */
+#if defined(_AIX)
+#include <malloc.h>
+ #pragma alloca
+#else /* not MSDOS, __TURBOC__, or _AIX */
+#ifdef __hpux
+#ifdef __cplusplus
+extern "C" {
+void *alloca (unsigned int);
+};
+#else /* not __cplusplus */
+void *alloca ();
+#endif /* not __cplusplus */
+#endif /* __hpux */
+#endif /* not _AIX */
+#endif /* not MSDOS, or __TURBOC__ */
+#endif /* not sparc.  */
+#endif /* not GNU C.  */
+#endif /* alloca not defined.  */
+
+/* This is the parser code that is written into each bison parser
+  when the %semantic_parser declaration is not specified in the grammar.
+  It was written by Richard Stallman by simplifying the hairy parser
+  used when %semantic_parser is specified.  */
+
+/* Note: there must be only one dollar sign in this file.
+   It is replaced by the list of actions, each action
+   as one case of the switch.  */
+
+#define yyerrok                (yyerrstatus = 0)
+#define yyclearin      (yychar = YYEMPTY)
+#define YYEMPTY                -2
+#define YYEOF          0
+#define YYACCEPT       return(0)
+#define YYABORT        return(1)
+#define YYERROR                goto yyerrlab1
+/* Like YYERROR except do call yyerror.
+   This remains here temporarily to ease the
+   transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+#define YYFAIL         goto yyerrlab
+#define YYRECOVERING()  (!!yyerrstatus)
+#define YYBACKUP(token, value) \
+do                                                             \
+  if (yychar == YYEMPTY && yylen == 1)                         \
+    { yychar = (token), yylval = (value);                      \
+      yychar1 = YYTRANSLATE (yychar);                          \
+      YYPOPSTACK;                                              \
+      goto yybackup;                                           \
+    }                                                          \
+  else                                                         \
+    { yyerror ("syntax error: cannot back up"); YYERROR; }     \
+while (0)
+
+#define YYTERROR       1
+#define YYERRCODE      256
+
+#ifndef YYPURE
+#define YYLEX          yylex()
+#endif
+
+#ifdef YYPURE
+#ifdef YYLSP_NEEDED
+#ifdef YYLEX_PARAM
+#define YYLEX          yylex(&yylval, &yylloc, YYLEX_PARAM)
+#else
+#define YYLEX          yylex(&yylval, &yylloc)
+#endif
+#else /* not YYLSP_NEEDED */
+#ifdef YYLEX_PARAM
+#define YYLEX          yylex(&yylval, YYLEX_PARAM)
+#else
+#define YYLEX          yylex(&yylval)
+#endif
+#endif /* not YYLSP_NEEDED */
+#endif
+
+/* If nonreentrant, generate the variables here */
+
+#ifndef YYPURE
+
+int    yychar;                 /*  the lookahead symbol                */
+YYSTYPE        yylval;                 /*  the semantic value of the           */
+                               /*  lookahead symbol                    */
+
+#ifdef YYLSP_NEEDED
+YYLTYPE yylloc;                        /*  location data for the lookahead     */
+                               /*  symbol                              */
+#endif
+
+int yynerrs;                   /*  number of parse errors so far       */
+#endif  /* not YYPURE */
+
+#if YYDEBUG != 0
+int yydebug;                   /*  nonzero means print parse trace     */
+/* Since this is uninitialized, it does not stop multiple parsers
+   from coexisting.  */
+#endif
+
+/*  YYINITDEPTH indicates the initial size of the parser's stacks      */
+
+#ifndef        YYINITDEPTH
+#define YYINITDEPTH 200
+#endif
+
+/*  YYMAXDEPTH is the maximum size the stacks can grow to
+    (effective only if the built-in stack extension method is used).  */
+
+#if YYMAXDEPTH == 0
+#undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+#define YYMAXDEPTH 10000
+#endif
+
+/* Prevent warning if -Wstrict-prototypes.  */
+#ifdef __GNUC__
+int yyparse (void);
+#endif
+\f
+#if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
+#define __yy_memcpy(TO,FROM,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
+#else                          /* not GNU C or C++ */
+#ifndef __cplusplus
+
+/* This is the most reliable way to avoid incompatibilities
+   in available built-in functions on various systems.  */
+static void
+__yy_memcpy (to, from, count)
+     char *to;
+     char *from;
+     int count;
+{
+  register char *f = from;
+  register char *t = to;
+  register int i = count;
+
+  while (i-- > 0)
+    *t++ = *f++;
+}
+
+#else /* __cplusplus */
+
+/* This is the most reliable way to avoid incompatibilities
+   in available built-in functions on various systems.  */
+static void
+__yy_memcpy (char *to, char *from, int count)
+{
+  register char *f = from;
+  register char *t = to;
+  register int i = count;
+
+  while (i-- > 0)
+    *t++ = *f++;
+}
+
+#endif
+#endif
+\f
+#line 196 "/usr/lib/bison.simple"
+
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+   into yyparse.  The argument should have type void *.
+   It should actually point to an object.
+   Grammar actions can access the variable by casting it
+   to the proper pointer type.  */
+
+#ifdef YYPARSE_PARAM
+#ifdef __cplusplus
+#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL
+#else /* not __cplusplus */
+#define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+#endif /* not __cplusplus */
+#else /* not YYPARSE_PARAM */
+#define YYPARSE_PARAM_ARG
+#define YYPARSE_PARAM_DECL
+#endif /* not YYPARSE_PARAM */
+
+int
+yyparse(YYPARSE_PARAM_ARG)
+     YYPARSE_PARAM_DECL
+{
+  register int yystate;
+  register int yyn;
+  register short *yyssp;
+  register YYSTYPE *yyvsp;
+  int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
+  int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
+
+  short        yyssa[YYINITDEPTH];     /*  the state stack                     */
+  YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
+
+  short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
+  YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
+
+#ifdef YYLSP_NEEDED
+  YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
+  YYLTYPE *yyls = yylsa;
+  YYLTYPE *yylsp;
+
+#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
+#else
+#define YYPOPSTACK   (yyvsp--, yyssp--)
+#endif
+
+  int yystacksize = YYINITDEPTH;
+
+#ifdef YYPURE
+  int yychar;
+  YYSTYPE yylval;
+  int yynerrs;
+#ifdef YYLSP_NEEDED
+  YYLTYPE yylloc;
+#endif
+#endif
+
+  YYSTYPE yyval;               /*  the variable used to return         */
+                               /*  semantic values from the action     */
+                               /*  routines                            */
+
+  int yylen;
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Starting parse\n");
+#endif
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;            /* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss - 1;
+  yyvsp = yyvs;
+#ifdef YYLSP_NEEDED
+  yylsp = yyls;
+#endif
+
+/* Push a new state, which is found in  yystate  .  */
+/* In all cases, when you get here, the value and location stacks
+   have just been pushed. so pushing a state here evens the stacks.  */
+yynewstate:
+
+  *++yyssp = yystate;
+
+  if (yyssp >= yyss + yystacksize - 1)
+    {
+      /* Give user a chance to reallocate the stack */
+      /* Use copies of these so that the &'s don't force the real ones into memory. */
+      YYSTYPE *yyvs1 = yyvs;
+      short *yyss1 = yyss;
+#ifdef YYLSP_NEEDED
+      YYLTYPE *yyls1 = yyls;
+#endif
+
+      /* Get the current used size of the three stacks, in elements.  */
+      int size = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      /* Each stack pointer address is followed by the size of
+        the data in use in that stack, in bytes.  */
+#ifdef YYLSP_NEEDED
+      /* This used to be a conditional around just the two extra args,
+        but that might be undefined if yyoverflow is a macro.  */
+      yyoverflow("parser stack overflow",
+                &yyss1, size * sizeof (*yyssp),
+                &yyvs1, size * sizeof (*yyvsp),
+                &yyls1, size * sizeof (*yylsp),
+                &yystacksize);
+#else
+      yyoverflow("parser stack overflow",
+                &yyss1, size * sizeof (*yyssp),
+                &yyvs1, size * sizeof (*yyvsp),
+                &yystacksize);
+#endif
+
+      yyss = yyss1; yyvs = yyvs1;
+#ifdef YYLSP_NEEDED
+      yyls = yyls1;
+#endif
+#else /* no yyoverflow */
+      /* Extend the stack our own way.  */
+      if (yystacksize >= YYMAXDEPTH)
+       {
+         yyerror("parser stack overflow");
+         return 2;
+       }
+      yystacksize *= 2;
+      if (yystacksize > YYMAXDEPTH)
+       yystacksize = YYMAXDEPTH;
+      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
+      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
+      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
+      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
+#ifdef YYLSP_NEEDED
+      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
+      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
+#endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + size - 1;
+      yyvsp = yyvs + size - 1;
+#ifdef YYLSP_NEEDED
+      yylsp = yyls + size - 1;
+#endif
+
+#if YYDEBUG != 0
+      if (yydebug)
+       fprintf(stderr, "Stack size increased to %d\n", yystacksize);
+#endif
+
+      if (yyssp >= yyss + yystacksize - 1)
+       YYABORT;
+    }
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Entering state %d\n", yystate);
+#endif
+
+  goto yybackup;
+ yybackup:
+
+/* Do appropriate processing given the current state.  */
+/* Read a lookahead token if we need one and don't already have one.  */
+/* yyresume: */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+
+  yyn = yypact[yystate];
+  if (yyn == YYFLAG)
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* yychar is either YYEMPTY or YYEOF
+     or a valid token in external form.  */
+
+  if (yychar == YYEMPTY)
+    {
+#if YYDEBUG != 0
+      if (yydebug)
+       fprintf(stderr, "Reading a token: ");
+#endif
+      yychar = YYLEX;
+    }
+
+  /* Convert token to internal form (in yychar1) for indexing tables with */
+
+  if (yychar <= 0)             /* This means end of input. */
+    {
+      yychar1 = 0;
+      yychar = YYEOF;          /* Don't call YYLEX any more */
+
+#if YYDEBUG != 0
+      if (yydebug)
+       fprintf(stderr, "Now at end of input.\n");
+#endif
+    }
+  else
+    {
+      yychar1 = YYTRANSLATE(yychar);
+
+#if YYDEBUG != 0
+      if (yydebug)
+       {
+         fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
+         /* Give the individual parser a way to print the precise meaning
+            of a token, for further debugging info.  */
+#ifdef YYPRINT
+         YYPRINT (stderr, yychar, yylval);
+#endif
+         fprintf (stderr, ")\n");
+       }
+#endif
+    }
+
+  yyn += yychar1;
+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+    goto yydefault;
+
+  yyn = yytable[yyn];
+
+  /* yyn is what to do for this token type in this state.
+     Negative => reduce, -yyn is rule number.
+     Positive => shift, yyn is new state.
+       New state is final state => don't bother to shift,
+       just return success.
+     0, or most negative number => error.  */
+
+  if (yyn < 0)
+    {
+      if (yyn == YYFLAG)
+       goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+  else if (yyn == 0)
+    goto yyerrlab;
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Shift the lookahead token.  */
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+#endif
+
+  /* Discard the token being shifted unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  *++yyvsp = yylval;
+#ifdef YYLSP_NEEDED
+  *++yylsp = yylloc;
+#endif
+
+  /* count tokens shifted since error; after three, turn off error status.  */
+  if (yyerrstatus) yyerrstatus--;
+
+  yystate = yyn;
+  goto yynewstate;
+
+/* Do the default action for the current state.  */
+yydefault:
+
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+
+/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+yyreduce:
+  yylen = yyr2[yyn];
+  if (yylen > 0)
+    yyval = yyvsp[1-yylen]; /* implement default value of the action */
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      int i;
+
+      fprintf (stderr, "Reducing via rule %d (line %d), ",
+              yyn, yyrline[yyn]);
+
+      /* Print the symbols being reduced, and their result.  */
+      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+       fprintf (stderr, "%s ", yytname[yyrhs[i]]);
+      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+    }
+#endif
+
+
+  switch (yyn) {
+
+case 2:
+#line 259 "parser.yy"
+{
+               delete THIS->default_header_p_ ;
+               THIS->default_header_p_ = yyvsp[0].header;
+       ;
+    break;}
+case 3:
+#line 263 "parser.yy"
+{
+               add_score (yyvsp[0].score);
+       ;
+    break;}
+case 4:
+#line 266 "parser.yy"
+{ ;
+    break;}
+case 6:
+#line 268 "parser.yy"
+{ ;
+    break;}
+case 7:
+#line 269 "parser.yy"
+{ ;
+    break;}
+case 8:
+#line 273 "parser.yy"
+{
+               if (String (*yyvsp[-1].string) != MUDELA_VERSION) {
+                       if (THIS->ignore_version_b_) {
+                               THIS->here_input ().error ("Incorrect mudela version");
+                       } else {
+                               THIS->fatal_error_i_ = 1;
+                               THIS->parser_error ("Incorrect mudela version");
+                       }
+               }
+       ;
+    break;}
+case 10:
+#line 289 "parser.yy"
+{
+       ;
+    break;}
+case 11:
+#line 291 "parser.yy"
+{
+               THIS->clear_notenames ();
+       ;
+    break;}
+case 12:
+#line 294 "parser.yy"
+{
+               THIS->add_notename (*yyvsp[-2].string, yyvsp[0].melreq);
+               delete yyvsp[-2].string;
+       ;
+    break;}
+case 13:
+#line 301 "parser.yy"
+{
+               yyval.header = new Header;
+       ;
+    break;}
+case 14:
+#line 304 "parser.yy"
+{
+               (*yyval.header)[*yyvsp[-3].string] = *yyvsp[-1].string;
+               delete yyvsp[-3].string;
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 15:
+#line 312 "parser.yy"
+{
+               yyval.header = yyvsp[-1].header;
+       ;
+    break;}
+case 16:
+#line 319 "parser.yy"
+{
+               yyval.string = new String;
+       ;
+    break;}
+case 17:
+#line 322 "parser.yy"
+{
+               *yyval.string += *yyvsp[0].string;
+       ;
+    break;}
+case 18:
+#line 332 "parser.yy"
+{
+               THIS->remember_spot ();
+       ;
+    break;}
+case 19:
+#line 335 "parser.yy"
+{
+           THIS->lexer_p_->set_identifier (*yyvsp[-3].string, yyvsp[0].id);
+           yyvsp[0].id->init_b_ = THIS->init_parse_b_;
+           yyvsp[0].id->set_spot (THIS->pop_spot ());
+       ;
+    break;}
+case 20:
+#line 343 "parser.yy"
+{
+               yyval.id = new Score_id (yyvsp[0].score, SCORE_IDENTIFIER);
+
+       ;
+    break;}
+case 21:
+#line 347 "parser.yy"
+{
+               yyval.id = new Paper_def_id (yyvsp[0].paper, PAPER_IDENTIFIER);
+
+       ;
+    break;}
+case 22:
+#line 351 "parser.yy"
+{
+               yyval.id = new Midi_def_id (yyvsp[0].midi, MIDI_IDENTIFIER);
+
+       ;
+    break;}
+case 23:
+#line 355 "parser.yy"
+{
+               yyval.id = new Script_id (yyvsp[0].script, SCRIPT_IDENTIFIER);
+
+       ;
+    break;}
+case 24:
+#line 359 "parser.yy"
+{
+               yyval.id = new Music_id (yyvsp[0].music, MUSIC_IDENTIFIER);
+
+       ;
+    break;}
+case 25:
+#line 363 "parser.yy"
+{
+               yyval.id = new Lookup_id (yyvsp[0].lookup, IDENTIFIER);
+
+       ;
+    break;}
+case 26:
+#line 367 "parser.yy"
+{
+               yyval.id = new Real_id (new Real (yyvsp[0].real), REAL_IDENTIFIER);
+
+       ;
+    break;}
+case 27:
+#line 371 "parser.yy"
+{
+               yyval.id = new Int_id (new int (yyvsp[0].i), INT_IDENTIFIER);
+       ;
+    break;}
+case 28:
+#line 374 "parser.yy"
+{
+               yyval.id = new Request_id (yyvsp[0].request, POST_REQUEST_IDENTIFIER);
+       ;
+    break;}
+case 29:
+#line 377 "parser.yy"
+{
+               yyval.id = new Request_id (yyvsp[0].melreq, MELODIC_REQUEST_IDENTIFIER);
+
+       ;
+    break;}
+case 30:
+#line 381 "parser.yy"
+{
+               yyval.id = new Translator_id (yyvsp[0].trans, TRANS_IDENTIFIER);
+       ;
+    break;}
+case 31:
+#line 384 "parser.yy"
+{
+               yyval.id = new Duration_id (yyvsp[0].duration, DURATION_IDENTIFIER);
+       ;
+    break;}
+case 32:
+#line 393 "parser.yy"
+{ yyval.trans = yyvsp[-1].trans; ;
+    break;}
+case 33:
+#line 397 "parser.yy"
+{
+               yyval.trans = yyvsp[0].id->translator ();
+               yyval.trans-> set_spot (THIS->here_input ());
+       ;
+    break;}
+case 34:
+#line 401 "parser.yy"
+{
+               yyval.trans = get_translator_l (*yyvsp[-1].string)->clone ();
+               yyval.trans->set_spot (THIS->here_input ());
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 35:
+#line 406 "parser.yy"
+{
+               yyval.trans-> set_property (*yyvsp[-3].string, *yyvsp[-1].scalar);
+               delete yyvsp[-3].string;
+               delete yyvsp[-1].scalar;
+       ;
+    break;}
+case 36:
+#line 411 "parser.yy"
+{
+               yyval.trans->group_l ()->consists_str_arr_.push (*yyvsp[-1].string);
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 37:
+#line 415 "parser.yy"
+{
+               yyval.trans->group_l ()->accepts_str_arr_.push (*yyvsp[-1].string);
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 38:
+#line 425 "parser.yy"
+{ THIS->remember_spot ();
+               THIS->error_level_i_ =0;
+       ;
+    break;}
+case 39:
+#line 428 "parser.yy"
+{
+               yyval.score = yyvsp[-1].score;
+               yyval.score->set_spot (THIS->pop_spot ());
+               if (!yyval.score->def_p_arr_.size ())
+                       yyval.score->add (THIS->default_paper ());
+
+               /* handle error levels. */
+               yyval.score->errorlevel_i_ = THIS->error_level_i_;
+               THIS->error_level_i_ = 0;
+               if (!yyval.score->header_p_ && THIS->default_header_p_)
+                       yyval.score->header_p_ = new Header (*THIS->default_header_p_);
+       ;
+    break;}
+case 40:
+#line 442 "parser.yy"
+{
+               yyval.score = new Score;
+       ;
+    break;}
+case 41:
+#line 445 "parser.yy"
+{
+               yyval.score = yyvsp[0].id->score ();
+       ;
+    break;}
+case 42:
+#line 448 "parser.yy"
+{
+               yyval.score->header_p_ = yyvsp[0].header;
+       ;
+    break;}
+case 43:
+#line 451 "parser.yy"
+{
+               if (yyval.score->music_p_)
+                       yyvsp[0].music->warning ("More than one music block");  
+               yyval.score->music_p_ = yyvsp[0].music;
+       ;
+    break;}
+case 44:
+#line 456 "parser.yy"
+{
+               yyval.score->add (yyvsp[0].outputdef);
+       ;
+    break;}
+case 45:
+#line 459 "parser.yy"
+{
+
+       ;
+    break;}
+case 46:
+#line 465 "parser.yy"
+{
+               yyval.outputdef = yyvsp[0].paper;
+       ;
+    break;}
+case 47:
+#line 468 "parser.yy"
+{
+               yyval.outputdef= yyvsp[0].midi;
+       ;
+    break;}
+case 48:
+#line 474 "parser.yy"
+{ yyval.intvec =new Array<int>; ;
+    break;}
+case 49:
+#line 475 "parser.yy"
+{
+               yyval.intvec->push (yyvsp[-2].i); yyval.intvec->push (yyvsp[0].i);
+       ;
+    break;}
+case 50:
+#line 486 "parser.yy"
+{ yyval.paper = yyvsp[-1].paper; ;
+    break;}
+case 51:
+#line 490 "parser.yy"
+{
+               yyval.paper = THIS->default_paper ();
+       ;
+    break;}
+case 52:
+#line 493 "parser.yy"
+{
+               yyval.paper = yyvsp[0].id->paperdef ();
+       ;
+    break;}
+case 53:
+#line 496 "parser.yy"
+{ 
+               yyval.paper->outfile_str_ = *yyvsp[-1].string;
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 54:
+#line 500 "parser.yy"
+{ yyval.paper->set (yyvsp[0].lookup); ;
+    break;}
+case 55:
+#line 501 "parser.yy"
+{
+               yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
+       ;
+    break;}
+case 56:
+#line 504 "parser.yy"
+{
+               yyval.paper->set_var (*yyvsp[-3].string, yyvsp[-1].real);
+       ;
+    break;}
+case 57:
+#line 507 "parser.yy"
+{
+               yyval.paper-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
+               delete yyvsp[-2].string;
+       ;
+    break;}
+case 58:
+#line 511 "parser.yy"
+{
+               yyval.paper->shape_int_a_ = *yyvsp[-1].intarr;
+               delete yyvsp[-1].intarr;
+       ;
+    break;}
+case 59:
+#line 515 "parser.yy"
+{
+
+       ;
+    break;}
+case 60:
+#line 521 "parser.yy"
+{
+               yyval.intarr = new Array<Interval>;
+       ;
+    break;}
+case 61:
+#line 524 "parser.yy"
+{
+               yyval.intarr->push(Interval(yyvsp[-1].real, yyvsp[-1].real + yyvsp[0].real));
+       ;
+    break;}
+case 62:
+#line 534 "parser.yy"
+{ yyval.midi = yyvsp[-1].midi; ;
+    break;}
+case 63:
+#line 537 "parser.yy"
+{
+               yyval.midi = THIS->default_midi ();
+       ;
+    break;}
+case 64:
+#line 540 "parser.yy"
+{
+               yyval.midi-> assign_translator (*yyvsp[-2].string, yyvsp[0].trans);
+               delete yyvsp[-2].string;
+       ;
+    break;}
+case 65:
+#line 544 "parser.yy"
+{
+               yyval.midi->outfile_str_ = *yyvsp[-1].string;
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 66:
+#line 548 "parser.yy"
+{
+               yyval.midi->set_tempo (yyvsp[-1].tempo->dur_.length (), yyvsp[-1].tempo->metronome_i_);
+               delete yyvsp[-1].tempo;
+       ;
+    break;}
+case 67:
+#line 552 "parser.yy"
+{
+
+       ;
+    break;}
+case 68:
+#line 558 "parser.yy"
+{
+               yyval.tempo = new Tempo_req;
+               yyval.tempo->dur_ = *yyvsp[-2].duration;
+               delete yyvsp[-2].duration;
+               yyval.tempo-> metronome_i_ = yyvsp[0].i;
+       ;
+    break;}
+case 69:
+#line 571 "parser.yy"
+{
+               yyval.musiclist = yyvsp[-1].musiclist;
+       ;
+    break;}
+case 70:
+#line 577 "parser.yy"
+{
+               yyval.musiclist = new Voice;
+               yyval.musiclist->set_spot (THIS->here_input ());
+       ;
+    break;}
+case 71:
+#line 581 "parser.yy"
+{
+               yyval.musiclist->add (yyvsp[0].music);
+       ;
+    break;}
+case 72:
+#line 587 "parser.yy"
+{ yyval.music = yyvsp[0].music; ;
+    break;}
+case 73:
+#line 588 "parser.yy"
+{
+               yyval.music = yyvsp[0].music;
+               yyval.music->translator_type_str_ = *yyvsp[-1].string;
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 74:
+#line 593 "parser.yy"
+{
+               yyval.music = yyvsp[0].music;
+               yyval.music->translator_type_str_ = *yyvsp[-3].string;
+               yyval.music->translator_id_str_ = *yyvsp[-1].string;
+               delete yyvsp[-3].string;
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 75:
+#line 600 "parser.yy"
+{ yyval.music = yyvsp[0].musiclist; ;
+    break;}
+case 76:
+#line 601 "parser.yy"
+{ yyval.music = yyvsp[0].chord; ;
+    break;}
+case 77:
+#line 602 "parser.yy"
+{ yyval.music = yyvsp[0].music; ;
+    break;}
+case 78:
+#line 603 "parser.yy"
+{ yyval.music = yyvsp[0].id->music (); ;
+    break;}
+case 79:
+#line 604 "parser.yy"
+{ yyval.music = yyvsp[-1].id->music (); ;
+    break;}
+case 80:
+#line 606 "parser.yy"
+{ THIS->lexer_p_->push_note_state (); ;
+    break;}
+case 81:
+#line 608 "parser.yy"
+{ yyval.music=yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
+    break;}
+case 82:
+#line 611 "parser.yy"
+{ THIS->lexer_p_->push_lyric_state (); ;
+    break;}
+case 83:
+#line 613 "parser.yy"
+{ yyval.music = yyvsp[0].music; THIS->lexer_p_->pop_state (); ;
+    break;}
+case 86:
+#line 619 "parser.yy"
+{
+               Change_translator * t = new Change_translator;
+               t-> change_to_type_str_ = *yyvsp[-2].string;
+               t-> change_to_id_str_ = *yyvsp[0].string;
+
+               yyval.music = t;
+               yyval.music->set_spot (THIS->here_input ());
+               delete yyvsp[-2].string;
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 87:
+#line 632 "parser.yy"
+{
+               Translation_property *t = new Translation_property;
+               t-> translator_type_str_ = *yyvsp[-4].string;
+               t-> var_str_ = *yyvsp[-2].string;
+               t-> value_ = *yyvsp[0].scalar;
+               yyval.music = t;
+               yyval.music->set_spot (THIS->here_input ());
+               delete yyvsp[-4].string;
+               delete yyvsp[-2].string;
+               delete yyvsp[0].scalar;
+       ;
+    break;}
+case 88:
+#line 646 "parser.yy"
+{ yyval.scalar = new Scalar (*yyvsp[0].string); delete yyvsp[0].string; ;
+    break;}
+case 89:
+#line 647 "parser.yy"
+{ yyval.scalar = new Scalar (yyvsp[0].i); ;
+    break;}
+case 90:
+#line 652 "parser.yy"
+{ yyval.chord  = yyvsp[-1].chord; ;
+    break;}
+case 91:
+#line 653 "parser.yy"
+{
+               yyval.chord = yyvsp[0].chord;
+               yyval.chord->multi_level_i_=yyvsp[-1].i;
+       ;
+    break;}
+case 92:
+#line 660 "parser.yy"
+{
+               yyval.chord = new Chord;
+               yyval.chord-> multi_level_i_ = 1;
+               yyval.chord->set_spot (THIS->here_input ());
+       ;
+    break;}
+case 93:
+#line 665 "parser.yy"
+{
+               yyval.chord->add (yyvsp[0].music);
+       ;
+    break;}
+case 94:
+#line 671 "parser.yy"
+{
+               yyval.music = yyvsp[0].music;
+               yyval.music -> transpose (yyvsp[-1].melreq);
+
+               delete yyvsp[-1].melreq;
+       ;
+    break;}
+case 95:
+#line 684 "parser.yy"
+{
+               THIS->add_requests ((Chord*)yyvsp[-1].music);//ugh
+               yyval.music = yyvsp[-1].music;
+       ;
+    break;}
+case 97:
+#line 689 "parser.yy"
+{ yyval.music = 0; ;
+    break;}
+case 100:
+#line 698 "parser.yy"
+{
+               yyval.music = new Request_chord;
+               yyval.music-> set_spot (THIS->here_input ());
+               yyvsp[0].request-> set_spot (THIS->here_input ());
+               ((Chord*)yyval.music) ->add (yyvsp[0].request);//ugh
+
+       ;
+    break;}
+case 102:
+#line 709 "parser.yy"
+{ yyval.request = yyvsp[-1].request; ;
+    break;}
+case 103:
+#line 713 "parser.yy"
+{
+               yyval.request = new Barcheck_req;
+       ;
+    break;}
+case 104:
+#line 716 "parser.yy"
+{
+               yyval.request = yyvsp[0].id->request ();
+       ;
+    break;}
+case 105:
+#line 722 "parser.yy"
+{
+               yyval.request = new Bar_req (*yyvsp[0].string);
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 106:
+#line 726 "parser.yy"
+{
+               Break_force_req * f = new Break_force_req;
+               f-> set_spot (THIS->here_input ());
+               yyval.request = f;
+       ;
+    break;}
+case 107:
+#line 731 "parser.yy"
+{
+               Meter_change_req *m = new Meter_change_req;
+               m->set (yyvsp[-2].i,yyvsp[0].i);
+               yyval.request = m;
+       ;
+    break;}
+case 108:
+#line 736 "parser.yy"
+{
+               Skip_req * skip_p = new Skip_req;
+               skip_p->duration_.set_plet (yyvsp[0].moment->num (),
+                       yyvsp[0].moment->den ());
+
+               delete yyvsp[0].moment;
+               yyval.request = skip_p;
+       ;
+    break;}
+case 109:
+#line 744 "parser.yy"
+{
+               yyval.request = yyvsp[0].tempo;
+       ;
+    break;}
+case 110:
+#line 747 "parser.yy"
+{
+               yyval.request = new Cadenza_req (yyvsp[0].i);
+       ;
+    break;}
+case 111:
+#line 750 "parser.yy"
+{
+               yyval.request = new Partial_measure_req (*yyvsp[0].moment);
+               delete yyvsp[0].moment;
+       ;
+    break;}
+case 112:
+#line 754 "parser.yy"
+{
+               yyval.request = new Clef_change_req (*yyvsp[0].string);
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 113:
+#line 758 "parser.yy"
+{
+               Key_change_req *key_p= new Key_change_req;
+               key_p->melodic_p_arr_ = *yyvsp[0].melreqvec;
+               yyval.request = key_p;
+               delete yyvsp[0].melreqvec;
+       ;
+    break;}
+case 114:
+#line 764 "parser.yy"
+{
+               yyval.request = get_grouping_req (*yyvsp[0].intvec); delete yyvsp[0].intvec;
+       ;
+    break;}
+case 115:
+#line 770 "parser.yy"
+{
+               /* something silly happened.  Junk this stuff*/
+               if (!THIS->post_reqs.empty ())
+               {
+                       warning ("Junking post-requests");
+                       THIS->post_reqs.clear ();
+               }
+       ;
+    break;}
+case 116:
+#line 778 "parser.yy"
+{
+               yyvsp[0].request->set_spot (THIS->here_input ());
+               THIS->post_reqs.push (yyvsp[0].request);
+       ;
+    break;}
+case 117:
+#line 782 "parser.yy"
+{
+               Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->post_reqs.concat (r);
+               delete &r;
+       ;
+    break;}
+case 120:
+#line 797 "parser.yy"
+{
+               yyval.request = (Request*)yyvsp[0].id->request ();
+       ;
+    break;}
+case 121:
+#line 800 "parser.yy"
+{
+               yyval.request = yyvsp[0].request;
+       ;
+    break;}
+case 122:
+#line 803 "parser.yy"
+{
+               Abbreviation_req* a = new Abbreviation_req;
+               a->type_i_ = yyvsp[0].i;
+               yyval.request = a;
+       ;
+    break;}
+case 123:
+#line 816 "parser.yy"
+{
+               yyval.melreq = yyvsp[0].melreq->clone ()->musical ()->melodic ();
+               yyval.melreq->octave_i_ += THIS->default_octave_i_;
+       ;
+    break;}
+case 124:
+#line 820 "parser.yy"
+{
+               yyval.melreq-> octave_i_ += yyvsp[0].i;
+       ;
+    break;}
+case 125:
+#line 823 "parser.yy"
+{
+               yyval.melreq = yyvsp[0].melreq;
+               yyvsp[0].melreq-> octave_i_ -= yyvsp[-1].i;
+       ;
+    break;}
+case 126:
+#line 830 "parser.yy"
+{
+               yyval.notereq = new Note_req;
+               * (Melodic_req *) yyval.notereq = *yyvsp[0].melreq;
+               delete yyvsp[0].melreq;
+       ;
+    break;}
+case 127:
+#line 835 "parser.yy"
+{
+               yyval.notereq->forceacc_b_ = ! yyval.notereq->forceacc_b_;
+       ;
+    break;}
+case 128:
+#line 842 "parser.yy"
+{/* ugh */
+               yyval.melreq = new Melodic_req;
+               yyval.melreq->octave_i_ = yyvsp[-3].i;
+               yyval.melreq->notename_i_ = yyvsp[-2].i;
+               yyval.melreq->accidental_i_ = yyvsp[-1].i;
+       ;
+    break;}
+case 129:
+#line 851 "parser.yy"
+{
+               yyval.duration = new Duration;
+               yyval.duration-> durlog_i_ = yyvsp[-2].i;
+               yyval.duration-> dots_i_ = yyvsp[-1].i;
+       ;
+    break;}
+case 130:
+#line 859 "parser.yy"
+{
+               Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
+               ad_p ->loudness_ = (Dynamic_req::Loudness)yyvsp[-1].i;
+               yyval.request =ad_p;
+       ;
+    break;}
+case 131:
+#line 864 "parser.yy"
+{
+               Span_dynamic_req * sp_p = new Span_dynamic_req;
+               sp_p->spantype = yyvsp[-1].i;
+               sp_p-> dynamic_dir_  = yyvsp[-2].i;
+               yyval.request = sp_p;
+       ;
+    break;}
+case 132:
+#line 873 "parser.yy"
+{
+               yyval.pair[0] = yyvsp[-2].i;
+               yyval.pair[1] = yyvsp[0].i;
+       ;
+    break;}
+case 133:
+#line 878 "parser.yy"
+{
+               int num = yyvsp[0].i >? 1;
+               yyval.pair[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
+               yyval.pair[1] = num;
+       ;
+    break;}
+case 134:
+#line 886 "parser.yy"
+{
+               yyval.i = MAEBTELP;
+               THIS->plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->plet_.iso_i_ = yyvsp[0].pair[0];
+               THIS->default_duration_.plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->default_duration_.plet_.iso_i_ = yyvsp[0].pair[0];
+       ;
+    break;}
+case 135:
+#line 893 "parser.yy"
+{
+               yyval.i = TELP;
+               THIS->plet_.type_i_ = 1;
+               THIS->plet_.iso_i_ = 1;
+               THIS->default_duration_.plet_.iso_i_ = 1;
+               THIS->default_duration_.plet_.type_i_ = 1;
+       ;
+    break;}
+case 136:
+#line 900 "parser.yy"
+{
+               yyval.i = TELP;
+               THIS->plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->plet_.iso_i_ = yyvsp[0].pair[0];
+               THIS->default_duration_.plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->default_duration_.plet_.iso_i_ = yyvsp[0].pair[0];
+       ;
+    break;}
+case 137:
+#line 910 "parser.yy"
+{
+               yyval.i = '~';
+       ;
+    break;}
+case 138:
+#line 913 "parser.yy"
+{
+               yyval.i='(';
+       ;
+    break;}
+case 139:
+#line 916 "parser.yy"
+{
+               yyval.i = ']';
+       ;
+    break;}
+case 140:
+#line 919 "parser.yy"
+{
+               yyval.i = '<';
+       ;
+    break;}
+case 141:
+#line 922 "parser.yy"
+{
+               yyval.i = '>';
+       ;
+    break;}
+case 142:
+#line 925 "parser.yy"
+{
+       ;
+    break;}
+case 143:
+#line 930 "parser.yy"
+{
+               yyval.c = '[';
+               if (!Duration::duration_type_b (yyvsp[0].i))
+                       THIS->parser_error ("1:Not a duration");
+               else if (yyvsp[0].i < 8)
+                       THIS->parser_error ("Can't abbreviate");
+               else
+                       THIS->set_abbrev_beam (yyvsp[0].i);
+       ;
+    break;}
+case 144:
+#line 942 "parser.yy"
+{
+               yyval.i = BEAMPLET;
+               THIS->plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->plet_.iso_i_ = yyvsp[0].pair[0];
+               THIS->default_duration_.plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->default_duration_.plet_.iso_i_ = yyvsp[0].pair[0];
+       ;
+    break;}
+case 145:
+#line 949 "parser.yy"
+{
+               yyval.i = PLET;
+               THIS->plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->plet_.iso_i_ = yyvsp[0].pair[0];
+               THIS->default_duration_.plet_.type_i_ = yyvsp[0].pair[1];
+               THIS->default_duration_.plet_.iso_i_ = yyvsp[0].pair[0];
+       ;
+    break;}
+case 146:
+#line 959 "parser.yy"
+{
+               yyval.i = '!';
+       ;
+    break;}
+case 147:
+#line 962 "parser.yy"
+{
+               yyval.i=')';
+       ;
+    break;}
+case 148:
+#line 965 "parser.yy"
+{
+               yyval.i='[';
+       ;
+    break;}
+case 149:
+#line 968 "parser.yy"
+{
+       ;
+    break;}
+case 150:
+#line 970 "parser.yy"
+{
+       ;
+    break;}
+case 151:
+#line 977 "parser.yy"
+{ yyval.script = yyvsp[-1].script; ;
+    break;}
+case 152:
+#line 981 "parser.yy"
+{
+               Script_def *s = new Script_def;
+               s->set_from_input (*yyvsp[-5].string,yyvsp[-4].i, yyvsp[-3].i,yyvsp[-2].i,yyvsp[-1].i, yyvsp[0].i);
+               yyval.script  = s;
+               delete yyvsp[-5].string;
+       ;
+    break;}
+case 153:
+#line 990 "parser.yy"
+{
+               Musical_script_req *m = new Musical_script_req;
+               yyval.request = m;
+               m->scriptdef_p_ = yyvsp[0].script;
+               m->set_spot (THIS->here_input ());
+               if (!m->dir_)
+                 m->dir_  = yyvsp[-1].i;
+       ;
+    break;}
+case 154:
+#line 1001 "parser.yy"
+{ 
+               yyval.script = yyvsp[0].textdef;
+               ((Text_def*) yyval.script)->align_i_ = CENTER; /* UGH */
+       ;
+    break;}
+case 155:
+#line 1005 "parser.yy"
+{ 
+               yyval.script = yyvsp[0].script;
+               yyval.script-> set_spot (THIS->here_input ());
+       ;
+    break;}
+case 156:
+#line 1009 "parser.yy"
+{
+               yyval.script = yyvsp[0].textdef;
+               ((Text_def*)yyval.script)->align_i_ = CENTER;
+       ;
+    break;}
+case 157:
+#line 1016 "parser.yy"
+{
+               Text_def *t  = new Text_def;
+               yyval.textdef = t;
+               t->text_str_ = *yyvsp[0].string;
+               delete yyvsp[0].string;
+               t->style_str_ = THIS->textstyle_str_;
+               yyval.textdef->set_spot (THIS->here_input ());
+       ;
+    break;}
+case 158:
+#line 1027 "parser.yy"
+{
+               Text_def* t  = new Text_def;
+               yyval.textdef = t;
+               t->text_str_ = String (yyvsp[0].i);
+               t->style_str_ = "finger";
+               yyval.textdef->set_spot (THIS->here_input ());
+       ;
+    break;}
+case 159:
+#line 1037 "parser.yy"
+{ yyval.string = get_scriptdef ('^'); ;
+    break;}
+case 160:
+#line 1038 "parser.yy"
+{ yyval.string = get_scriptdef ('+'); ;
+    break;}
+case 161:
+#line 1039 "parser.yy"
+{ yyval.string = get_scriptdef ('-'); ;
+    break;}
+case 162:
+#line 1040 "parser.yy"
+{ yyval.string = get_scriptdef ('|'); ;
+    break;}
+case 163:
+#line 1041 "parser.yy"
+{ yyval.string = get_scriptdef ('o'); ;
+    break;}
+case 164:
+#line 1042 "parser.yy"
+{ yyval.string = get_scriptdef ('>'); ;
+    break;}
+case 165:
+#line 1043 "parser.yy"
+{
+               yyval.string = get_scriptdef ('.');
+       ;
+    break;}
+case 166:
+#line 1049 "parser.yy"
+{ yyval.script = yyvsp[0].id->script (); ;
+    break;}
+case 167:
+#line 1050 "parser.yy"
+{ yyval.script = yyvsp[0].script; ;
+    break;}
+case 168:
+#line 1051 "parser.yy"
+{
+               yyval.script = THIS->lexer_p_->lookup_identifier (*yyvsp[0].string)->script ();
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 169:
+#line 1058 "parser.yy"
+{ yyval.i = -1; ;
+    break;}
+case 170:
+#line 1059 "parser.yy"
+{ yyval.i = 1; ;
+    break;}
+case 171:
+#line 1060 "parser.yy"
+{ yyval.i = 0; ;
+    break;}
+case 172:
+#line 1064 "parser.yy"
+{
+       ;
+    break;}
+case 173:
+#line 1066 "parser.yy"
+{
+               Array<Request*>& r = *THIS->get_parens_request (yyvsp[0].i);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->pre_reqs.concat (r);
+               delete &r;
+       ;
+    break;}
+case 174:
+#line 1076 "parser.yy"
+{
+               THIS->set_duration_mode (*yyvsp[0].string);
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 175:
+#line 1080 "parser.yy"
+{
+               THIS->set_default_duration (yyvsp[0].duration);
+               delete yyvsp[0].duration;
+       ;
+    break;}
+case 176:
+#line 1084 "parser.yy"
+{
+               /*
+                       This is weird, but default_octave_i_
+                       is used in steno_note_req too
+
+                       c' -> default_octave_i_ == 1
+               */
+               /* why can't we have \oct 0 iso \oct{c'}*/
+               THIS->default_octave_i_ = 1; ;
+    break;}
+case 177:
+#line 1094 "parser.yy"
+{
+               THIS->default_octave_i_ = yyvsp[0].melreq->octave_i_;
+               delete yyvsp[0].melreq;
+       ;
+    break;}
+case 178:
+#line 1098 "parser.yy"
+{
+               THIS->textstyle_str_ = *yyvsp[0].string;
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 179:
+#line 1105 "parser.yy"
+{
+               yyval.moment = new Moment (0,1);
+       ;
+    break;}
+case 180:
+#line 1108 "parser.yy"
+{
+               *yyval.moment += yyvsp[0].duration->length ();
+       ;
+    break;}
+case 181:
+#line 1114 "parser.yy"
+{ yyval.i = 1; ;
+    break;}
+case 182:
+#line 1115 "parser.yy"
+{ yyval.i ++; ;
+    break;}
+case 183:
+#line 1119 "parser.yy"
+{
+               yyval.duration = new Duration (THIS->default_duration_);
+       ;
+    break;}
+case 184:
+#line 1122 "parser.yy"
+{
+               yyval.duration = new Duration (THIS->default_duration_);
+               yyval.duration->dots_i_  = yyvsp[0].i;
+       ;
+    break;}
+case 185:
+#line 1126 "parser.yy"
+{
+               THIS->set_last_duration (yyvsp[0].duration);
+               yyval.duration = yyvsp[0].duration;
+       ;
+    break;}
+case 186:
+#line 1133 "parser.yy"
+{
+               yyval.duration = yyvsp[0].duration;
+       ;
+    break;}
+case 187:
+#line 1139 "parser.yy"
+{
+               yyval.duration = new Duration;
+               if (!Duration::duration_type_b (yyvsp[0].i))
+                       THIS->parser_error ("2:Not a duration");
+               else {
+                       yyval.duration->durlog_i_ = Duration_convert::i2_type (yyvsp[0].i);
+                       yyval.duration->set_plet (THIS->default_duration_);
+                    }
+       ;
+    break;}
+case 188:
+#line 1148 "parser.yy"
+{
+               yyval.duration = yyvsp[0].id->duration ();
+       ;
+    break;}
+case 189:
+#line 1151 "parser.yy"
+{
+               yyval.duration->dots_i_ ++;
+       ;
+    break;}
+case 190:
+#line 1154 "parser.yy"
+{
+               yyval.duration->plet_.iso_i_ = yyvsp[0].i;
+       ;
+    break;}
+case 191:
+#line 1157 "parser.yy"
+{
+               yyval.duration->plet_.type_i_ = yyvsp[0].i;
+       ;
+    break;}
+case 192:
+#line 1164 "parser.yy"
+{
+               yyval.i =0;
+       ;
+    break;}
+case 193:
+#line 1167 "parser.yy"
+{
+               if (!Duration::duration_type_b (yyvsp[0].i))
+                       THIS->parser_error ("3:Not a duration");
+               else if (yyvsp[0].i < 8)
+                       THIS->parser_error ("Can't abbreviate");
+               yyval.i = yyvsp[0].i;
+       ;
+    break;}
+case 194:
+#line 1178 "parser.yy"
+{
+               if (!THIS->lexer_p_->note_state_b ())
+                       THIS->parser_error ("have to be in Note mode for notes");
+               yyvsp[-1].notereq->set_duration (*yyvsp[0].duration);
+               int durlog_i = yyvsp[0].duration->durlog_i_;
+               yyval.music = THIS->get_note_element (yyvsp[-1].notereq, yyvsp[0].duration);
+       ;
+    break;}
+case 195:
+#line 1185 "parser.yy"
+{
+               yyval.music = THIS->get_rest_element (*yyvsp[-1].string, yyvsp[0].duration);
+               delete yyvsp[-1].string;
+       ;
+    break;}
+case 196:
+#line 1192 "parser.yy"
+{
+       /* this sux! text-def should be feature of lyric-engraver. */
+               if (!THIS->lexer_p_->lyric_state_b ())
+                       THIS->parser_error ("Have to be in Lyric mode for lyrics");
+               yyval.music = THIS->get_word_element (yyvsp[-1].textdef, yyvsp[0].duration);
+
+       ;
+    break;}
+case 197:
+#line 1203 "parser.yy"
+{
+               yyval.melreqvec = new Array<Melodic_req*>;
+       ;
+    break;}
+case 198:
+#line 1206 "parser.yy"
+{
+               yyval.melreqvec->push (yyvsp[0].melreq->clone ()->musical ()->melodic ());
+       ;
+    break;}
+case 199:
+#line 1212 "parser.yy"
+{
+               yyval.i = yyvsp[0].i;
+       ;
+    break;}
+case 200:
+#line 1215 "parser.yy"
+{
+               yyval.i = yyvsp[0].i;
+       ;
+    break;}
+case 201:
+#line 1220 "parser.yy"
+{
+               yyval.i = yyvsp[0].i;
+       ;
+    break;}
+case 202:
+#line 1223 "parser.yy"
+{
+               yyval.i = -yyvsp[0].i;
+       ;
+    break;}
+case 203:
+#line 1226 "parser.yy"
+{
+               int *i_p = yyvsp[0].id->intid ();
+               yyval.i = *i_p;
+               delete i_p;
+       ;
+    break;}
+case 204:
+#line 1234 "parser.yy"
+{
+               yyval.real = yyvsp[0].real;
+       ;
+    break;}
+case 205:
+#line 1237 "parser.yy"
+{
+               Real *r_p = yyvsp[0].id->real ();
+               yyval.real = * r_p;
+               delete r_p;
+       ;
+    break;}
+case 206:
+#line 1247 "parser.yy"
+{ yyval.real = yyvsp[-1].real*yyvsp[0].real; ;
+    break;}
+case 207:
+#line 1251 "parser.yy"
+{ yyval.real = 1 CM; ;
+    break;}
+case 208:
+#line 1252 "parser.yy"
+{ yyval.real = 1 INCH; ;
+    break;}
+case 209:
+#line 1253 "parser.yy"
+{ yyval.real = 1 MM; ;
+    break;}
+case 210:
+#line 1254 "parser.yy"
+{ yyval.real = 1 PT; ;
+    break;}
+case 211:
+#line 1261 "parser.yy"
+{ yyval.lookup = yyvsp[-1].lookup; ;
+    break;}
+case 212:
+#line 1265 "parser.yy"
+{
+               yyval.lookup = new Lookup;
+       ;
+    break;}
+case 213:
+#line 1268 "parser.yy"
+{
+               yyval.lookup = yyvsp[0].id->lookup ();
+       ;
+    break;}
+case 214:
+#line 1271 "parser.yy"
+{
+               yyval.lookup->texsetting = *yyvsp[0].string;
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 215:
+#line 1275 "parser.yy"
+{
+               yyval.lookup->add (*yyvsp[-2].string, yyvsp[0].symtable);
+               delete yyvsp[-2].string;
+       ;
+    break;}
+case 216:
+#line 1282 "parser.yy"
+{ yyval.symtable = yyvsp[-1].symtable; ;
+    break;}
+case 217:
+#line 1286 "parser.yy"
+{ yyval.symtable = new Symtable; ;
+    break;}
+case 218:
+#line 1287 "parser.yy"
+{
+               yyval.symtable->add (*yyvsp[-1].string, *yyvsp[0].symbol);
+               delete yyvsp[-1].string;
+               delete yyvsp[0].symbol;
+       ;
+    break;}
+case 219:
+#line 1295 "parser.yy"
+{
+               yyval.symbol = new Atom (*yyvsp[-1].string, *yyvsp[0].box);
+               delete yyvsp[-1].string;
+               delete yyvsp[0].box;
+       ;
+    break;}
+case 220:
+#line 1300 "parser.yy"
+{
+               Box b (Interval (0,0), Interval (0,0));
+               yyval.symbol = new Atom (*yyvsp[0].string, b);
+               delete yyvsp[0].string;
+       ;
+    break;}
+case 221:
+#line 1308 "parser.yy"
+{
+               yyval.box = new Box (*yyvsp[-1].interval, *yyvsp[0].interval);
+               delete yyvsp[-1].interval;
+               delete yyvsp[0].interval;
+       ;
+    break;}
+case 222:
+#line 1315 "parser.yy"
+{
+               yyval.interval = new Interval (yyvsp[-1].real, yyvsp[0].real);
+       ;
+    break;}
+}
+   /* the action file gets copied in in place of this dollarsign */
+#line 498 "/usr/lib/bison.simple"
+\f
+  yyvsp -= yylen;
+  yyssp -= yylen;
+#ifdef YYLSP_NEEDED
+  yylsp -= yylen;
+#endif
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      short *ssp1 = yyss - 1;
+      fprintf (stderr, "state stack now");
+      while (ssp1 != yyssp)
+       fprintf (stderr, " %d", *++ssp1);
+      fprintf (stderr, "\n");
+    }
+#endif
+
+  *++yyvsp = yyval;
+
+#ifdef YYLSP_NEEDED
+  yylsp++;
+  if (yylen == 0)
+    {
+      yylsp->first_line = yylloc.first_line;
+      yylsp->first_column = yylloc.first_column;
+      yylsp->last_line = (yylsp-1)->last_line;
+      yylsp->last_column = (yylsp-1)->last_column;
+      yylsp->text = 0;
+    }
+  else
+    {
+      yylsp->last_line = (yylsp+yylen-1)->last_line;
+      yylsp->last_column = (yylsp+yylen-1)->last_column;
+    }
+#endif
+
+  /* Now "shift" the result of the reduction.
+     Determine what state that goes to,
+     based on the state we popped back to
+     and the rule number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
+  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTBASE];
+
+  goto yynewstate;
+
+yyerrlab:   /* here on detecting error */
+
+  if (! yyerrstatus)
+    /* If not already recovering from an error, report this error.  */
+    {
+      ++yynerrs;
+
+#ifdef YYERROR_VERBOSE
+      yyn = yypact[yystate];
+
+      if (yyn > YYFLAG && yyn < YYLAST)
+       {
+         int size = 0;
+         char *msg;
+         int x, count;
+
+         count = 0;
+         /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
+         for (x = (yyn < 0 ? -yyn : 0);
+              x < (sizeof(yytname) / sizeof(char *)); x++)
+           if (yycheck[x + yyn] == x)
+             size += strlen(yytname[x]) + 15, count++;
+         msg = (char *) malloc(size + 15);
+         if (msg != 0)
+           {
+             strcpy(msg, "parse error");
+
+             if (count < 5)
+               {
+                 count = 0;
+                 for (x = (yyn < 0 ? -yyn : 0);
+                      x < (sizeof(yytname) / sizeof(char *)); x++)
+                   if (yycheck[x + yyn] == x)
+                     {
+                       strcat(msg, count == 0 ? ", expecting `" : " or `");
+                       strcat(msg, yytname[x]);
+                       strcat(msg, "'");
+                       count++;
+                     }
+               }
+             yyerror(msg);
+             free(msg);
+           }
+         else
+           yyerror ("parse error; also virtual memory exceeded");
+       }
+      else
+#endif /* YYERROR_VERBOSE */
+       yyerror("parse error");
+    }
+
+  goto yyerrlab1;
+yyerrlab1:   /* here on error raised explicitly by an action */
+
+  if (yyerrstatus == 3)
+    {
+      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+
+      /* return failure if at end of input */
+      if (yychar == YYEOF)
+       YYABORT;
+
+#if YYDEBUG != 0
+      if (yydebug)
+       fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
+#endif
+
+      yychar = YYEMPTY;
+    }
+
+  /* Else will try to reuse lookahead token
+     after shifting the error token.  */
+
+  yyerrstatus = 3;             /* Each real token shifted decrements this */
+
+  goto yyerrhandle;
+
+yyerrdefault:  /* current state does not do anything special for the error token. */
+
+#if 0
+  /* This is wrong; only states that explicitly want error tokens
+     should shift them.  */
+  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
+  if (yyn) goto yydefault;
+#endif
+
+yyerrpop:   /* pop the current state because it cannot handle the error token */
+
+  if (yyssp == yyss) YYABORT;
+  yyvsp--;
+  yystate = *--yyssp;
+#ifdef YYLSP_NEEDED
+  yylsp--;
+#endif
+
+#if YYDEBUG != 0
+  if (yydebug)
+    {
+      short *ssp1 = yyss - 1;
+      fprintf (stderr, "Error: state stack now");
+      while (ssp1 != yyssp)
+       fprintf (stderr, " %d", *++ssp1);
+      fprintf (stderr, "\n");
+    }
+#endif
+
+yyerrhandle:
+
+  yyn = yypact[yystate];
+  if (yyn == YYFLAG)
+    goto yyerrdefault;
+
+  yyn += YYTERROR;
+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
+    goto yyerrdefault;
+
+  yyn = yytable[yyn];
+  if (yyn < 0)
+    {
+      if (yyn == YYFLAG)
+       goto yyerrpop;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+  else if (yyn == 0)
+    goto yyerrpop;
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+#if YYDEBUG != 0
+  if (yydebug)
+    fprintf(stderr, "Shifting error token, ");
+#endif
+
+  *++yyvsp = yylval;
+#ifdef YYLSP_NEEDED
+  *++yylsp = yylloc;
+#endif
+
+  yystate = yyn;
+  goto yynewstate;
+}
+#line 1320 "parser.yy"
+
+
+void
+My_lily_parser::set_yydebug (bool b)
+{
+#ifdef YYDEBUG
+       yydebug = b;
+#endif
+}
+void
+My_lily_parser::do_yyparse ()
+{
+       yyparse ((void*)this);
+}
+
+Paper_def*
+My_lily_parser::default_paper ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_paper");
+       return id ? id->paperdef () : new Paper_def ;
+}
+
+Midi_def*
+My_lily_parser::default_midi ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_midi");
+       return id ? id->mididef () : new Midi_def ;
+}
+
diff --git a/lily/parser.hh b/lily/parser.hh
new file mode 100644 (file)
index 0000000..7e0baa9
--- /dev/null
@@ -0,0 +1,119 @@
+typedef union {
+    Array<Interval>* intarr;
+    Array<Melodic_req*> *melreqvec;/* should clean up naming */
+    Array<String> * strvec;
+    Array<int> *intvec;
+    Box *box;
+    Chord * chord;
+    Duration *duration;
+    Identifier *id;
+    Translator* trans;
+    Music *music;
+    Music_list *musiclist;
+    Score *score;
+    Header *header;
+    Interval *interval;
+    Lookup*lookup;
+    Melodic_req * melreq;
+    Musical_req* musreq;
+    Music_output_def * outputdef;
+    Midi_def* midi;
+    Moment *moment;
+    Note_req *notereq;
+    Paper_def *paper;
+    Real real;
+    Request * request;
+    General_script_def * script;
+    Scalar *scalar;
+    String *string;
+    Atom * symbol;
+    Symtable * symtable;
+    Symtables * symtables;
+    Text_def * textdef;
+    Tempo_req *tempo;
+    char c;
+    const char *consstr;
+    int i;
+    int pair[2];
+    int ii[10];
+} YYSTYPE;
+#define        ALIAS   258
+#define        BAR     259
+#define        BEAMPLET        260
+#define        MAEBTELP        261
+#define        BREAK   262
+#define        CADENZA 263
+#define        CLEAR   264
+#define        CLEF    265
+#define        CONTAINS        266
+#define        CONSISTS        267
+#define        ACCEPTS 268
+#define        CM_T    269
+#define        DURATION        270
+#define        ABSDYNAMIC      271
+#define        END     272
+#define        GROUPING        273
+#define        TRANSLATOR      274
+#define        HEADER  275
+#define        IN_T    276
+#define        LYRIC   277
+#define        KEY     278
+#define        MELODIC 279
+#define        MIDI    280
+#define        MELODIC_REQUEST 281
+#define        METER   282
+#define        MM_T    283
+#define        MULTI   284
+#define        NOTENAMES       285
+#define        OCTAVE  286
+#define        OUTPUT  287
+#define        PAPER   288
+#define        PARTIAL 289
+#define        PLET    290
+#define        TELP    291
+#define        PT_T    292
+#define        SCORE   293
+#define        SCRIPT  294
+#define        SHAPE   295
+#define        SKIP    296
+#define        SPANDYNAMIC     297
+#define        STAFF   298
+#define        START_T 299
+#define        SYMBOLTABLES    300
+#define        TABLE   301
+#define        TRANSPOSE       302
+#define        TEMPO   303
+#define        TYPE    304
+#define        TEXID   305
+#define        TEXTSTYLE       306
+#define        TITLE   307
+#define        PROPERTY        308
+#define        VERSION 309
+#define        E_EXCLAMATION   310
+#define        E_SMALLER       311
+#define        E_BIGGER        312
+#define        E_CHAR  313
+#define        DIGIT   314
+#define        NOTENAME_ID     315
+#define        DURATION_IDENTIFIER     316
+#define        IDENTIFIER      317
+#define        MELODIC_REQUEST_IDENTIFIER      318
+#define        MUSIC_IDENTIFIER        319
+#define        VOICE_IDENTIFIER        320
+#define        POST_REQUEST_IDENTIFIER 321
+#define        SCRIPT_IDENTIFIER       322
+#define        COMMAND_IDENTIFIER      323
+#define        REAL_IDENTIFIER 324
+#define        TRANS_IDENTIFIER        325
+#define        INT_IDENTIFIER  326
+#define        SCORE_IDENTIFIER        327
+#define        MIDI_IDENTIFIER 328
+#define        PAPER_IDENTIFIER        329
+#define        REQUEST_IDENTIFIER      330
+#define        REAL    331
+#define        RESTNAME        332
+#define        STRING  333
+#define        UNSIGNED        334
+#define        POST_QUOTES     335
+#define        PRE_QUOTES      336
+
diff --git a/lily/parser.y b/lily/parser.y
deleted file mode 100644 (file)
index 545d72c..0000000
+++ /dev/null
@@ -1,1337 +0,0 @@
-%{ // -*-Fundamental-*-
-
-/*
-  parser.y -- YACC parser for mudela
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-           Jan Nieuwenhuizen <jan@digicash.com>
-*/
-
-#include <iostream.h>
-
-// mmm
-#define MUDELA_VERSION "0.1.9"
-
-#include "scalar.hh"
-#include "translation-property.hh"
-#include "script-def.hh"
-#include "symtable.hh"
-#include "lookup.hh"
-#include "misc.hh"
-#include "my-lily-lexer.hh"
-#include "paper-def.hh"
-#include "midi-def.hh"
-#include "main.hh"
-#include "keyword.hh"
-#include "debug.hh"
-#include "parseconstruct.hh"
-#include "dimen.hh"
-#include "identifier.hh"
-#include "command-request.hh"
-#include "musical-request.hh"
-#include "my-lily-parser.hh"
-#include "text-def.hh"
-#include "translator-group.hh"
-#include "score.hh"
-#include "music-list.hh"
-#include "header.hh"
-#include "duration-convert.hh"
-#include "change-translator.hh"
-
-int const GUESS_PLET = 5;
-int guess_plet_a[GUESS_PLET] =
-{ 
-  1,
-  3,
-  2,
-  3,
-  4
-};
-
-#ifndef NDEBUG
-#define YYDEBUG 1
-#endif
-
-#define YYERROR_VERBOSE 1
-
-#define YYPARSE_PARAM my_lily_parser_l
-#define YYLEX_PARAM my_lily_parser_l
-#define THIS ((My_lily_parser *) my_lily_parser_l)
-
-#define yyerror THIS->parser_error
-
-%}
-
-
-%union {
-    Array<Interval>* intarr;
-    Array<Melodic_req*> *melreqvec;/* should clean up naming */
-    Array<String> * strvec;
-    Array<int> *intvec;
-    Box *box;
-    Chord * chord;
-    Duration *duration;
-    Identifier *id;
-    Translator* trans;
-    Music *music;
-    Music_list *musiclist;
-    Score *score;
-    Header *header;
-    Interval *interval;
-    Lookup*lookup;
-    Melodic_req * melreq;
-    Musical_req* musreq;
-    Music_output_def * outputdef;
-    Midi_def* midi;
-    Moment *moment;
-    Note_req *notereq;
-    Paper_def *paper;
-    Real real;
-    Request * request;
-    General_script_def * script;
-    Scalar *scalar;
-    String *string;
-    Atom * symbol;
-    Symtable * symtable;
-    Symtables * symtables;
-    Text_def * textdef;
-    Tempo_req *tempo;
-    char c;
-    const char *consstr;
-    int i;
-    int pair[2];
-    int ii[10];
-}
-%{
-
-int
-yylex (YYSTYPE *s,  void * v_l)
-{
-       My_lily_parser   *pars_l = (My_lily_parser*) v_l;
-       My_lily_lexer * lex_l = pars_l->lexer_p_;
-
-       lex_l->lexval_l = (void*) s;
-       return lex_l->yylex ();
-}
-
-
-%}
-
-%pure_parser
-
-/* tokens which are not keywords */
-
-%token ALIAS
-%token BAR
-%token BEAMPLET
-%token MAEBTELP
-%token CADENZA
-%token CLEAR
-%token CLEF
-%token CONTAINS
-%token CONSISTS
-%token ACCEPTS
-%token CM_T
-%token DURATION
-%token ABSDYNAMIC
-%token END
-%token GROUPING
-%token TRANSLATOR
-%token HEADER
-%token IN_T
-%token LYRIC
-%token KEY
-%token MELODIC
-%token MIDI
-%token MELODIC_REQUEST
-%token METER
-%token MM_T
-%token MULTI
-%token NOTENAMES
-%token OCTAVE
-%token OUTPUT
-%token PAPER
-%token PARTIAL
-%token PLET
-%token TELP
-%token PT_T
-%token SCORE
-%token SCRIPT
-%token SHAPE
-%token SKIP
-%token SPANDYNAMIC
-%token STAFF
-%token START_T
-%token SYMBOLTABLES
-%token TABLE
-%token TRANSPOSE
-%token TEMPO
-%token TYPE
-%token TEXID
-%token TEXTSTYLE
-%token TITLE
-%token PROPERTY
-%token VERSION
-
-/* escaped */
-%token E_EXCLAMATION E_SMALLER E_BIGGER E_CHAR
-
-%type <i>      dots
-%token <i>     DIGIT
-%token <melreq>        NOTENAME_ID
-%token <id>    DURATION_IDENTIFIER
-%token <id>    IDENTIFIER
-%token <id>    MELODIC_REQUEST_IDENTIFIER
-%token <id>    MUSIC_IDENTIFIER
-%token <id>    VOICE_IDENTIFIER
-%token <id>    POST_REQUEST_IDENTIFIER
-%token <id>    SCRIPT_IDENTIFIER
-%token <id>    COMMAND_IDENTIFIER
-%token <id>    REAL_IDENTIFIER
-%token <id>    TRANS_IDENTIFIER
-%token <id>    INT_IDENTIFIER
-%token <id>    SCORE_IDENTIFIER
-%token <id>    MIDI_IDENTIFIER
-%token <id>    PAPER_IDENTIFIER
-%token <id>    REQUEST_IDENTIFIER
-%token <real>  REAL
-%token <string>        DURATION RESTNAME
-%token <string>        STRING
-%token <i>     UNSIGNED
-%token <i>     POST_QUOTES
-%token <i>     PRE_QUOTES
-
-%type <outputdef> output_def
-%type <header>         mudela_header mudela_header_body
-%type <box>    box
-%type <i>      open_request_parens close_request_parens
-%type <c>      open_abbrev_parens
-%type <i>      open_plet_parens close_plet_parens
-%type <music>  simple_element music_elt full_element lyrics_elt command_elt
-%type <i>      abbrev_type
-%type <i>      int unsigned
-%type <i>      script_dir
-%type <id>     identifier_init
-%type <duration> explicit_steno_duration notemode_duration
-%type <duration> entered_notemode_duration explicit_duration
-%type <interval>       dinterval
-%type <intvec> intastint_list
-%type <lookup> symtables symtables_body
-%type <melreq> melodic_request steno_melodic_req
-%type <notereq>        steno_note_req
-%type <melreqvec>      pitch_list
-%type <midi>   midi_block midi_body
-%type <moment> duration_length
-
-%type <scalar>  scalar
-%type <music>  Music transposed_music
-%type <music>  property_def translator_change
-%type <musiclist> Voice Voice_body
-%type <chord>  Chord Chord_body
-%type <paper>  paper_block paper_body
-%type <real>   dim real
-%type <real>   unit
-%type <request> abbrev_command_req
-%type <request>        post_request structured_post_request
-%type <pair>   plet_fraction
-%type <request> command_req verbose_command_req
-%type <request>        script_req  dynamic_req
-%type <score>  score_block score_body
-%type <intarr> shape_array
-%type <script> script_definition script_body mudela_script gen_script_def
-%type <textdef> text_def finger
-%type <string> script_abbreviation
-%type <symbol> symboldef
-%type <symtable>       symtable symtable_body
-%type <trans>  translator_spec translator_spec_body
-%type <tempo>  tempo_request
-%type <string> concat_strings
-
-%expect 1
-
-
-%%
-
-mudela:        /* empty */
-       | mudela mudela_header {
-               delete THIS->default_header_p_ ;
-               THIS->default_header_p_ = $2;
-       }
-       | mudela score_block {
-               add_score ($2);
-       }
-       | mudela add_declaration { }
-       | mudela error
-       | mudela check_version { }
-       | mudela add_notenames { }
-       ;
-
-check_version:
-       VERSION STRING ';'              {
-               if (String (*$2) != MUDELA_VERSION) {
-                       if (THIS->ignore_version_b_) {
-                               THIS->here_input ().error ("Incorrect mudela version");
-                       } else {
-                               THIS->fatal_error_i_ = 1;
-                               THIS->parser_error ("Incorrect mudela version");
-                       }
-               }
-       }
-       ;
-
-add_notenames:
-       NOTENAMES '{' notenames_body '}'
-       ;
-notenames_body:
-       /**/    {
-       }
-       | notenames_body CLEAR  {
-               THIS->clear_notenames ();
-       }
-       | notenames_body STRING '=' melodic_request {
-               THIS->add_notename (*$2, $4);
-               delete $2;
-       }
-       ;
-
-mudela_header_body:
-               {
-               $$ = new Header;
-       }
-       | mudela_header_body STRING '=' concat_strings ';' {
-               (*$$)[*$2] = *$4;
-               delete $2;
-               delete $4;
-       }
-       ;
-
-mudela_header:
-       HEADER '{' mudela_header_body '}'       {
-               $$ = $3;
-       }
-       ;
-
-
-concat_strings:
-               {
-               $$ = new String;
-       }
-       | concat_strings STRING {
-               *$$ += *$2;
-       }
-
-
-/*
-       DECLARATIONS
-*/
-
-add_declaration:
-       STRING {
-               THIS->remember_spot ();
-       }
-       /* cont */ '=' identifier_init {
-           THIS->lexer_p_->set_identifier (*$1, $4);
-           $4->init_b_ = THIS->init_parse_b_;
-           $4->set_spot (THIS->pop_spot ());
-       }
-       ;
-
-identifier_init:
-       score_block {
-               $$ = new Score_id ($1, SCORE_IDENTIFIER);
-
-       }
-       | paper_block {
-               $$ = new Paper_def_id ($1, PAPER_IDENTIFIER);
-
-       }
-       | midi_block {
-               $$ = new Midi_def_id ($1, MIDI_IDENTIFIER);
-
-       }
-       | script_definition {
-               $$ = new Script_id ($1, SCRIPT_IDENTIFIER);
-
-       }
-       | Music  {
-               $$ = new Music_id ($1, MUSIC_IDENTIFIER);
-
-       }
-       | symtables {
-               $$ = new Lookup_id ($1, IDENTIFIER);
-
-       }
-       | real  {
-               $$ = new Real_id (new Real ($1), REAL_IDENTIFIER);
-
-       }
-       | int   {
-               $$ = new Int_id (new int ($1), INT_IDENTIFIER);
-       }
-       | post_request {
-               $$ = new Request_id ($1, POST_REQUEST_IDENTIFIER);
-       }
-       | melodic_request {
-               $$ = new Request_id ($1, MELODIC_REQUEST_IDENTIFIER);
-
-       }
-       | translator_spec {
-               $$ = new Translator_id ($1, TRANS_IDENTIFIER);
-       }
-       | explicit_duration {
-               $$ = new Duration_id ($1, DURATION_IDENTIFIER);
-       }
-       ;
-
-
-
-translator_spec:
-       TRANSLATOR '{' translator_spec_body '}'
-               { $$ = $3; }
-       ;
-
-translator_spec_body:
-       TRANS_IDENTIFIER        {
-               $$ = $1->translator ();
-               $$-> set_spot (THIS->here_input ());
-       }
-       | TYPE STRING ';'       {
-               $$ = get_translator_l (*$2)->clone ();
-               $$->set_spot (THIS->here_input ());
-               delete $2;
-       }
-       | translator_spec_body STRING '=' scalar ';'    {
-               $$-> set_property (*$2, *$4);
-               delete $2;
-               delete $4;
-       }
-       | translator_spec_body CONSISTS STRING ';'      {
-               $$->group_l ()->consists_str_arr_.push (*$3);
-               delete $3;
-       }
-       | translator_spec_body ACCEPTS STRING ';' {
-               $$->group_l ()->accepts_str_arr_.push (*$3);
-               delete $3;
-       }
-       ;
-
-/*
-       SCORE
-*/
-score_block:
-       SCORE { THIS->remember_spot ();
-               THIS->error_level_i_ =0;
-       }
-       /*cont*/ '{' score_body '}'     {
-               $$ = $4;
-               $$->set_spot (THIS->pop_spot ());
-               if (!$$->def_p_arr_.size ())
-                       $$->add (THIS->default_paper ());
-
-               /* handle error levels. */
-               $$->errorlevel_i_ = THIS->error_level_i_;
-               THIS->error_level_i_ = 0;
-               if (!$$->header_p_ && THIS->default_header_p_)
-                       $$->header_p_ = new Header (*THIS->default_header_p_);
-       }
-       ;
-
-score_body:            {
-               $$ = new Score;
-       }
-       | SCORE_IDENTIFIER {
-               $$ = $1->score ();
-       }
-       | score_body mudela_header      {
-               $$->header_p_ = $2;
-       }
-       | score_body Music      {
-               if ($$->music_p_)
-                       $2->warning ("More than one music block");      
-               $$->music_p_ = $2;
-       }
-       | score_body output_def {
-               $$->add ($2);
-       }
-       | score_body error {
-
-       }
-       ;
-
-output_def:
-       paper_block {
-               $$ = $1;
-       }
-       |  midi_block           {
-               $$= $1;
-       }
-       ;
-
-intastint_list:
-       /* */   { $$ =new Array<int>; }
-       | intastint_list int '*' int    {
-               $$->push ($2); $$->push ($4);
-       }
-       ;
-
-
-/*
-       PAPER
-*/
-paper_block:
-       PAPER
-       '{' paper_body '}'      { $$ = $3; }
-       ;
-
-paper_body:
-       /* empty */                     {
-               $$ = THIS->default_paper ();
-       }
-       | PAPER_IDENTIFIER      {
-               $$ = $1->paperdef ();
-       }
-       | paper_body OUTPUT STRING ';'  { 
-               $$->outfile_str_ = *$3;
-               delete $3;
-       }
-       | paper_body symtables          { $$->set ($2); }
-       | paper_body STRING '=' dim ';'         {
-               $$->set_var (*$2, $4);
-       }
-       | paper_body STRING '=' real ';' {
-               $$->set_var (*$2, $4);
-       }
-       | paper_body STRING '=' translator_spec {
-               $$-> assign_translator (*$2, $4);
-               delete $2;
-       }
-       | paper_body SHAPE '=' shape_array ';' {
-               $$->shape_int_a_ = *$4;
-               delete $4;
-       }
-       | paper_body error {
-
-       }
-       ;
-
-shape_array:
-       /* empty */ {
-               $$ = new Array<Interval>;
-       }
-       | shape_array dim dim {
-               $$->push(Interval($2, $2 + $3));
-       };
-
-/*
-       MIDI
-*/
-midi_block:
-       MIDI
-
-       '{' midi_body '}'       { $$ = $3; }
-       ;
-
-midi_body: /* empty */                 {
-               $$ = THIS->default_midi ();
-       }
-       | midi_body STRING '=' translator_spec  {
-               $$-> assign_translator (*$2, $4);
-               delete $2;
-       }
-       | midi_body OUTPUT STRING ';'   {
-               $$->outfile_str_ = *$3;
-               delete $3;
-       }
-       | midi_body tempo_request ';' {
-               $$->set_tempo ($2->dur_.length (), $2->metronome_i_);
-               delete $2;
-       }
-       | midi_body error {
-
-       }
-       ;
-
-tempo_request:
-       TEMPO entered_notemode_duration '=' unsigned    {
-               $$ = new Tempo_req;
-               $$->dur_ = *$2;
-               delete $2;
-               $$-> metronome_i_ = $4;
-       }
-       ;
-
-/*
-       MUSIC
-*/
-
-Voice:
-       '{' Voice_body '}'      {
-               $$ = $2;
-       }
-       ;
-
-Voice_body:
-       /**/            {
-               $$ = new Voice;
-               $$->set_spot (THIS->here_input ());
-       }
-       | Voice_body Music              {
-               $$->add ($2);
-       }
-       ;
-
-Music:
-       full_element            { $$ = $1; }
-       | TYPE STRING Music     {
-               $$ = $3;
-               $$->translator_type_str_ = *$2;
-               delete $2;
-       }
-       | TYPE STRING '=' STRING Music {
-               $$ = $5;
-               $$->translator_type_str_ = *$2;
-               $$->translator_id_str_ = *$4;
-               delete $2;
-               delete $4;
-       }
-       | Voice         { $$ = $1; }
-       | Chord                 { $$ = $1; }
-       | transposed_music      { $$ = $1; }
-       | MUSIC_IDENTIFIER      { $$ = $1->music (); }
-       | MUSIC_IDENTIFIER ';'  { $$ = $1->music (); }
-       | MELODIC
-               { THIS->lexer_p_->push_note_state (); }
-       Music
-               { $$=$3; THIS->lexer_p_->pop_state (); }
-
-       | LYRIC
-               { THIS->lexer_p_->push_lyric_state (); }
-       Music
-               { $$ = $3; THIS->lexer_p_->pop_state (); }
-       | property_def
-       | translator_change
-       ;
-
-translator_change:
-       TRANSLATOR STRING '=' STRING  {
-               Change_translator * t = new Change_translator;
-               t-> change_to_type_str_ = *$2;
-               t-> change_to_id_str_ = *$4;
-
-               $$ = t;
-               $$->set_spot (THIS->here_input ());
-               delete $2;
-               delete $4;
-       }
-       ;
-
-property_def:
-       PROPERTY STRING '.' STRING '=' scalar   {
-               Translation_property *t = new Translation_property;
-               t-> translator_type_str_ = *$2;
-               t-> var_str_ = *$4;
-               t-> value_ = *$6;
-               $$ = t;
-               $$->set_spot (THIS->here_input ());
-               delete $2;
-               delete $4;
-               delete $6;
-       }
-       ;
-
-scalar:
-       STRING          { $$ = new Scalar (*$1); delete $1; }
-       | int           { $$ = new Scalar ($1); }
-       ;
-
-
-Chord:
-       '<' Chord_body '>'      { $$  = $2; }
-       | MULTI unsigned Chord {
-               $$ = $3;
-               $$->multi_level_i_=$2;
-       }
-       ;
-
-Chord_body:
-       /**/    {
-               $$ = new Chord;
-               $$-> multi_level_i_ = 1;
-               $$->set_spot (THIS->here_input ());
-       }
-       | Chord_body Music {
-               $$->add ($2);
-       }
-       ;
-
-transposed_music:
-       TRANSPOSE steno_melodic_req Music {
-               $$ = $3;
-               $$ -> transpose ($2);
-
-               delete $2;
-       }
-       ;
-
-
-/*
-       VOICE ELEMENTS
-*/
-full_element:
-       pre_requests simple_element post_requests       {
-               THIS->add_requests ((Chord*)$2);//ugh
-               $$ = $2;
-       }
-       | command_elt
-       | voice_command ';'     { $$ = 0; }
-       ;
-
-simple_element:
-       music_elt
-       | lyrics_elt
-       ;
-
-command_elt:
-       command_req {
-               $$ = new Request_chord;
-               $$-> set_spot (THIS->here_input ());
-               $1-> set_spot (THIS->here_input ());
-               ((Chord*)$$) ->add ($1);//ugh
-
-       }
-       ;
-
-command_req:
-       abbrev_command_req
-       | verbose_command_req ';'       { $$ = $1; }
-       ;
-
-abbrev_command_req:
-       '|'                             {
-               $$ = new Barcheck_req;
-       }
-       | COMMAND_IDENTIFIER    {
-               $$ = $1->request ();
-       }
-       ;
-
-verbose_command_req:
-       BAR STRING                      {
-               $$ = new Bar_req (*$2);
-               delete $2;
-       }
-       | METER unsigned '/' unsigned   {
-               Meter_change_req *m = new Meter_change_req;
-               m->set ($2,$4);
-               $$ = m;
-       }
-       | SKIP duration_length {
-               Skip_req * skip_p = new Skip_req;
-               skip_p->duration_.set_plet ($2->num (),
-                       $2->den ());
-
-               delete $2;
-               $$ = skip_p;
-       }
-       | tempo_request {
-               $$ = $1;
-       }
-       | CADENZA unsigned      {
-               $$ = new Cadenza_req ($2);
-       }
-       | PARTIAL duration_length       {
-               $$ = new Partial_measure_req (*$2);
-               delete $2;
-       }
-       | CLEF STRING {
-               $$ = new Clef_change_req (*$2);
-               delete $2;
-       }
-       | KEY pitch_list        {
-               Key_change_req *key_p= new Key_change_req;
-               key_p->melodic_p_arr_ = *$2;
-               $$ = key_p;
-               delete $2;
-       }
-       | GROUPING intastint_list {
-               $$ = get_grouping_req (*$2); delete $2;
-       }
-       ;
-
-post_requests:
-       {
-               assert (THIS->post_reqs.empty ());
-       }
-       | post_requests structured_post_request {
-               $2->set_spot (THIS->here_input ());
-               THIS->post_reqs.push ($2);
-       }
-       | post_requests close_request_parens    {
-               Array<Request*>& r = *THIS->get_parens_request ($2);
-               for (int i = 0; i < r.size (); i++ )
-                       r[i]->set_spot (THIS->here_input ());
-               THIS->post_reqs.concat (r);
-               delete &r;
-       }
-       ;
-
-structured_post_request:
-       script_req
-       | post_request
-       ;
-
-post_request:
-       POST_REQUEST_IDENTIFIER {
-               $$ = (Request*)$1->request ();
-       }
-       | dynamic_req {
-               $$ = $1;
-       }
-       | abbrev_type   {
-               Abbreviation_req* a = new Abbreviation_req;
-               a->type_i_ = $1;
-               $$ = a;
-       }
-       ;
-
-
-
-/*
-       URG!!
-*/
-steno_melodic_req:
-       NOTENAME_ID     {
-               $$ = $1->clone ()->musical ()->melodic ();
-               $$->octave_i_ += THIS->default_octave_i_;
-       }
-       | steno_melodic_req POST_QUOTES         {
-               $$-> octave_i_ += $2;
-       }
-       | PRE_QUOTES steno_melodic_req   {
-               $$ = $2;
-               $2-> octave_i_ -= $1;
-       }
-       ;
-
-steno_note_req:
-       steno_melodic_req       {
-               $$ = new Note_req;
-               * (Melodic_req *) $$ = *$1;
-               delete $1;
-       }
-       | steno_note_req   '!'          {
-               $$->forceacc_b_ = ! $$->forceacc_b_;
-       }
-       /* have to duration here. */
-       ;
-
-melodic_request:
-       MELODIC_REQUEST '{' int int int '}'     {/* ugh */
-               $$ = new Melodic_req;
-               $$->octave_i_ = $3;
-               $$->notename_i_ = $4;
-               $$->accidental_i_ = $5;
-       }
-       ;
-
-explicit_duration:
-       DURATION '{' int unsigned '}'   {
-               $$ = new Duration;
-               $$-> durlog_i_ = $3;
-               $$-> dots_i_ = $4;
-       }
-       ;
-
-dynamic_req:
-       ABSDYNAMIC '{' unsigned '}'     {
-               Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
-               ad_p ->loudness_ = (Dynamic_req::Loudness)$3;
-               $$ =ad_p;
-       }
-       | SPANDYNAMIC '{' int int '}' {
-               Span_dynamic_req * sp_p = new Span_dynamic_req;
-               sp_p->spantype = $4;
-               sp_p-> dynamic_dir_  = $3;
-               $$ = sp_p;
-       }
-       ;
-
-plet_fraction:
-       unsigned '/' unsigned {
-               $$[0] = $1;
-               $$[1] = $3;
-       }
-       |
-       '/' unsigned {
-               int num = $2 >? 1;
-               $$[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
-               $$[1] = num;
-       }
-       ;
-
-close_plet_parens:
-       ']' plet_fraction {
-               $$ = MAEBTELP;
-               THIS->plet_.type_i_ = $2[1];
-               THIS->plet_.iso_i_ = $2[0];
-               THIS->default_duration_.plet_.type_i_ = $2[1];
-               THIS->default_duration_.plet_.iso_i_ = $2[0];
-       }
-       | TELP {
-               $$ = TELP;
-               THIS->plet_.type_i_ = 1;
-               THIS->plet_.iso_i_ = 1;
-               THIS->default_duration_.plet_.iso_i_ = 1;
-               THIS->default_duration_.plet_.type_i_ = 1;
-       }
-       | TELP plet_fraction {
-               $$ = TELP;
-               THIS->plet_.type_i_ = $2[1];
-               THIS->plet_.iso_i_ = $2[0];
-               THIS->default_duration_.plet_.type_i_ = $2[1];
-               THIS->default_duration_.plet_.iso_i_ = $2[0];
-       }
-       ;
-
-close_request_parens:
-       '~'     {
-               $$ = '~';
-       }
-       | '('   {
-               $$='(';
-       }
-       | ']'   {
-               $$ = ']';
-       }
-       | E_SMALLER {
-               $$ = '<';
-       }
-       | E_BIGGER {
-               $$ = '>';
-       }
-       | close_plet_parens {
-       }
-       ;
-
-open_abbrev_parens:
-       '[' ':' unsigned {
-               $$ = '[';
-               if (!Duration::duration_type_b ($3))
-                       THIS->parser_error ("1:Not a duration");
-               else if ($3 < 8)
-                       THIS->parser_error ("Can't abbreviate");
-               else
-                       THIS->set_abbrev_beam ($3);
-       }
-       ;
-
-open_plet_parens:
-       '[' plet_fraction {
-               $$ = BEAMPLET;
-               THIS->plet_.type_i_ = $2[1];
-               THIS->plet_.iso_i_ = $2[0];
-               THIS->default_duration_.plet_.type_i_ = $2[1];
-               THIS->default_duration_.plet_.iso_i_ = $2[0];
-       }
-       | PLET plet_fraction {
-               $$ = PLET;
-               THIS->plet_.type_i_ = $2[1];
-               THIS->plet_.iso_i_ = $2[0];
-               THIS->default_duration_.plet_.type_i_ = $2[1];
-               THIS->default_duration_.plet_.iso_i_ = $2[0];
-       }
-       ;
-
-open_request_parens:
-       E_EXCLAMATION   {
-               $$ = '!';
-       }
-       | ')'   {
-               $$=')';
-       }
-       | '['   {
-               $$='[';
-       }
-       | open_abbrev_parens {
-       }
-       | open_plet_parens {
-       }
-       ;
-
-
-
-script_definition:
-       SCRIPT '{' script_body '}'      { $$ = $3; }
-       ;
-
-script_body:
-       STRING int int int int int              {
-               Script_def *s = new Script_def;
-               s->set_from_input (*$1,$2, $3,$4,$5, $6);
-               $$  = s;
-               delete $1;
-       }
-       ;
-
-script_req:
-       script_dir gen_script_def       {
-               Musical_script_req *m = new Musical_script_req;
-               $$ = m;
-               m->scriptdef_p_ = $2;
-               m->set_spot (THIS->here_input ());
-               if (!m->dir_)
-                 m->dir_  = $1;
-       }
-       ;
-
-gen_script_def:
-       text_def        { 
-               $$ = $1;
-               ((Text_def*) $$)->align_i_ = CENTER; /* UGH */
-       }
-       | mudela_script { 
-               $$ = $1;
-               $$-> set_spot (THIS->here_input ());
-       }
-       | finger {
-               $$ = $1;
-               ((Text_def*)$$)->align_i_ = CENTER;
-       }
-       ;
-
-text_def:
-       STRING {
-               Text_def *t  = new Text_def;
-               $$ = t;
-               t->text_str_ = *$1;
-               delete $1;
-               t->style_str_ = THIS->textstyle_str_;
-               $$->set_spot (THIS->here_input ());
-       }
-       ;
-
-finger:
-        DIGIT {
-               Text_def* t  = new Text_def;
-               $$ = t;
-               t->text_str_ = String ($1);
-               t->style_str_ = "finger";
-               $$->set_spot (THIS->here_input ());
-       }
-       ;
-
-script_abbreviation:
-       '^'             { $$ = get_scriptdef ('^'); }
-       | '+'           { $$ = get_scriptdef ('+'); }
-       | '-'           { $$ = get_scriptdef ('-'); }
-       | '|'           { $$ = get_scriptdef ('|'); }
-       | 'o'           { $$ = get_scriptdef ('o'); }
-       | '>'           { $$ = get_scriptdef ('>'); }
-       | '.'           {
-               $$ = get_scriptdef ('.');
-       }
-       ;
-
-mudela_script:
-       SCRIPT_IDENTIFIER               { $$ = $1->script (); }
-       | script_definition             { $$ = $1; }
-       | script_abbreviation           {
-               $$ = THIS->lexer_p_->lookup_identifier (*$1)->script ();
-               delete $1;
-       }
-       ;
-
-script_dir:
-       '_'     { $$ = -1; }
-       | '^'   { $$ = 1; }
-       | '-'   { $$ = 0; }
-       ;
-
-pre_requests:
-       {
-       }
-       | pre_requests open_request_parens {
-               Array<Request*>& r = *THIS->get_parens_request ($2);
-               for (int i = 0; i < r.size (); i++ )
-                       r[i]->set_spot (THIS->here_input ());
-               THIS->pre_reqs.concat (r);
-               delete &r;
-       }
-       ;
-
-voice_command:
-       DURATION STRING {
-               THIS->set_duration_mode (*$2);
-               delete $2;
-       }
-       | DURATION entered_notemode_duration {
-               THIS->set_default_duration ($2);
-               delete $2;
-       }
-       | OCTAVE {
-               /*
-                       This is weird, but default_octave_i_
-                       is used in steno_note_req too
-
-                       c' -> default_octave_i_ == 1
-               */
-               /* why can't we have \oct 0 iso \oct{c'}*/
-               THIS->default_octave_i_ = 1; }
-/* cont */
-       steno_melodic_req {
-               THIS->default_octave_i_ = $3->octave_i_;
-               delete $3;
-       }
-       | TEXTSTYLE STRING      {
-               THIS->textstyle_str_ = *$2;
-               delete $2;
-       }
-       ;
-
-duration_length:
-       {
-               $$ = new Moment (0,1);
-       }
-       | duration_length explicit_steno_duration               {
-               *$$ += $2->length ();
-       }
-       ;
-
-dots:
-       '.'             { $$ = 1; }
-       | dots '.'      { $$ ++; }
-       ;
-
-entered_notemode_duration:
-       /* */           {
-               $$ = new Duration (THIS->default_duration_);
-       }
-       | dots          {
-               $$ = new Duration (THIS->default_duration_);
-               $$->dots_i_  = $1;
-       }
-       | explicit_steno_duration       {
-               THIS->set_last_duration ($1);
-               $$ = $1;
-       }
-       ;
-
-notemode_duration:
-       entered_notemode_duration {
-               $$ = $1;
-       }
-       ;
-
-explicit_steno_duration:
-       unsigned                {
-               $$ = new Duration;
-               if (!Duration::duration_type_b ($1))
-                       THIS->parser_error ("2:Not a duration");
-               else {
-                       $$->durlog_i_ = Duration_convert::i2_type ($1);
-                       $$->set_plet (THIS->default_duration_);
-                    }
-       }
-       | DURATION_IDENTIFIER   {
-               $$ = $1->duration ();
-       }
-       | explicit_steno_duration '.'   {
-               $$->dots_i_ ++;
-       }
-       | explicit_steno_duration '*' unsigned  {
-               $$->plet_.iso_i_ = $3;
-       }
-       | explicit_steno_duration '/' unsigned {
-               $$->plet_.type_i_ = $3;
-       }
-       ;
-
-
-abbrev_type: 
-       ':'     {
-               $$ =0;
-       }
-       | ':' unsigned {
-               if (!Duration::duration_type_b ($2))
-                       THIS->parser_error ("3:Not a duration");
-               else if ($2 < 8)
-                       THIS->parser_error ("Can't abbreviate");
-               $$ = $2;
-       }
-
-       ;
-
-music_elt:
-       steno_note_req notemode_duration  {
-               if (!THIS->lexer_p_->note_state_b ())
-                       THIS->parser_error ("have to be in Note mode for notes");
-               $1->set_duration (*$2);
-               int durlog_i = $2->durlog_i_;
-               $$ = THIS->get_note_element ($1, $2);
-       }
-       | RESTNAME notemode_duration            {
-               $$ = THIS->get_rest_element (*$1, $2);
-               delete $1;
-       }
-       ;
-
-lyrics_elt:
-       text_def notemode_duration                      {
-       /* this sux! text-def should be feature of lyric-engraver. */
-               if (!THIS->lexer_p_->lyric_state_b ())
-                       THIS->parser_error ("Have to be in Lyric mode for lyrics");
-               $$ = THIS->get_word_element ($1, $2);
-
-       };
-
-/*
-       UTILITIES
- */
-pitch_list:                    {
-               $$ = new Array<Melodic_req*>;
-       }
-       | pitch_list NOTENAME_ID        {
-               $$->push ($2->clone ()->musical ()->melodic ());
-       }
-       ;
-
-unsigned:
-       UNSIGNED        {
-               $$ = $1;
-       }
-       | DIGIT {
-               $$ = $1;
-       };
-
-int:
-       unsigned {
-               $$ = $1;
-       }
-       | '-' unsigned {
-               $$ = -$2;
-       }
-       | INT_IDENTIFIER        {
-               int *i_p = $1->intid ();
-               $$ = *i_p;
-               delete i_p;
-       }
-       ;
-
-real:
-       REAL            {
-               $$ = $1;
-       }
-       | REAL_IDENTIFIER               {
-               Real *r_p = $1->real ();
-               $$ = * r_p;
-               delete r_p;
-       }
-       ;
-
-
-
-dim:
-       real unit       { $$ = $1*$2; }
-       ;
-
-
-unit:  CM_T            { $$ = 1 CM; }
-       |IN_T           { $$ = 1 INCH; }
-       |MM_T           { $$ = 1 MM; }
-       |PT_T           { $$ = 1 PT; }
-       ;
-
-/*
-       symbol tables
-*/
-symtables:
-       SYMBOLTABLES '{' symtables_body '}'     { $$ = $3; }
-       ;
-
-symtables_body:
-                       {
-               $$ = new Lookup;
-       }
-       | IDENTIFIER            {
-               $$ = $1->lookup ();
-       }
-       | symtables_body TEXID STRING           {
-               $$->texsetting = *$3;
-               delete $3;
-       }
-       | symtables_body STRING '=' symtable            {
-               $$->add (*$2, $4);
-               delete $2;
-       }
-       ;
-
-symtable:
-       TABLE '{' symtable_body '}' { $$ = $3; }
-       ;
-
-symtable_body:
-                               { $$ = new Symtable; }
-       | symtable_body STRING  symboldef {
-               $$->add (*$2, *$3);
-               delete $2;
-               delete $3;
-       }
-       ;
-
-symboldef:
-       STRING  box             {
-               $$ = new Atom (*$1, *$2);
-               delete $1;
-               delete $2;
-       }
-       | STRING {
-               Box b (Interval (0,0), Interval (0,0));
-               $$ = new Atom (*$1, b);
-               delete $1;
-       }
-       ;
-
-box:
-       dinterval dinterval     {
-               $$ = new Box (*$1, *$2);
-               delete $1;
-               delete $2;
-       }
-       ;
-
-dinterval: dim dim             {
-               $$ = new Interval ($1, $2);
-       }
-       ;
-
-%%
-
-void
-My_lily_parser::set_yydebug (bool b)
-{
-#ifdef YYDEBUG
-       yydebug = b;
-#endif
-}
-void
-My_lily_parser::do_yyparse ()
-{
-       yyparse ((void*)this);
-}
-
-Paper_def*
-My_lily_parser::default_paper ()
-{
-       Identifier *id = lexer_p_->lookup_identifier ("default_paper");
-       return id ? id->paperdef () : new Paper_def ;
-}
-
-Midi_def*
-My_lily_parser::default_midi ()
-{
-       Identifier *id = lexer_p_->lookup_identifier ("default_midi");
-       return id ? id->mididef () : new Midi_def ;
-}
-
diff --git a/lily/parser.yy b/lily/parser.yy
new file mode 100644 (file)
index 0000000..4be93f0
--- /dev/null
@@ -0,0 +1,1348 @@
+%{ // -*-Fundamental-*-
+
+/*
+  parser.yy -- YACC -> C++ parser for mudela
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+           Jan Nieuwenhuizen <jan@digicash.com>
+*/
+
+#include <iostream.h>
+
+// mmm
+#define MUDELA_VERSION "0.1.9"
+
+#include "scalar.hh"
+#include "translation-property.hh"
+#include "script-def.hh"
+#include "symtable.hh"
+#include "lookup.hh"
+#include "misc.hh"
+#include "my-lily-lexer.hh"
+#include "paper-def.hh"
+#include "midi-def.hh"
+#include "main.hh"
+#include "keyword.hh"
+#include "debug.hh"
+#include "parseconstruct.hh"
+#include "dimen.hh"
+#include "identifier.hh"
+#include "command-request.hh"
+#include "musical-request.hh"
+#include "my-lily-parser.hh"
+#include "text-def.hh"
+#include "translator-group.hh"
+#include "score.hh"
+#include "music-list.hh"
+#include "header.hh"
+#include "duration-convert.hh"
+#include "change-translator.hh"
+
+int const GUESS_PLET = 5;
+int guess_plet_a[GUESS_PLET] =
+{ 
+  1,
+  3,
+  2,
+  3,
+  4
+};
+
+#ifndef NDEBUG
+#define YYDEBUG 1
+#endif
+
+#define YYERROR_VERBOSE 1
+
+#define YYPARSE_PARAM my_lily_parser_l
+#define YYLEX_PARAM my_lily_parser_l
+#define THIS ((My_lily_parser *) my_lily_parser_l)
+
+#define yyerror THIS->parser_error
+
+%}
+
+
+%union {
+    Array<Interval>* intarr;
+    Array<Melodic_req*> *melreqvec;/* should clean up naming */
+    Array<String> * strvec;
+    Array<int> *intvec;
+    Box *box;
+    Chord * chord;
+    Duration *duration;
+    Identifier *id;
+    Translator* trans;
+    Music *music;
+    Music_list *musiclist;
+    Score *score;
+    Header *header;
+    Interval *interval;
+    Lookup*lookup;
+    Melodic_req * melreq;
+    Musical_req* musreq;
+    Music_output_def * outputdef;
+    Midi_def* midi;
+    Moment *moment;
+    Note_req *notereq;
+    Paper_def *paper;
+    Real real;
+    Request * request;
+    General_script_def * script;
+    Scalar *scalar;
+    String *string;
+    Atom * symbol;
+    Symtable * symtable;
+    Symtables * symtables;
+    Text_def * textdef;
+    Tempo_req *tempo;
+    char c;
+    const char *consstr;
+    int i;
+    int pair[2];
+    int ii[10];
+}
+%{
+
+int
+yylex (YYSTYPE *s,  void * v_l)
+{
+       My_lily_parser   *pars_l = (My_lily_parser*) v_l;
+       My_lily_lexer * lex_l = pars_l->lexer_p_;
+
+       lex_l->lexval_l = (void*) s;
+       return lex_l->yylex ();
+}
+
+
+%}
+
+%pure_parser
+
+/* tokens which are not keywords */
+
+%token ALIAS
+%token BAR
+%token BEAMPLET
+%token MAEBTELP
+%token BREAK
+%token CADENZA
+%token CLEAR
+%token CLEF
+%token CONTAINS
+%token CONSISTS
+%token ACCEPTS
+%token CM_T
+%token DURATION
+%token ABSDYNAMIC
+%token END
+%token GROUPING
+%token TRANSLATOR
+%token HEADER
+%token IN_T
+%token LYRIC
+%token KEY
+%token MELODIC
+%token MIDI
+%token MELODIC_REQUEST
+%token METER
+%token MM_T
+%token MULTI
+%token NOTENAMES
+%token OCTAVE
+%token OUTPUT
+%token PAPER
+%token PARTIAL
+%token PLET
+%token TELP
+%token PT_T
+%token SCORE
+%token SCRIPT
+%token SHAPE
+%token SKIP
+%token SPANDYNAMIC
+%token STAFF
+%token START_T
+%token SYMBOLTABLES
+%token TABLE
+%token TRANSPOSE
+%token TEMPO
+%token TYPE
+%token TEXID
+%token TEXTSTYLE
+%token TITLE
+%token PROPERTY
+%token VERSION
+
+/* escaped */
+%token E_EXCLAMATION E_SMALLER E_BIGGER E_CHAR
+
+%type <i>      dots
+%token <i>     DIGIT
+%token <melreq>        NOTENAME_ID
+%token <id>    DURATION_IDENTIFIER
+%token <id>    IDENTIFIER
+%token <id>    MELODIC_REQUEST_IDENTIFIER
+%token <id>    MUSIC_IDENTIFIER
+%token <id>    VOICE_IDENTIFIER
+%token <id>    POST_REQUEST_IDENTIFIER
+%token <id>    SCRIPT_IDENTIFIER
+%token <id>    COMMAND_IDENTIFIER
+%token <id>    REAL_IDENTIFIER
+%token <id>    TRANS_IDENTIFIER
+%token <id>    INT_IDENTIFIER
+%token <id>    SCORE_IDENTIFIER
+%token <id>    MIDI_IDENTIFIER
+%token <id>    PAPER_IDENTIFIER
+%token <id>    REQUEST_IDENTIFIER
+%token <real>  REAL
+%token <string>        DURATION RESTNAME
+%token <string>        STRING
+%token <i>     UNSIGNED
+%token <i>     POST_QUOTES
+%token <i>     PRE_QUOTES
+
+%type <outputdef> output_def
+%type <header>         mudela_header mudela_header_body
+%type <box>    box
+%type <i>      open_request_parens close_request_parens
+%type <c>      open_abbrev_parens
+%type <i>      open_plet_parens close_plet_parens
+%type <music>  simple_element music_elt full_element lyrics_elt command_elt
+%type <i>      abbrev_type
+%type <i>      int unsigned
+%type <i>      script_dir
+%type <id>     identifier_init
+%type <duration> explicit_steno_duration notemode_duration
+%type <duration> entered_notemode_duration explicit_duration
+%type <interval>       dinterval
+%type <intvec> intastint_list
+%type <lookup> symtables symtables_body
+%type <melreq> melodic_request steno_melodic_req
+%type <notereq>        steno_note_req
+%type <melreqvec>      pitch_list
+%type <midi>   midi_block midi_body
+%type <moment> duration_length
+
+%type <scalar>  scalar
+%type <music>  Music transposed_music
+%type <music>  property_def translator_change
+%type <musiclist> Voice Voice_body
+%type <chord>  Chord Chord_body
+%type <paper>  paper_block paper_body
+%type <real>   dim real
+%type <real>   unit
+%type <request> abbrev_command_req
+%type <request>        post_request structured_post_request
+%type <pair>   plet_fraction
+%type <request> command_req verbose_command_req
+%type <request>        script_req  dynamic_req
+%type <score>  score_block score_body
+%type <intarr> shape_array
+%type <script> script_definition script_body mudela_script gen_script_def
+%type <textdef> text_def finger
+%type <string> script_abbreviation
+%type <symbol> symboldef
+%type <symtable>       symtable symtable_body
+%type <trans>  translator_spec translator_spec_body
+%type <tempo>  tempo_request
+%type <string> concat_strings
+
+%expect 1
+
+
+%%
+
+mudela:        /* empty */
+       | mudela mudela_header {
+               delete THIS->default_header_p_ ;
+               THIS->default_header_p_ = $2;
+       }
+       | mudela score_block {
+               add_score ($2);
+       }
+       | mudela add_declaration { }
+       | mudela error
+       | mudela check_version { }
+       | mudela add_notenames { }
+       ;
+
+check_version:
+       VERSION STRING ';'              {
+               if (String (*$2) != MUDELA_VERSION) {
+                       if (THIS->ignore_version_b_) {
+                               THIS->here_input ().error ("Incorrect mudela version");
+                       } else {
+                               THIS->fatal_error_i_ = 1;
+                               THIS->parser_error ("Incorrect mudela version");
+                       }
+               }
+       }
+       ;
+
+add_notenames:
+       NOTENAMES '{' notenames_body '}'
+       ;
+notenames_body:
+       /**/    {
+       }
+       | notenames_body CLEAR  {
+               THIS->clear_notenames ();
+       }
+       | notenames_body STRING '=' melodic_request {
+               THIS->add_notename (*$2, $4);
+               delete $2;
+       }
+       ;
+
+mudela_header_body:
+               {
+               $$ = new Header;
+       }
+       | mudela_header_body STRING '=' concat_strings ';' {
+               (*$$)[*$2] = *$4;
+               delete $2;
+               delete $4;
+       }
+       ;
+
+mudela_header:
+       HEADER '{' mudela_header_body '}'       {
+               $$ = $3;
+       }
+       ;
+
+
+concat_strings:
+               {
+               $$ = new String;
+       }
+       | concat_strings STRING {
+               *$$ += *$2;
+       }
+
+
+/*
+       DECLARATIONS
+*/
+
+add_declaration:
+       STRING {
+               THIS->remember_spot ();
+       }
+       /* cont */ '=' identifier_init {
+           THIS->lexer_p_->set_identifier (*$1, $4);
+           $4->init_b_ = THIS->init_parse_b_;
+           $4->set_spot (THIS->pop_spot ());
+       }
+       ;
+
+identifier_init:
+       score_block {
+               $$ = new Score_id ($1, SCORE_IDENTIFIER);
+
+       }
+       | paper_block {
+               $$ = new Paper_def_id ($1, PAPER_IDENTIFIER);
+
+       }
+       | midi_block {
+               $$ = new Midi_def_id ($1, MIDI_IDENTIFIER);
+
+       }
+       | script_definition {
+               $$ = new Script_id ($1, SCRIPT_IDENTIFIER);
+
+       }
+       | Music  {
+               $$ = new Music_id ($1, MUSIC_IDENTIFIER);
+
+       }
+       | symtables {
+               $$ = new Lookup_id ($1, IDENTIFIER);
+
+       }
+       | real  {
+               $$ = new Real_id (new Real ($1), REAL_IDENTIFIER);
+
+       }
+       | int   {
+               $$ = new Int_id (new int ($1), INT_IDENTIFIER);
+       }
+       | post_request {
+               $$ = new Request_id ($1, POST_REQUEST_IDENTIFIER);
+       }
+       | melodic_request {
+               $$ = new Request_id ($1, MELODIC_REQUEST_IDENTIFIER);
+
+       }
+       | translator_spec {
+               $$ = new Translator_id ($1, TRANS_IDENTIFIER);
+       }
+       | explicit_duration {
+               $$ = new Duration_id ($1, DURATION_IDENTIFIER);
+       }
+       ;
+
+
+
+translator_spec:
+       TRANSLATOR '{' translator_spec_body '}'
+               { $$ = $3; }
+       ;
+
+translator_spec_body:
+       TRANS_IDENTIFIER        {
+               $$ = $1->translator ();
+               $$-> set_spot (THIS->here_input ());
+       }
+       | TYPE STRING ';'       {
+               $$ = get_translator_l (*$2)->clone ();
+               $$->set_spot (THIS->here_input ());
+               delete $2;
+       }
+       | translator_spec_body STRING '=' scalar ';'    {
+               $$-> set_property (*$2, *$4);
+               delete $2;
+               delete $4;
+       }
+       | translator_spec_body CONSISTS STRING ';'      {
+               $$->group_l ()->consists_str_arr_.push (*$3);
+               delete $3;
+       }
+       | translator_spec_body ACCEPTS STRING ';' {
+               $$->group_l ()->accepts_str_arr_.push (*$3);
+               delete $3;
+       }
+       ;
+
+/*
+       SCORE
+*/
+score_block:
+       SCORE { THIS->remember_spot ();
+               THIS->error_level_i_ =0;
+       }
+       /*cont*/ '{' score_body '}'     {
+               $$ = $4;
+               $$->set_spot (THIS->pop_spot ());
+               if (!$$->def_p_arr_.size ())
+                       $$->add (THIS->default_paper ());
+
+               /* handle error levels. */
+               $$->errorlevel_i_ = THIS->error_level_i_;
+               THIS->error_level_i_ = 0;
+               if (!$$->header_p_ && THIS->default_header_p_)
+                       $$->header_p_ = new Header (*THIS->default_header_p_);
+       }
+       ;
+
+score_body:            {
+               $$ = new Score;
+       }
+       | SCORE_IDENTIFIER {
+               $$ = $1->score ();
+       }
+       | score_body mudela_header      {
+               $$->header_p_ = $2;
+       }
+       | score_body Music      {
+               if ($$->music_p_)
+                       $2->warning ("More than one music block");      
+               $$->music_p_ = $2;
+       }
+       | score_body output_def {
+               $$->add ($2);
+       }
+       | score_body error {
+
+       }
+       ;
+
+output_def:
+       paper_block {
+               $$ = $1;
+       }
+       |  midi_block           {
+               $$= $1;
+       }
+       ;
+
+intastint_list:
+       /* */   { $$ =new Array<int>; }
+       | intastint_list int '*' int    {
+               $$->push ($2); $$->push ($4);
+       }
+       ;
+
+
+/*
+       PAPER
+*/
+paper_block:
+       PAPER
+       '{' paper_body '}'      { $$ = $3; }
+       ;
+
+paper_body:
+       /* empty */                     {
+               $$ = THIS->default_paper ();
+       }
+       | PAPER_IDENTIFIER      {
+               $$ = $1->paperdef ();
+       }
+       | paper_body OUTPUT STRING ';'  { 
+               $$->outfile_str_ = *$3;
+               delete $3;
+       }
+       | paper_body symtables          { $$->set ($2); }
+       | paper_body STRING '=' dim ';'         {
+               $$->set_var (*$2, $4);
+       }
+       | paper_body STRING '=' real ';' {
+               $$->set_var (*$2, $4);
+       }
+       | paper_body STRING '=' translator_spec {
+               $$-> assign_translator (*$2, $4);
+               delete $2;
+       }
+       | paper_body SHAPE '=' shape_array ';' {
+               $$->shape_int_a_ = *$4;
+               delete $4;
+       }
+       | paper_body error {
+
+       }
+       ;
+
+shape_array:
+       /* empty */ {
+               $$ = new Array<Interval>;
+       }
+       | shape_array dim dim {
+               $$->push(Interval($2, $2 + $3));
+       };
+
+/*
+       MIDI
+*/
+midi_block:
+       MIDI
+
+       '{' midi_body '}'       { $$ = $3; }
+       ;
+
+midi_body: /* empty */                 {
+               $$ = THIS->default_midi ();
+       }
+       | midi_body STRING '=' translator_spec  {
+               $$-> assign_translator (*$2, $4);
+               delete $2;
+       }
+       | midi_body OUTPUT STRING ';'   {
+               $$->outfile_str_ = *$3;
+               delete $3;
+       }
+       | midi_body tempo_request ';' {
+               $$->set_tempo ($2->dur_.length (), $2->metronome_i_);
+               delete $2;
+       }
+       | midi_body error {
+
+       }
+       ;
+
+tempo_request:
+       TEMPO entered_notemode_duration '=' unsigned    {
+               $$ = new Tempo_req;
+               $$->dur_ = *$2;
+               delete $2;
+               $$-> metronome_i_ = $4;
+       }
+       ;
+
+/*
+       MUSIC
+*/
+
+Voice:
+       '{' Voice_body '}'      {
+               $$ = $2;
+       }
+       ;
+
+Voice_body:
+       /**/            {
+               $$ = new Voice;
+               $$->set_spot (THIS->here_input ());
+       }
+       | Voice_body Music              {
+               $$->add ($2);
+       }
+       ;
+
+Music:
+       full_element            { $$ = $1; }
+       | TYPE STRING Music     {
+               $$ = $3;
+               $$->translator_type_str_ = *$2;
+               delete $2;
+       }
+       | TYPE STRING '=' STRING Music {
+               $$ = $5;
+               $$->translator_type_str_ = *$2;
+               $$->translator_id_str_ = *$4;
+               delete $2;
+               delete $4;
+       }
+       | Voice         { $$ = $1; }
+       | Chord                 { $$ = $1; }
+       | transposed_music      { $$ = $1; }
+       | MUSIC_IDENTIFIER      { $$ = $1->music (); }
+       | MUSIC_IDENTIFIER ';'  { $$ = $1->music (); }
+       | MELODIC
+               { THIS->lexer_p_->push_note_state (); }
+       Music
+               { $$=$3; THIS->lexer_p_->pop_state (); }
+
+       | LYRIC
+               { THIS->lexer_p_->push_lyric_state (); }
+       Music
+               { $$ = $3; THIS->lexer_p_->pop_state (); }
+       | property_def
+       | translator_change
+       ;
+
+translator_change:
+       TRANSLATOR STRING '=' STRING  {
+               Change_translator * t = new Change_translator;
+               t-> change_to_type_str_ = *$2;
+               t-> change_to_id_str_ = *$4;
+
+               $$ = t;
+               $$->set_spot (THIS->here_input ());
+               delete $2;
+               delete $4;
+       }
+       ;
+
+property_def:
+       PROPERTY STRING '.' STRING '=' scalar   {
+               Translation_property *t = new Translation_property;
+               t-> translator_type_str_ = *$2;
+               t-> var_str_ = *$4;
+               t-> value_ = *$6;
+               $$ = t;
+               $$->set_spot (THIS->here_input ());
+               delete $2;
+               delete $4;
+               delete $6;
+       }
+       ;
+
+scalar:
+       STRING          { $$ = new Scalar (*$1); delete $1; }
+       | int           { $$ = new Scalar ($1); }
+       ;
+
+
+Chord:
+       '<' Chord_body '>'      { $$  = $2; }
+       | MULTI unsigned Chord {
+               $$ = $3;
+               $$->multi_level_i_=$2;
+       }
+       ;
+
+Chord_body:
+       /**/    {
+               $$ = new Chord;
+               $$-> multi_level_i_ = 1;
+               $$->set_spot (THIS->here_input ());
+       }
+       | Chord_body Music {
+               $$->add ($2);
+       }
+       ;
+
+transposed_music:
+       TRANSPOSE steno_melodic_req Music {
+               $$ = $3;
+               $$ -> transpose ($2);
+
+               delete $2;
+       }
+       ;
+
+
+/*
+       VOICE ELEMENTS
+*/
+full_element:
+       pre_requests simple_element post_requests       {
+               THIS->add_requests ((Chord*)$2);//ugh
+               $$ = $2;
+       }
+       | command_elt
+       | voice_command ';'     { $$ = 0; }
+       ;
+
+simple_element:
+       music_elt
+       | lyrics_elt
+       ;
+
+command_elt:
+       command_req {
+               $$ = new Request_chord;
+               $$-> set_spot (THIS->here_input ());
+               $1-> set_spot (THIS->here_input ());
+               ((Chord*)$$) ->add ($1);//ugh
+
+       }
+       ;
+
+command_req:
+       abbrev_command_req
+       | verbose_command_req ';'       { $$ = $1; }
+       ;
+
+abbrev_command_req:
+       '|'                             {
+               $$ = new Barcheck_req;
+       }
+       | COMMAND_IDENTIFIER    {
+               $$ = $1->request ();
+       }
+       ;
+
+verbose_command_req:
+       BAR STRING                      {
+               $$ = new Bar_req (*$2);
+               delete $2;
+       }
+       | BREAK {
+               Break_force_req * f = new Break_force_req;
+               f-> set_spot (THIS->here_input ());
+               $$ = f;
+       }
+       | METER unsigned '/' unsigned   {
+               Meter_change_req *m = new Meter_change_req;
+               m->set ($2,$4);
+               $$ = m;
+       }
+       | SKIP duration_length {
+               Skip_req * skip_p = new Skip_req;
+               skip_p->duration_.set_plet ($2->num (),
+                       $2->den ());
+
+               delete $2;
+               $$ = skip_p;
+       }
+       | tempo_request {
+               $$ = $1;
+       }
+       | CADENZA unsigned      {
+               $$ = new Cadenza_req ($2);
+       }
+       | PARTIAL duration_length       {
+               $$ = new Partial_measure_req (*$2);
+               delete $2;
+       }
+       | CLEF STRING {
+               $$ = new Clef_change_req (*$2);
+               delete $2;
+       }
+       | KEY pitch_list        {
+               Key_change_req *key_p= new Key_change_req;
+               key_p->melodic_p_arr_ = *$2;
+               $$ = key_p;
+               delete $2;
+       }
+       | GROUPING intastint_list {
+               $$ = get_grouping_req (*$2); delete $2;
+       }
+       ;
+
+post_requests:
+       {
+               /* something silly happened.  Junk this stuff*/
+               if (!THIS->post_reqs.empty ())
+               {
+                       warning ("Junking post-requests");
+                       THIS->post_reqs.clear ();
+               }
+       }
+       | post_requests structured_post_request {
+               $2->set_spot (THIS->here_input ());
+               THIS->post_reqs.push ($2);
+       }
+       | post_requests close_request_parens    {
+               Array<Request*>& r = *THIS->get_parens_request ($2);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->post_reqs.concat (r);
+               delete &r;
+       }
+       ;
+
+structured_post_request:
+       script_req
+       | post_request
+       ;
+
+post_request:
+       POST_REQUEST_IDENTIFIER {
+               $$ = (Request*)$1->request ();
+       }
+       | dynamic_req {
+               $$ = $1;
+       }
+       | abbrev_type   {
+               Abbreviation_req* a = new Abbreviation_req;
+               a->type_i_ = $1;
+               $$ = a;
+       }
+       ;
+
+
+
+/*
+       URG!!
+*/
+steno_melodic_req:
+       NOTENAME_ID     {
+               $$ = $1->clone ()->musical ()->melodic ();
+               $$->octave_i_ += THIS->default_octave_i_;
+       }
+       | steno_melodic_req POST_QUOTES         {
+               $$-> octave_i_ += $2;
+       }
+       | PRE_QUOTES steno_melodic_req   {
+               $$ = $2;
+               $2-> octave_i_ -= $1;
+       }
+       ;
+
+steno_note_req:
+       steno_melodic_req       {
+               $$ = new Note_req;
+               * (Melodic_req *) $$ = *$1;
+               delete $1;
+       }
+       | steno_note_req   '!'          {
+               $$->forceacc_b_ = ! $$->forceacc_b_;
+       }
+       /* have to duration here. */
+       ;
+
+melodic_request:
+       MELODIC_REQUEST '{' int int int '}'     {/* ugh */
+               $$ = new Melodic_req;
+               $$->octave_i_ = $3;
+               $$->notename_i_ = $4;
+               $$->accidental_i_ = $5;
+       }
+       ;
+
+explicit_duration:
+       DURATION '{' int unsigned '}'   {
+               $$ = new Duration;
+               $$-> durlog_i_ = $3;
+               $$-> dots_i_ = $4;
+       }
+       ;
+
+dynamic_req:
+       ABSDYNAMIC '{' unsigned '}'     {
+               Absolute_dynamic_req *ad_p = new Absolute_dynamic_req;
+               ad_p ->loudness_ = (Dynamic_req::Loudness)$3;
+               $$ =ad_p;
+       }
+       | SPANDYNAMIC '{' int int '}' {
+               Span_dynamic_req * sp_p = new Span_dynamic_req;
+               sp_p->spantype = $4;
+               sp_p-> dynamic_dir_  = $3;
+               $$ = sp_p;
+       }
+       ;
+
+plet_fraction:
+       unsigned '/' unsigned {
+               $$[0] = $1;
+               $$[1] = $3;
+       }
+       |
+       '/' unsigned {
+               int num = $2 >? 1;
+               $$[0] = guess_plet_a[(num <? GUESS_PLET) - 1];
+               $$[1] = num;
+       }
+       ;
+
+close_plet_parens:
+       ']' plet_fraction {
+               $$ = MAEBTELP;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
+       }
+       | TELP {
+               $$ = TELP;
+               THIS->plet_.type_i_ = 1;
+               THIS->plet_.iso_i_ = 1;
+               THIS->default_duration_.plet_.iso_i_ = 1;
+               THIS->default_duration_.plet_.type_i_ = 1;
+       }
+       | TELP plet_fraction {
+               $$ = TELP;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
+       }
+       ;
+
+close_request_parens:
+       '~'     {
+               $$ = '~';
+       }
+       | '('   {
+               $$='(';
+       }
+       | ']'   {
+               $$ = ']';
+       }
+       | E_SMALLER {
+               $$ = '<';
+       }
+       | E_BIGGER {
+               $$ = '>';
+       }
+       | close_plet_parens {
+       }
+       ;
+
+open_abbrev_parens:
+       '[' ':' unsigned {
+               $$ = '[';
+               if (!Duration::duration_type_b ($3))
+                       THIS->parser_error ("1:Not a duration");
+               else if ($3 < 8)
+                       THIS->parser_error ("Can't abbreviate");
+               else
+                       THIS->set_abbrev_beam ($3);
+       }
+       ;
+
+open_plet_parens:
+       '[' plet_fraction {
+               $$ = BEAMPLET;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
+       }
+       | PLET plet_fraction {
+               $$ = PLET;
+               THIS->plet_.type_i_ = $2[1];
+               THIS->plet_.iso_i_ = $2[0];
+               THIS->default_duration_.plet_.type_i_ = $2[1];
+               THIS->default_duration_.plet_.iso_i_ = $2[0];
+       }
+       ;
+
+open_request_parens:
+       E_EXCLAMATION   {
+               $$ = '!';
+       }
+       | ')'   {
+               $$=')';
+       }
+       | '['   {
+               $$='[';
+       }
+       | open_abbrev_parens {
+       }
+       | open_plet_parens {
+       }
+       ;
+
+
+
+script_definition:
+       SCRIPT '{' script_body '}'      { $$ = $3; }
+       ;
+
+script_body:
+       STRING int int int int int              {
+               Script_def *s = new Script_def;
+               s->set_from_input (*$1,$2, $3,$4,$5, $6);
+               $$  = s;
+               delete $1;
+       }
+       ;
+
+script_req:
+       script_dir gen_script_def       {
+               Musical_script_req *m = new Musical_script_req;
+               $$ = m;
+               m->scriptdef_p_ = $2;
+               m->set_spot (THIS->here_input ());
+               if (!m->dir_)
+                 m->dir_  = $1;
+       }
+       ;
+
+gen_script_def:
+       text_def        { 
+               $$ = $1;
+               ((Text_def*) $$)->align_i_ = CENTER; /* UGH */
+       }
+       | mudela_script { 
+               $$ = $1;
+               $$-> set_spot (THIS->here_input ());
+       }
+       | finger {
+               $$ = $1;
+               ((Text_def*)$$)->align_i_ = CENTER;
+       }
+       ;
+
+text_def:
+       STRING {
+               Text_def *t  = new Text_def;
+               $$ = t;
+               t->text_str_ = *$1;
+               delete $1;
+               t->style_str_ = THIS->textstyle_str_;
+               $$->set_spot (THIS->here_input ());
+       }
+       ;
+
+finger:
+        DIGIT {
+               Text_def* t  = new Text_def;
+               $$ = t;
+               t->text_str_ = String ($1);
+               t->style_str_ = "finger";
+               $$->set_spot (THIS->here_input ());
+       }
+       ;
+
+script_abbreviation:
+       '^'             { $$ = get_scriptdef ('^'); }
+       | '+'           { $$ = get_scriptdef ('+'); }
+       | '-'           { $$ = get_scriptdef ('-'); }
+       | '|'           { $$ = get_scriptdef ('|'); }
+       | 'o'           { $$ = get_scriptdef ('o'); }
+       | '>'           { $$ = get_scriptdef ('>'); }
+       | '.'           {
+               $$ = get_scriptdef ('.');
+       }
+       ;
+
+mudela_script:
+       SCRIPT_IDENTIFIER               { $$ = $1->script (); }
+       | script_definition             { $$ = $1; }
+       | script_abbreviation           {
+               $$ = THIS->lexer_p_->lookup_identifier (*$1)->script ();
+               delete $1;
+       }
+       ;
+
+script_dir:
+       '_'     { $$ = -1; }
+       | '^'   { $$ = 1; }
+       | '-'   { $$ = 0; }
+       ;
+
+pre_requests:
+       {
+       }
+       | pre_requests open_request_parens {
+               Array<Request*>& r = *THIS->get_parens_request ($2);
+               for (int i = 0; i < r.size (); i++ )
+                       r[i]->set_spot (THIS->here_input ());
+               THIS->pre_reqs.concat (r);
+               delete &r;
+       }
+       ;
+
+voice_command:
+       DURATION STRING {
+               THIS->set_duration_mode (*$2);
+               delete $2;
+       }
+       | DURATION entered_notemode_duration {
+               THIS->set_default_duration ($2);
+               delete $2;
+       }
+       | OCTAVE {
+               /*
+                       This is weird, but default_octave_i_
+                       is used in steno_note_req too
+
+                       c' -> default_octave_i_ == 1
+               */
+               /* why can't we have \oct 0 iso \oct{c'}*/
+               THIS->default_octave_i_ = 1; }
+/* cont */
+       steno_melodic_req {
+               THIS->default_octave_i_ = $3->octave_i_;
+               delete $3;
+       }
+       | TEXTSTYLE STRING      {
+               THIS->textstyle_str_ = *$2;
+               delete $2;
+       }
+       ;
+
+duration_length:
+       {
+               $$ = new Moment (0,1);
+       }
+       | duration_length explicit_steno_duration               {
+               *$$ += $2->length ();
+       }
+       ;
+
+dots:
+       '.'             { $$ = 1; }
+       | dots '.'      { $$ ++; }
+       ;
+
+entered_notemode_duration:
+       /* */           {
+               $$ = new Duration (THIS->default_duration_);
+       }
+       | dots          {
+               $$ = new Duration (THIS->default_duration_);
+               $$->dots_i_  = $1;
+       }
+       | explicit_steno_duration       {
+               THIS->set_last_duration ($1);
+               $$ = $1;
+       }
+       ;
+
+notemode_duration:
+       entered_notemode_duration {
+               $$ = $1;
+       }
+       ;
+
+explicit_steno_duration:
+       unsigned                {
+               $$ = new Duration;
+               if (!Duration::duration_type_b ($1))
+                       THIS->parser_error ("2:Not a duration");
+               else {
+                       $$->durlog_i_ = Duration_convert::i2_type ($1);
+                       $$->set_plet (THIS->default_duration_);
+                    }
+       }
+       | DURATION_IDENTIFIER   {
+               $$ = $1->duration ();
+       }
+       | explicit_steno_duration '.'   {
+               $$->dots_i_ ++;
+       }
+       | explicit_steno_duration '*' unsigned  {
+               $$->plet_.iso_i_ = $3;
+       }
+       | explicit_steno_duration '/' unsigned {
+               $$->plet_.type_i_ = $3;
+       }
+       ;
+
+
+abbrev_type: 
+       ':'     {
+               $$ =0;
+       }
+       | ':' unsigned {
+               if (!Duration::duration_type_b ($2))
+                       THIS->parser_error ("3:Not a duration");
+               else if ($2 < 8)
+                       THIS->parser_error ("Can't abbreviate");
+               $$ = $2;
+       }
+
+       ;
+
+music_elt:
+       steno_note_req notemode_duration  {
+               if (!THIS->lexer_p_->note_state_b ())
+                       THIS->parser_error ("have to be in Note mode for notes");
+               $1->set_duration (*$2);
+               int durlog_i = $2->durlog_i_;
+               $$ = THIS->get_note_element ($1, $2);
+       }
+       | RESTNAME notemode_duration            {
+               $$ = THIS->get_rest_element (*$1, $2);
+               delete $1;
+       }
+       ;
+
+lyrics_elt:
+       text_def notemode_duration                      {
+       /* this sux! text-def should be feature of lyric-engraver. */
+               if (!THIS->lexer_p_->lyric_state_b ())
+                       THIS->parser_error ("Have to be in Lyric mode for lyrics");
+               $$ = THIS->get_word_element ($1, $2);
+
+       };
+
+/*
+       UTILITIES
+ */
+pitch_list:                    {
+               $$ = new Array<Melodic_req*>;
+       }
+       | pitch_list NOTENAME_ID        {
+               $$->push ($2->clone ()->musical ()->melodic ());
+       }
+       ;
+
+unsigned:
+       UNSIGNED        {
+               $$ = $1;
+       }
+       | DIGIT {
+               $$ = $1;
+       };
+
+int:
+       unsigned {
+               $$ = $1;
+       }
+       | '-' unsigned {
+               $$ = -$2;
+       }
+       | INT_IDENTIFIER        {
+               int *i_p = $1->intid ();
+               $$ = *i_p;
+               delete i_p;
+       }
+       ;
+
+real:
+       REAL            {
+               $$ = $1;
+       }
+       | REAL_IDENTIFIER               {
+               Real *r_p = $1->real ();
+               $$ = * r_p;
+               delete r_p;
+       }
+       ;
+
+
+
+dim:
+       real unit       { $$ = $1*$2; }
+       ;
+
+
+unit:  CM_T            { $$ = 1 CM; }
+       |IN_T           { $$ = 1 INCH; }
+       |MM_T           { $$ = 1 MM; }
+       |PT_T           { $$ = 1 PT; }
+       ;
+
+/*
+       symbol tables
+*/
+symtables:
+       SYMBOLTABLES '{' symtables_body '}'     { $$ = $3; }
+       ;
+
+symtables_body:
+                       {
+               $$ = new Lookup;
+       }
+       | IDENTIFIER            {
+               $$ = $1->lookup ();
+       }
+       | symtables_body TEXID STRING           {
+               $$->texsetting = *$3;
+               delete $3;
+       }
+       | symtables_body STRING '=' symtable            {
+               $$->add (*$2, $4);
+               delete $2;
+       }
+       ;
+
+symtable:
+       TABLE '{' symtable_body '}' { $$ = $3; }
+       ;
+
+symtable_body:
+                               { $$ = new Symtable; }
+       | symtable_body STRING  symboldef {
+               $$->add (*$2, *$3);
+               delete $2;
+               delete $3;
+       }
+       ;
+
+symboldef:
+       STRING  box             {
+               $$ = new Atom (*$1, *$2);
+               delete $1;
+               delete $2;
+       }
+       | STRING {
+               Box b (Interval (0,0), Interval (0,0));
+               $$ = new Atom (*$1, b);
+               delete $1;
+       }
+       ;
+
+box:
+       dinterval dinterval     {
+               $$ = new Box (*$1, *$2);
+               delete $1;
+               delete $2;
+       }
+       ;
+
+dinterval: dim dim             {
+               $$ = new Interval ($1, $2);
+       }
+       ;
+
+%%
+
+void
+My_lily_parser::set_yydebug (bool b)
+{
+#ifdef YYDEBUG
+       yydebug = b;
+#endif
+}
+void
+My_lily_parser::do_yyparse ()
+{
+       yyparse ((void*)this);
+}
+
+Paper_def*
+My_lily_parser::default_paper ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_paper");
+       return id ? id->paperdef () : new Paper_def ;
+}
+
+Midi_def*
+My_lily_parser::default_midi ()
+{
+       Identifier *id = lexer_p_->lookup_identifier ("default_midi");
+       return id ? id->mididef () : new Midi_def ;
+}
+
index fda759a2da5411d981e3b17df313e4a0c602d94e..bd1a3527b451947376b2aa48a87226c7d82a5e26 100644 (file)
@@ -12,6 +12,7 @@
 
 Score_column::Score_column (Moment w)
 {
+  forced_break_b_ = false;
   when_ = w;
   musical_b_ = false;
 }
@@ -20,7 +21,10 @@ void
 Score_column::do_print() const
 {
 #ifndef NPRINT
-  DOUT << "mus "<< musical_b_ <<" at " <<  when_<<'\n';
+  DOUT << "mus "<< musical_b_ <<" at " <<  when_<< '\n';
+  if (forced_break_b_)
+    DOUT << "Break forced";
+      
   DOUT << "durations: [";
   for (int i=0; i < durations.size(); i++)
     DOUT << durations[i] << " ";
index 03947306a1b6bee9cba296bf53317cf47dd9557e..8e28c11280b062365657f0a0dada02b5e4ba08e2 100644 (file)
@@ -241,8 +241,18 @@ bool
 Score_engraver::do_try_request (Request*r)
 {
   bool gotcha = Engraver_group_engraver::do_try_request (r);  
-  if (!gotcha && r->command() && r->command ()->disallowbreak ())
-    disallow_break_b_ = true;
+
+  if (!gotcha && r->command())
+    {
+      Command_req * c = r->command ();
+      if (c->disallowbreak ())
+       disallow_break_b_ = true;
+      else if (c->forcebreak ())
+       {
+         command_column_l_->forced_break_b_ = true;
+         gotcha = true;
+       }
+    }
   return gotcha;
 }
 
index 1dafeadf866dc94a0dc43ff3b8d9c98f4e4e81ec..a10cf1446f3cee6378d278b618615500ec8b457d 100644 (file)
@@ -85,9 +85,9 @@ Spanner::set_bounds(Direction d, Item*i)
   if (i)
     i->attached_span_l_arr_.push(this);
 
-  assert (!spanned_drul_[d] ||
-         spanned_drul_[Direction(-d)] != spanned_drul_[d]);
-
+  if  (spanned_drul_[Direction(-d)] == spanned_drul_[d]
+       && i)
+    warning ("Spanner (" + String (name ()) + ") with equal left and right spanpoints.");
 }
 
 void
index ad778bc0c657e688a9a85fc7784b19bc63fb5bd5..b6b2fa7b28c916cdb925cf82c13f8f6a5027b3ec 100644 (file)
@@ -7,6 +7,8 @@ USER_CXXFLAGS = @CXXFLAGS@ @CPPFLAGS@
 USER_LDFLAGS =
 
 CXX = @CXX@
+POD2HTML= @POD2HTML@
+POD2MAN = @POD2MAN@
 ICFLAGS = @ICFLAGS@
 ILDFLAGS = @ILDFLAGS@
 libdir = @libdir@
diff --git a/make/Makefile b/make/Makefile
deleted file mode 100644 (file)
index 98f9b9d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# project  LilyPond -- the musical typesetter
-# title           zucht
-# file    make/Makefile 
-#
-# Copyright (c) 1997 by    
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#              ...your sort order here, or how to comment-out a comment
-
-# subdir level:
-#
-depth = ..
-#
-
-# identify module:
-#
-NAME = make
-SUBDIRS = 
-
-# list of distribution files:
-
-# two outdir files are distributed, since they make sense to have without running 
-# configure and make.
-IN_FILES = $(wildcard *.in)
-EXTRA_DISTFILES = $(IN_FILES) $(outdir)/lilypond.spec $(outdir)/lilypond.lsm $(outdir)/lelievijver.lsm
-#
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-#
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-#
-
-spec: $(outdir)/lilypond.spec
-
-rpmdocs=$(addprefix Documentation/out/, $(notdir $(shell ls $(depth)/Documentation/$(outdir)/*.txt)))\
-       BUGS TODO NEWS DEDICATION ANNOUNCE README
-rpmmudocs=$(addprefix Documentation/, $(notdir $(shell ls $(depth)/Documentation/*.doc)))
-rpmdvis=$(rpmmudocs:.doc=.dvi)
-rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.{ly,tex})))
-
-
-date = $(shell date '+%d%b%y'|tr a-z A-Z)
-sed-version= sed 's!@TOPLEVEL_VERSION@!${TOPLEVEL_VERSION}!g'
-sed-date=sed 's!@DATE@!${date}!g'
-sed-examples = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
-sed-docs=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
-
-$(outdir)/lilypond.spec: lilypond.spec.in $(depth)/VERSION
-       cat $< | $(sed-version) | $(sed-docs) | $(sed-examples) > $@
-
-$(outdir)/%.lsm: %.lsm.in $(depth)/VERSION
-       cat $< | $(sed-version) | $(sed-date) > $@
-
diff --git a/make/Makefile.am b/make/Makefile.am
new file mode 100644 (file)
index 0000000..0d81d57
--- /dev/null
@@ -0,0 +1,36 @@
+# Automatically generated from ./lilypond-0.1.49/make/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           zucht
+# file    make/Makefile.am.dist
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+IN_FILES = Configure_variables.make.in Makefile.in Toplevel.make.in lelievijver.lsm.in lilypond.lsm.in lilypond.spec.in
+MAKE_FILES = Files.make Include.make Initial.make Rules.make Targets.make Template.make User.make Variables.make Version.make
+EXTRA_DIST = Makefile.am.wild $(IN_FILES) $(MAKE_FILES) lilypond.spec lilypond.lsm lelievijver.lsm
+
+spec: $(outdir)/lilypond.spec
+
+rpmdocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/$(outdir)/*.txt)))\
+       BUGS TODO NEWS DEDICATION ANNOUNCE README
+rpmmudocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/*.doc)))
+rpmdvis = $(rpmmudocs:.doc=.dvi)
+rpmexamples = $(addprefix input/, $(notdir $(shell ls ../input/*.{ly,tex})))
+
+date = $(shell date '+%d%b%y'|tr a-z A-Z)
+
+SED_VERSION= sed 's!@TOPLEVEL_VERSION@!${TOPLEVEL_VERSION}!g'
+SED_DATE=sed 's!@DATE@!${date}!g'
+SED_EXAMPLES = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
+SED_DOCS=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
+
+lilypond.spec: lilypond.spec.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DOCS) | $(SED_EXAMPLES) > $@
+
+%.lsm: %.lsm.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DATE) > $@
+
diff --git a/make/Makefile.am.wild b/make/Makefile.am.wild
new file mode 100644 (file)
index 0000000..fe82501
--- /dev/null
@@ -0,0 +1,34 @@
+# project  LilyPond -- the musical typesetter
+# title           zucht
+# file    make/Makefile.am.dist
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+IN_FILES = $(wildcard *.in)
+MAKE_FILES = $(wildcard *.make)
+EXTRA_DIST = Makefile.am.wild $(IN_FILES) $(MAKE_FILES) lilypond.spec lilypond.lsm lelievijver.lsm
+
+spec: $(outdir)/lilypond.spec
+
+rpmdocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/$(outdir)/*.txt)))\
+       BUGS TODO NEWS DEDICATION ANNOUNCE README
+rpmmudocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/*.doc)))
+rpmdvis = $(rpmmudocs:.doc=.dvi)
+rpmexamples = $(addprefix input/, $(notdir $(shell ls ../input/*.{ly,tex})))
+
+date = $(shell date '+%d%b%y'|tr a-z A-Z)
+
+SED_VERSION= sed 's!@TOPLEVEL_VERSION@!${TOPLEVEL_VERSION}!g'
+SED_DATE=sed 's!@DATE@!${date}!g'
+SED_EXAMPLES = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
+SED_DOCS=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
+
+lilypond.spec: lilypond.spec.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DOCS) | $(SED_EXAMPLES) > $@
+
+%.lsm: %.lsm.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DATE) > $@
+
diff --git a/make/Makefile.in b/make/Makefile.in
new file mode 100644 (file)
index 0000000..11ccea3
--- /dev/null
@@ -0,0 +1,209 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./make/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           zucht
+# file    make/Makefile.am.dist
+#
+# Copyright (c) 1997 by    
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#              ...your sort order here, or how to comment-out a comment
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+IN_FILES = Configure_variables.make.in Makefile.in Toplevel.make.in lelievijver.lsm.in lilypond.lsm.in lilypond.spec.in
+MAKE_FILES = Files.make Include.make Initial.make Rules.make Targets.make Template.make User.make Variables.make Version.make
+EXTRA_DIST = Makefile.am.wild $(IN_FILES) $(MAKE_FILES) lilypond.spec lilypond.lsm lelievijver.lsm
+
+rpmdocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/$(outdir)/*.txt)))\
+       BUGS TODO NEWS DEDICATION ANNOUNCE README
+rpmmudocs = $(addprefix Documentation/, $(notdir $(shell ls ../Documentation/*.doc)))
+rpmdvis = $(rpmmudocs:.doc=.dvi)
+rpmexamples = $(addprefix input/, $(notdir $(shell ls ../input/*.{ly,tex})))
+
+date = $(shell date '+%d%b%y'|tr a-z A-Z)
+
+SED_VERSION= sed 's!@TOPLEVEL_VERSION@!${TOPLEVEL_VERSION}!g'
+SED_DATE=sed 's!@DATE@!${date}!g'
+SED_EXAMPLES = sed 's!@EXAMPLE_LYS@!${rpmexamples} ${rpmmudocs}!g'
+SED_DOCS=sed 's!@TEXT_DOCS@!${rpmdocs}!g'
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps make/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = make
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+spec: $(outdir)/lilypond.spec
+
+lilypond.spec: lilypond.spec.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DOCS) | $(SED_EXAMPLES) > $@
+
+%.lsm: %.lsm.in ../VERSION
+       cat $< | $(SED_VERSION) | $(SED_DATE) > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index c90d0805a4d40df5ee6f0c1bd549237a0286cc48..ac3e42ec287e91ad0dce67b5ba91e175a313a26e 100644 (file)
@@ -34,8 +34,9 @@ SUBDIRS = bin flower lib lily mf mi2mu debian\
 # list of distribution files:
 #
 SCRIPTS = configure configure.in install-sh aclocal.m4
-README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE  COPYING ONEWS NEWS README TODO \
-       INSTALL.txt AUTHORS.txt
+README_FILES = BUGS DEDICATION ANNOUNCE-0.1 ANNOUNCE \
+ COPYING ONEWS NEWS README TODO \
+ INSTALL.txt AUTHORS.txt PATCHES.txt
 EXTRA_DISTFILES = .dstreamrc mudela-mode.el VERSION $(README_FILES) $(SCRIPTS) $(SYMLINKS)
 
 # do not dist ./Makefile (is copied from make/Toplevel.make)
@@ -55,7 +56,6 @@ INSTALL.txt: check-doc-deps check-mf-deps
        rm -f INSTALL.txt
        ln `$(FIND) ./ -name INSTALL.txt -print |head -1` .
 
-
 # all machine generated junk resides in out/
 distclean: 
        set -e; for i in `find . -type d -name 'out' -print`; do \
index efe49e20f77cfe2ab7062e6aaae71cb689decfd6..4e4aff16283d8287eedb4a107419804ac13fbfad 100644 (file)
@@ -215,8 +215,7 @@ STRIPDEBUG=true
 DISTFILES=$(EXTRA_DISTFILES) Makefile $(ALL_SOURCES)
 DOCDIR=$(depth)/$(outdir)
 
-pod2html=pod2html
-pod2groff=pod2man --center="LilyPond documentation" --section="0"\
+pod2groff=$(POD2MAN) --center="LilyPond documentation" --section="0"\
        --release="LilyPond $(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)" $< > $@
 
 
index 673546fc1be33b3715ca18a2c9bbfd6565c2fa23..86d7d36233dcc3f030373201b5a9e417619e2b49 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.48
-Inschrijf datum: 12MAR98
+Versie: 
+Inschrijf datum: 19MAR98
 Beschrijving: LilyPond is de muziek typesetter van het GNU Project.  
                Het programma genereert muziek in zichtbare of 
                hoorbare vorm uit uit een muzikale definitie file: 
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       395k lilypond-0.1.48.tar.gz 
+       395k lilypond-.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.48.tar.gz 
+       395k lilypond-.tar.gz 
 Copi"eer politie: GPL
 End
index 74fe198eb2c95eaaec8cc5e904cdc4a2ac935587..aa925a65639db2333e4961edc9e4a2be2bf33144 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.48
-Entered-date: 12MAR98
+Version: 
+Entered-date: 19MAR98
 Description: LilyPond is the GNU Project music typesetter.  The program
                generates visual or auditive output from a music 
                definition file: it can typeset formatted sheet music 
@@ -15,8 +15,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       470k lilypond-0.1.48.tar.gz 
+       470k lilypond-.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       470k lilypond-0.1.48.tar.gz 
+       470k lilypond-.tar.gz 
 Copying-policy: GPL
 End
index 1f1c1addb84bdde45f0f3818f30d2f3b93a8986e..30799c5495343dbadc8446218314376d3dcec905 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.48
+Version: 
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.48.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -31,8 +31,8 @@ strip lily/out/lilypond mi2mu/out/mi2mu
 make -C Documentation gifs
 make prefix="$RPM_BUILD_ROOT/usr" install
 %files
-%doc Documentation/out/ANNOUNCE.txt Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/DEDICATION.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/NEWS.txt Documentation/out/TODO.txt Documentation/out/convert-mudela.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/lilypond.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/ly2dvi.txt Documentation/out/mi2mu.txt Documentation/out/mudela-book.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/beam-bug.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/font-body.ly input/font.ly input/font11.ly input/font13.ly input/font16.ly input/font20.ly input/font26.ly input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/twinkle-pop.ly input/twinkle.ly Documentation/introduction.doc Documentation/mudela-course.doc Documentation/mudela-man.doc 
+%doc  BUGS TODO NEWS DEDICATION ANNOUNCE README
+%doc input/beam-bug.ly input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/denneboom.ly input/dummy.tex input/font-body.ly input/font.ly input/font11.ly input/font13.ly input/font16.ly input/font20.ly input/font26.ly input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/sleur.ly input/slurs.ly input/spacing.ly input/stem.ly input/twinkle-pop.ly input/twinkle.ly Documentation/introduction.doc Documentation/mudela-course.doc Documentation/mudela-man.doc 
 %doc Documentation/out/lelie_logo.gif
 /usr/bin/convert-mudela
 /usr/bin/mudela-book
diff --git a/make/out/dummy.dep b/make/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mf/Makefile b/mf/Makefile
deleted file mode 100644 (file)
index e40eead..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-# mf/Makefile
-
-# subdir level:
-#
-depth = ..
-#
-#
-include ./$(depth)/make/Include.make
-#
-
-# list of distribution files:
-# 
-TEXFILES = $(wildcard *.tex)
-MFFILES = $(wildcard *.mf)
-MFDEPS = $(outdir)/mf.dep
-EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO README
-#
-
-FONT_FILES = $(wildcard *[0-9].mf)
-FET_FILES = $(wildcard feta[0-9]*.mf)
-
-lyout = $(depth)/init
-texout = $(depth)/tex
-LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
-TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
-#
-
-all: $(LYTABLES) $(TEXTABLES)
-
-localclean:
-       rm -f $(LYTABLES) $(TEXTABLES) 
-
-localrealclean: 
-       rm -f $(MFDEPS)
-
-$(outdir)/%.dvi: %.mf
-       mf $<
-       gftodvi  $(basename $<)
-       mv   $(basename $<).dvi $(outdir)
-       rm $(basename $<).*gf
-
-$(outdir)/%.log: %.mf
-       mf $<
-       mv $(@F) $@
-       rm $(basename $< ).*gf
-
-$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
-       $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
-
-localinstall:
-       $(INSTALL) -d $(MFDIR)/public/lilypond
-       $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
-
-localuninstall:
-       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
-       -rmdir $(MFDIR)/public/lilypond/
-
-$(MFDEPS): $(FONT_FILES)
-# do something silly to avoid barfs if python not installed.
-       echo > $@
-       $(PYTHON) $(depth)/bin/mf-deps.py  $^ >> $@
-
-# dependencies:
-#
-include $(MFDEPS)
-#
-
-# silly workaround for stupid TeXs
-systempks:
-# irix 5.3
-#      MakeTeXPK feta16 300 300 magstep\(0.0\)
-       set -e ; for a in $(FONT_FILES); do \
-       MakeTeXPK `basename $$a .mf` 300 300 magstep\(0.0\) ; \
-       mf "\mode=ljfour; input `basename $$a .mf`"  ;\
-       mv -f `find . -name '*.tfm' -print -o -name '*gf' -print`  out/ ; \
-       done
-
diff --git a/mf/Makefile.am b/mf/Makefile.am
new file mode 100644 (file)
index 0000000..ff6334f
--- /dev/null
@@ -0,0 +1,56 @@
+# Automatically generated from ./lilypond-0.1.49/mf/Makefile.am.wild by bin/autowild
+# Do not edit
+# mf/Makefile.am.wild
+
+# subdir level:
+#
+depth = ..
+#
+#
+# include ./$(depth)/make/Include.make
+outdir = .
+#
+
+TEXFILES = dimen.tex dyn.tex
+MFFILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf grayimagen.mf
+MFDEPS = $(outdir)/mf.dep
+EXTRA_DIST = Makefile.am.wild Rules.make $(MFFILES) $(TEXFILES) TODO README
+
+FONT_FILES = feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-black16.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-test16.mf feta-test20.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf
+FET_FILES = feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+
+FONT_FILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf grayimagen.mf
+
+FET_FILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
+TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
+
+default: all $(LYTABLES) $(TEXTABLES)
+
+localclean:
+       rm -f $(LYTABLES) $(TEXTABLES) 
+
+localrealclean: 
+       rm -f $(MFDEPS)
+
+localinstall:
+       $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
+
+localuninstall:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
+       -rmdir $(MFDIR)/public/lilypond/
+
+include Rules.make
+
+# dependencies:
+#
+include $(MFDEPS)
+#
+
diff --git a/mf/Makefile.am.wild b/mf/Makefile.am.wild
new file mode 100644 (file)
index 0000000..63066e6
--- /dev/null
@@ -0,0 +1,54 @@
+# mf/Makefile.am.wild
+
+# subdir level:
+#
+depth = ..
+#
+#
+# include ./$(depth)/make/Include.make
+outdir = .
+#
+
+TEXFILES = $(wildcard *.tex)
+MFFILES = $(wildcard *.mf)
+MFDEPS = $(outdir)/mf.dep
+EXTRA_DIST = Makefile.am.wild Rules.make $(MFFILES) $(TEXFILES) TODO README
+
+FONT_FILES = $(wildcard *[0-9].mf)
+FET_FILES = $(wildcard feta[0-9]*.mf)
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+
+FONT_FILES = $(wildcard *.mf)
+
+FET_FILES = $(wildcard feta-*.mf)
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
+TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
+
+default: all $(LYTABLES) $(TEXTABLES)
+
+localclean:
+       rm -f $(LYTABLES) $(TEXTABLES) 
+
+localrealclean: 
+       rm -f $(MFDEPS)
+
+localinstall:
+       $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
+
+localuninstall:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
+       -rmdir $(MFDIR)/public/lilypond/
+
+include Rules.make
+
+# dependencies:
+#
+include $(MFDEPS)
+#
+
diff --git a/mf/Makefile.in b/mf/Makefile.in
new file mode 100644 (file)
index 0000000..65930ff
--- /dev/null
@@ -0,0 +1,230 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./mf/Makefile.am.wild by bin/autowild
+# Do not edit
+# mf/Makefile.am.wild
+
+# subdir level:
+#
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+depth = ..
+#
+#
+# include ./$(depth)/make/Include.make
+outdir = .
+#
+
+TEXFILES = dimen.tex dyn.tex
+MFFILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf grayimagen.mf
+MFDEPS = $(outdir)/mf.dep
+EXTRA_DIST = Makefile.am.wild Rules.make $(MFFILES) $(TEXFILES) TODO README
+
+FONT_FILES = feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-black16.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-test16.mf feta-test20.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf
+FET_FILES = feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+
+FONT_FILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf feta11.mf feta13.mf feta16.mf feta19.mf feta20.mf feta23.mf feta26.mf grayimagen.mf
+
+FET_FILES = feta-autometric.mf feta-banier.mf feta-beams16.mf feta-beams20.mf feta-beams26.mf feta-beugel.mf feta-beum.mf feta-black16.mf feta-bolletjes.mf feta-braces16.mf feta-braces20.mf feta-din10.mf feta-eindelijk.mf feta-generic.mf feta-ital-f.mf feta-ital-m.mf feta-ital-p.mf feta-ital-r.mf feta-ital-s.mf feta-ital-z.mf feta-klef.mf feta-macros.mf feta-nummer-generic.mf feta-nummer.mf feta-nummer10.mf feta-nummer12.mf feta-nummer3.mf feta-nummer4.mf feta-nummer5.mf feta-nummer6.mf feta-nummer7.mf feta-nummer8.mf feta-params.mf feta-puntje.mf feta-schrift.mf feta-sleur.mf feta-test16.mf feta-test20.mf feta-toevallig.mf feta-watzieik.mf
+
+lyout = $(depth)/init
+texout = $(depth)/tex
+LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
+TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  README Makefile.am Makefile.in TODO
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mf/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mf
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+default: all $(LYTABLES) $(TEXTABLES)
+
+localclean:
+       rm -f $(LYTABLES) $(TEXTABLES) 
+
+localrealclean: 
+       rm -f $(MFDEPS)
+
+localinstall:
+       $(INSTALL) -d $(MFDIR)/public/lilypond
+       $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/public/lilypond/
+
+localuninstall:
+       for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
+       -rmdir $(MFDIR)/public/lilypond/
+
+include Rules.make
+
+# dependencies:
+#
+include $(MFDEPS)
+#
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/mf/Rules.make b/mf/Rules.make
new file mode 100644 (file)
index 0000000..9c6f867
--- /dev/null
@@ -0,0 +1,31 @@
+
+$(outdir)/%.dvi: %.mf
+       mf $<
+       gftodvi  $(basename $<)
+#      mv $(basename $<).dvi $(outdir)
+       rm $(basename $<).*gf
+
+$(outdir)/%.log: %.mf
+       mf $<
+#      mv $(@F) $@
+       rm $(basename $< ).*gf
+
+$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
+       $(PYTHON) $(depth)/bin/mf-to-table --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+
+$(MFDEPS): $(FONT_FILES)
+# do something silly to avoid barfs if python not installed.
+       echo > $@
+       $(PYTHON) $(depth)/bin/mf-deps $^ >> $@
+
+# silly workaround for stupid TeXs
+systempks:
+# irix 5.3
+#      MakeTeXPK feta16 300 300 magstep\(0.0\)
+       set -e ; for a in $(FONT_FILES); do \
+       MakeTeXPK `basename $$a .mf` 300 300 magstep\(0.0\) ; \
+       mf "\mode=ljfour; input `basename $$a .mf`"  ;\
+#      mv -f `find . -name '*.tfm' -print -o -name '*gf' -print`  out/ ; \
+       mv -f `find . -name '*.tfm' -print -o -name '*gf' -print` ; \
+       done
+
diff --git a/mf/out/dummy.dep b/mf/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mi2mu/Makefile b/mi2mu/Makefile
deleted file mode 100644 (file)
index 85bcfed..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-# project  LilyPond -- the musical typesetter
-# title           makefile for mi2mu
-# file    mi2mu/Makefile 
-#
-# Copyright (c) 1997 by
-#      Jan Nieuwenhuizen <jan@digicash.com>
-#      Han-Wen Nienhuys <hanwen@stack.nl>
-#
-
-# subdir level:
-#
-depth = ..
-#
-
-NAME = mi2mu
-MODULE_NAME = mi2mu
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-#
-
-# identify module:
-#
-include $(mi2mu-dir)/VERSION
-build = $(mi2mu-dir)/$(outdir)/.build
-#
-
-# descent order into subdirectories:
-#
-SUBDIRS = include
-#
-
-# to be remade each build:
-#
-VERSION_DEPENDENCY = $(mi2mu-version)
-#
-
-
-# list of distribution files:
-#
-EXTRA_DISTFILES = VERSION TODO
-#
-
-# list of custom libraries:
-#
-MODULE_LIBDEPS=check-flower-deps check-lib-deps
-MODULE_LIBES=-llily -lflower
-#
-
-
-default: $(EXECUTABLE)
-
-#
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-include ./$(depth)/make/Rules.make
-#
-
-# explicit dependencies: (how to do auto?)
-#
-midi-lexer.l:  $(outdir)/midi-parser.hh
-
-# list of depend files:
-#
-DEPFILES = $(wildcard $(depdir)/*.dep)
-#
-
-# auto dependencies:
-#
--include /dev/null $(DEPFILES)
-#
-localclean:
-# obsoliet
-#      rm -f $(outdir)/{midi-parser,midi-lexer}.*
-
-localinstall: installexe
-
-localuninstall: uninstallexe
-
-$(outdir)/mi2mu-version.o: $(outdir)/version.hh
-
diff --git a/mi2mu/Makefile.am b/mi2mu/Makefile.am
new file mode 100644 (file)
index 0000000..1747805
--- /dev/null
@@ -0,0 +1,24 @@
+# Automatically generated from ./lilypond-0.1.49/mi2mu/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           makefile for mi2mu
+# file    mi2mu/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+
+SUBDIRS = include
+
+bin_PROGRAMS = mi2mu
+
+mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template.cc version.cc
+
+mi2mu_LDADD = -llily -lflower
+
+mi2mu_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -Iinclude -I../lib/include -I../flower/include
+
+EXTRA_DIST = Makefile.am.wild VERSION TODO
+
diff --git a/mi2mu/Makefile.am.wild b/mi2mu/Makefile.am.wild
new file mode 100644 (file)
index 0000000..bb3dc4b
--- /dev/null
@@ -0,0 +1,22 @@
+# project  LilyPond -- the musical typesetter
+# title           makefile for mi2mu
+# file    mi2mu/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+
+SUBDIRS = include
+
+bin_PROGRAMS = mi2mu
+
+mi2mu_SOURCES = $(wildcard *.cc)
+
+mi2mu_LDADD = -llily -lflower
+
+mi2mu_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -Iinclude -I../lib/include -I../flower/include
+
+EXTRA_DIST = Makefile.am.wild VERSION TODO
+
diff --git a/mi2mu/Makefile.in b/mi2mu/Makefile.in
new file mode 100644 (file)
index 0000000..988f61e
--- /dev/null
@@ -0,0 +1,537 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./mi2mu/Makefile.am.wild by bin/autowild
+# Do not edit
+# project  LilyPond -- the musical typesetter
+# title           makefile for mi2mu
+# file    mi2mu/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+SUBDIRS = include
+
+bin_PROGRAMS = mi2mu
+
+mi2mu_SOURCES = main.cc mi2mu-version.cc midi-parser.cc midi-score-parser.cc midi-track-parser.cc mudela-column.cc mudela-item.cc mudela-score.cc mudela-staff.cc mudela-stream.cc mudela-voice.cc template.cc version.cc
+
+mi2mu_LDADD = -llily -lflower
+
+mi2mu_LDFLAGS = -L../lib -L../flower
+
+INCLUDES = -Iinclude -I../lib/include -I../flower/include
+
+EXTRA_DIST = Makefile.am.wild VERSION TODO
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+PROGRAMS =  $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I../lib
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+mi2mu_OBJECTS =  main.o mi2mu-version.o midi-parser.o \
+midi-score-parser.o midi-track-parser.o mudela-column.o mudela-item.o \
+mudela-score.o mudela-staff.o mudela-stream.o mudela-voice.o template.o \
+version.o
+mi2mu_DEPENDENCIES = 
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS)
+CXXLINK = $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON =  Makefile.am Makefile.in TODO
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+SOURCES = $(mi2mu_SOURCES)
+OBJECTS = $(mi2mu_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .cc .o
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mi2mu/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+       test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(bindir)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo "  $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
+            $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       $(NORMAL_UNINSTALL)
+       list='$(bin_PROGRAMS)'; for p in $$list; do \
+         rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+mi2mu: $(mi2mu_OBJECTS) $(mi2mu_DEPENDENCIES)
+       @rm -f mi2mu
+       $(CXXLINK) $(mi2mu_LDFLAGS) $(mi2mu_OBJECTS) $(mi2mu_LDADD) $(LIBS)
+.cc.o:
+       $(CXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mi2mu
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+main.o main.lo: main.cc ../flower/include/string-convert.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../flower/include/lgetopt.hh ../flower/include/path.hh \
+       ../flower/include/varray.hh ../lib/include/duration-convert.hh \
+       ../lib/include/duration.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/plet.hh \
+       ../lib/include/source.hh ../lib/include/proto.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/mi2mu-global.hh include/midi-score-parser.hh \
+       include/midi-parser.hh include/mi2mu-proto.hh \
+       ../flower/include/parray.hh include/mudela-item.hh \
+       include/mudela-score.hh
+mi2mu-version.o mi2mu-version.lo: mi2mu-version.cc ../lib/config.hh
+midi-parser.o midi-parser.lo: midi-parser.cc \
+       ../flower/include/string-convert.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/source-file.hh ../lib/include/proto.hh \
+       include/mi2mu-global.hh include/midi-parser.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       include/mi2mu-proto.hh
+midi-score-parser.o midi-score-parser.lo: midi-score-parser.cc \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/source-file.hh ../lib/include/proto.hh \
+       ../flower/include/string.hh ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/source.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/mi2mu-global.hh include/midi-score-parser.hh \
+       include/midi-parser.hh include/mi2mu-proto.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/midi-track-parser.hh include/mudela-item.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       include/mudela-score.hh
+midi-track-parser.o midi-track-parser.lo: midi-track-parser.cc \
+       ../flower/include/string-convert.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/mi2mu-global.hh ../lib/include/proto.hh \
+       include/midi-track-parser.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc ../lib/include/moment.hh \
+       ../flower/include/rational.hh include/mi2mu-proto.hh \
+       include/midi-parser.hh include/mudela-column.hh \
+       include/mudela-item.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/mudela-score.hh \
+       ../flower/include/parray.hh ../flower/include/varray.hh \
+       include/mudela-staff.hh
+mudela-column.o mudela-column.lo: mudela-column.cc \
+       include/mudela-column.hh ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       include/mi2mu-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc
+mudela-item.o mudela-item.lo: mudela-item.cc include/mi2mu-global.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/proto.hh ../flower/include/string-convert.hh \
+       ../lib/include/duration-convert.hh ../lib/include/duration.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../lib/include/plet.hh ../flower/include/varray.hh \
+       include/mudela-column.hh include/mi2mu-proto.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/mudela-item.hh include/mudela-stream.hh \
+       include/mudela-score.hh ../flower/include/parray.hh
+mudela-score.o mudela-score.lo: mudela-score.cc ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/duration.hh ../lib/include/plet.hh \
+       ../lib/include/duration-convert.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       include/mi2mu-global.hh ../lib/include/proto.hh \
+       include/mudela-column.hh include/mi2mu-proto.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/mudela-item.hh include/mudela-score.hh \
+       ../flower/include/parray.hh include/mudela-staff.hh \
+       include/mudela-stream.hh
+mudela-staff.o mudela-staff.lo: mudela-staff.cc ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../flower/include/compare.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../lib/include/duration-convert.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh ../flower/include/string.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/varray.hh \
+       ../flower/include/string-convert.hh include/mi2mu-proto.hh \
+       include/mi2mu-global.hh ../lib/include/proto.hh \
+       include/mudela-column.hh ../flower/include/plist.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/pcursor.hh \
+       ../flower/include/cursor.icc ../flower/include/iterate.hh \
+       ../flower/include/plist.icc include/mudela-item.hh \
+       include/mudela-staff.hh include/mudela-stream.hh \
+       include/mudela-voice.hh include/mudela-score.hh \
+       ../flower/include/parray.hh
+mudela-stream.o mudela-stream.lo: mudela-stream.cc \
+       include/mi2mu-global.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       ../lib/include/proto.hh include/mudela-item.hh \
+       include/mi2mu-proto.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/mudela-stream.hh
+mudela-voice.o mudela-voice.lo: mudela-voice.cc \
+       ../flower/include/string-convert.hh ../flower/include/fproto.hh \
+       ../flower/include/real.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh \
+       include/mi2mu-global.hh ../lib/include/proto.hh \
+       include/mudela-column.hh include/mi2mu-proto.hh \
+       ../lib/include/moment.hh ../flower/include/rational.hh \
+       ../flower/include/plist.hh ../flower/include/list.hh \
+       ../flower/include/list.icc ../flower/include/cursor.hh \
+       ../flower/include/link.hh ../flower/include/link.icc \
+       ../flower/include/pcursor.hh ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/plist.icc \
+       include/mudela-item.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/mudela-staff.hh \
+       include/mudela-stream.hh include/mudela-voice.hh
+template.o template.lo: template.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/list.hh ../flower/include/list.icc \
+       ../flower/include/cursor.hh ../flower/include/link.hh \
+       ../flower/include/link.icc ../flower/include/compare.hh \
+       ../flower/include/pcursor.hh ../flower/include/plist.hh \
+       ../flower/include/plist.icc ../flower/include/cursor.icc \
+       ../flower/include/iterate.hh ../flower/include/list.tcc \
+       ../flower/include/cursor.tcc include/mudela-item.hh \
+       include/mi2mu-proto.hh ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../lib/include/moment.hh \
+       ../flower/include/rational.hh ../lib/include/duration.hh \
+       ../lib/include/plet.hh include/mudela-column.hh \
+       include/mudela-staff.hh include/mudela-voice.hh \
+       ../flower/include/plist.tcc
+version.o version.lo: version.cc ../lib/include/proto.hh \
+       ../flower/include/fproto.hh ../flower/include/real.hh \
+       ../flower/include/string.hh \
+       ../flower/include/arithmetic-operator.hh \
+       ../flower/include/string-handle.hh \
+       ../flower/include/international.hh ../flower/include/compare.hh
+
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-am: Makefile $(PROGRAMS)
+
+install-exec-am: install-binPROGRAMS
+
+uninstall-am: uninstall-binPROGRAMS
+
+install-exec: install-exec-recursive install-exec-am
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive install-exec-am
+       @:
+
+uninstall: uninstall-recursive uninstall-am
+
+all: all-recursive all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+       $(mkinstalldirs)  $(bindir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
+               mostlyclean-tags mostlyclean-generic
+
+clean-am:  clean-binPROGRAMS clean-compile clean-tags clean-generic \
+               mostlyclean-am
+
+distclean-am:  distclean-binPROGRAMS distclean-compile distclean-tags \
+               distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-binPROGRAMS \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-generic distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default mostlyclean-binPROGRAMS distclean-binPROGRAMS \
+clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
+install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-am install-exec-am uninstall-am install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/mi2mu/include/Makefile b/mi2mu/include/Makefile
deleted file mode 100644 (file)
index 1cfdc7b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# lib/include/Makefile
-
-# subdir level:
-#
-depth = ../..
-#
-
-# identify module:
-#
-MODULE_NAME = lilypond
-#
-
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-#
-
diff --git a/mi2mu/include/Makefile.am b/mi2mu/include/Makefile.am
new file mode 100644 (file)
index 0000000..fef1628
--- /dev/null
@@ -0,0 +1,8 @@
+# Automatically generated from ./lilypond-0.1.49/mi2mu/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lib/include/Makefile.am.wild
+
+noinst_HEADERS = mi2mu-global.hh mi2mu-proto.hh midi-parser.hh midi-score-parser.hh midi-track-parser.hh mudela-column.hh mudela-item.hh mudela-score.hh mudela-staff.hh mudela-stream.hh mudela-voice.hh dummy.icc dummy.tcc
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/mi2mu/include/Makefile.am.wild b/mi2mu/include/Makefile.am.wild
new file mode 100644 (file)
index 0000000..1cf201f
--- /dev/null
@@ -0,0 +1,6 @@
+# lib/include/Makefile.am.wild
+
+noinst_HEADERS = $(wildcard *.hh *.icc *.tcc)
+
+EXTRA_DIST = Makefile.am.wild
+
diff --git a/mi2mu/include/Makefile.in b/mi2mu/include/Makefile.in
new file mode 100644 (file)
index 0000000..33942a0
--- /dev/null
@@ -0,0 +1,202 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./mi2mu/include/Makefile.am.wild by bin/autowild
+# Do not edit
+# lib/include/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+noinst_HEADERS = mi2mu-global.hh mi2mu-proto.hh midi-parser.hh midi-score-parser.hh midi-track-parser.hh mudela-column.hh mudela-item.hh mudela-score.hh mudela-staff.hh mudela-stream.hh mudela-voice.hh dummy.icc dummy.tcc
+
+EXTRA_DIST = Makefile.am.wild
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../lib/config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mi2mu/include/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mi2mu/include
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/mi2mu/include/dummy.icc b/mi2mu/include/dummy.icc
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/mi2mu/include/dummy.tcc b/mi2mu/include/dummy.tcc
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/mi2mu/include/out/dummy.dep b/mi2mu/include/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
index 57c4359737a1bfac8b486d956742f030656e0c30..d12b3f3dcc95a9b882631eb6b2fe8d41624c568f 100644 (file)
@@ -15,7 +15,7 @@
 #include "midi-score-parser.hh"
 #include "mudela-item.hh"
 #include "mudela-score.hh"
-#include "version.hh"
+//#include "version.hh"
 
 // ugh
 String filename_str_g;
index 9b3532e4492c48110c1507231eaddad6ab98094f..e008ad3e7b56fd6a1cd99c4b283194c33131f315 100644 (file)
@@ -4,13 +4,16 @@
 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
 
 #include <stdio.h>
-#include "version.hh"
+#include "config.hh"
 
 
-static char *s = "mi2mu " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+// static char *s = "mi2mu " MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL MY_PATCH_LEVEL " #%d";
+//urg
+static char *s = "mi2mu " TOPLEVEL_VERSION " #%d";
 
 static const int build=
-#include ".build"
+//#include ".build"
+0
 ;
 
 const char * 
index 30fb80236fc03655176dccceba2e38ffce91a33b..67fcaf4ab2201568a84ad05a9b3b1c0edfbb455d 100644 (file)
@@ -49,9 +49,9 @@ Mudela_staff::eat_voice (Link_list<Mudela_item*>& items)
 
   for  (PCursor<Mudela_item*> i (items); i.ok();)
     {
-      LOGOUT(DEBUG_ver) << "At: " << String (i->at_mom()) << "; ";
-      LOGOUT(DEBUG_ver) << "dur: " << String (i->duration_mom()) << "; ";
-      LOGOUT(DEBUG_ver) << "mom: " << String (mom) << " -> ";
+      LOGOUT(DEBUG_ver) << "At: " << i->at_mom ().str () << "; ";
+      LOGOUT(DEBUG_ver) << "dur: " << i->duration_mom ().str () << "; ";
+      LOGOUT(DEBUG_ver) << "mom: " << mom.str () << " -> ";
       if  (i->at_mom() > mom)
        {
          Moment dur = i->at_mom() - mom;
@@ -68,7 +68,7 @@ Mudela_staff::eat_voice (Link_list<Mudela_item*>& items)
        }
       else if  (i.ok())
        i++;
-      LOGOUT(DEBUG_ver) << "mom: " << String (mom) << "\n";
+      LOGOUT(DEBUG_ver) << "mom: " << mom.str () << "\n";
     }
 }
 
diff --git a/mi2mu/out/dummy.dep b/mi2mu/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/missing b/missing
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
+++ b/missing
@@ -0,0 +1 @@
+
diff --git a/mkinstalldirs b/mkinstalldirs
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
index c8c2a8b58ccc01cd0f2241dde95b294497feb5c2..7db23896b18a8989eb6f5465a53228e9b9daab91 100644 (file)
@@ -31,7 +31,7 @@
 
 (defconst mudela-font-lock-keywords
   (let* ((keywords '(
-                  "accepts" "bar" "cadenza" "clear" "clef" "cm" "consists" "contains"
+                  "accepts" "break" "bar" "cadenza" "clear" "clef" "cm" "consists" "contains"
                   "duration" "absdynamic" "in" "translator" "type" "lyric" "key"
                   "melodic" "melodic_request" "meter" "midi" "mm" "multi" "header"
                   "notenames" "octave" "output" "partial" "paper" "plet" "property" "pt" "shape"
   (let ((comment-start mu-block-comment-prefix))
     (comment-region beg end arg)))
 \f
-(defconst mu-version "0.0"
+(defconst mu-version "0.0.1"
   "`mudela-mode' version number.")
-(defconst mu-help-address "hanwen@stack.nl"
+(defconst mu-help-address "hanwen@cs.ruu.nl"
   "Address accepting submission of bug reports.")
 
 (defun mu-version ()
diff --git a/mutopia/J.S.Bach/Makefile b/mutopia/J.S.Bach/Makefile
deleted file mode 100644 (file)
index 5de850e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# mutopia/J.S.Bach/Makefile
-
-# subdir level:
-#
-depth = ../..
-#
-
-# descent order into subdirectories:
-#
-SUBDIRS = 
-# 
-
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-#
-#
-
-# list of distribution files:
-# 
-LYFILES = $(wildcard *.ly)
-TEXFILES = $(wildcard *.tex)
-M4FILES = $(wildcard *.m4)
-DISTFILES = Makefile $(LYFILES) $(TEXFILES) $(M4FILES)
-#
-
-OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
-
-all: $(OUTFILES)
diff --git a/mutopia/J.S.Bach/Makefile.am b/mutopia/J.S.Bach/Makefile.am
new file mode 100644 (file)
index 0000000..d76a839
--- /dev/null
@@ -0,0 +1,13 @@
+# Automatically generated from ./lilypond-0.1.49/mutopia/J.S.Bach/Makefile.am.wild by bin/autowild
+# Do not edit
+# mutopia/J.S.Bach/Makefile.am.wild
+
+LYFILES = preludes-1.ly preludes-2.ly preludes-4.ly preludes-5.ly preludes-6.ly scsii-menuetto.ly wtk1-fugue1.ly wtk1-fugue2.ly wtk1-prelude1.ly
+TEXFILES = preludes.tex
+M4FILES = preludes-3.ly.m4 wtk1-prelude2.ly.m4
+EXTRA_DIST = Makefile.am.wild $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
+
diff --git a/mutopia/J.S.Bach/Makefile.am.wild b/mutopia/J.S.Bach/Makefile.am.wild
new file mode 100644 (file)
index 0000000..3b57ddb
--- /dev/null
@@ -0,0 +1,11 @@
+# mutopia/J.S.Bach/Makefile.am.wild
+
+LYFILES = $(wildcard *.ly)
+TEXFILES = $(wildcard *.tex)
+M4FILES = $(wildcard *.m4)
+EXTRA_DIST = Makefile.am.wild $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
+
diff --git a/mutopia/J.S.Bach/Makefile.in b/mutopia/J.S.Bach/Makefile.in
new file mode 100644 (file)
index 0000000..6621067
--- /dev/null
@@ -0,0 +1,186 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./mutopia/J.S.Bach/Makefile.am.wild by bin/autowild
+# Do not edit
+# mutopia/J.S.Bach/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+LYFILES = preludes-1.ly preludes-2.ly preludes-4.ly preludes-5.ly preludes-6.ly scsii-menuetto.ly wtk1-fugue1.ly wtk1-fugue2.ly wtk1-prelude1.ly
+TEXFILES = preludes.tex
+M4FILES = preludes-3.ly.m4 wtk1-prelude2.ly.m4
+EXTRA_DIST = Makefile.am.wild $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mutopia/J.S.Bach/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mutopia/J.S.Bach
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+default: all $(OUTFILES)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/mutopia/J.S.Bach/out/dummy.dep b/mutopia/J.S.Bach/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/Makefile b/mutopia/Makefile
deleted file mode 100644 (file)
index d9bffc3..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# mutopia/Makefile
-
-# subdir level:
-#
-depth = ..
-#
-
-# descent order into subdirectories:
-#
-SUBDIRS = J.S.Bach
-#
-# generic stuff/Makefile
-#
-include ./$(depth)/make/Include.make
-# list of distribution files:
-# 
-LYFILES = $(wildcard *.ly)
-TEXFILES = $(wildcard *.tex)
-M4FILES = $(wildcard *.m4)
-DISTFILES = Makefile TODO $(LYFILES) $(TEXFILES) $(wildcard *.m4)
-#
-
-OUTFILES = $(addprefix $(outdir)/,$(M4FILES:%.m4=%))
-
-all: $(OUTFILES)
diff --git a/mutopia/Makefile.am b/mutopia/Makefile.am
new file mode 100644 (file)
index 0000000..a7f079f
--- /dev/null
@@ -0,0 +1,14 @@
+# Automatically generated from ./lilypond-0.1.49/mutopia/Makefile.am.wild by bin/autowild
+# Do not edit
+# mutopia/Makefile.am.wild
+
+SUBDIRS = J.S.Bach
+
+LYFILES = gallina.ly standchen-16.ly standchen-20.ly standchen.ly standje.ly
+TEXFILES = gallina.tex standchen-16.tex standchen-20.tex
+M4FILES = dummy.m4
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
diff --git a/mutopia/Makefile.am.wild b/mutopia/Makefile.am.wild
new file mode 100644 (file)
index 0000000..bde501a
--- /dev/null
@@ -0,0 +1,12 @@
+# mutopia/Makefile.am.wild
+
+SUBDIRS = J.S.Bach
+
+LYFILES = $(wildcard *.ly)
+TEXFILES = $(wildcard *.tex)
+M4FILES = $(wildcard *.m4)
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+
+default: all $(OUTFILES)
diff --git a/mutopia/Makefile.in b/mutopia/Makefile.in
new file mode 100644 (file)
index 0000000..f933c9e
--- /dev/null
@@ -0,0 +1,268 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./mutopia/Makefile.am.wild by bin/autowild
+# Do not edit
+# mutopia/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+SUBDIRS = J.S.Bach
+
+LYFILES = gallina.ly standchen-16.ly standchen-20.ly standchen.ly standje.ly
+TEXFILES = gallina.tex standchen-16.tex standchen-20.tex
+M4FILES = dummy.m4
+EXTRA_DIST = Makefile.am.wild TODO $(LYFILES) $(TEXFILES) $(M4FILES)
+
+OUTFILES = $(M4FILES:%.m4=%)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in TODO
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps mutopia/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = mutopia
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-am: Makefile
+
+install-exec: install-exec-recursive
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive
+       @:
+
+uninstall: uninstall-recursive
+
+all: all-recursive all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-tags mostlyclean-generic
+
+clean-am:  clean-tags clean-generic mostlyclean-am
+
+distclean-am:  distclean-tags distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
+               distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-am install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+default: all $(OUTFILES)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/mutopia/dummy.m4 b/mutopia/dummy.m4
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/mutopia/out/dummy.dep b/mutopia/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/out/dummy.dep b/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/test/Makefile.in b/test/Makefile.in
new file mode 100644 (file)
index 0000000..c130f3c
--- /dev/null
@@ -0,0 +1,200 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./flower/test/Makefile.am.wild by bin/autowild
+# Do not edit
+#
+# project  LilyPond -- the musical typesetter
+# title           makefile for flowertest
+# file    flower/test/Makefile.am.wild
+#
+# Copyright (c) 1997 by
+#      Jan Nieuwenhuizen <jan@digicash.com>
+#      Han-Wen Nienhuys <hanwen@stack.nl>
+#
+
+# bin_PROGRAMS = test
+
+# TEST = test
+
+# can't link to libflower: has not been created yet...
+# test_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+CC = @CC@
+CXX = @CXX@
+LIB_SUFFIX = @LIB_SUFFIX@
+MAKEINFO = @MAKEINFO@
+MODULE_CXXFLAGS = @MODULE_CXXFLAGS@
+MODULE_LDFLAGS = @MODULE_LDFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+EXTRA_SOURCES = main.cc mat-test.cc pqtest.cc rattest.cc stringtest.cc
+
+EXTRA_DIST = result Makefile.am.wild $(EXTRA_SOURCES)
+
+noinst_HEADERS = flower-test.hh
+
+INCLUDES = -I../include
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ../config.hh
+CONFIG_CLEAN_FILES = 
+HEADERS =  $(noinst_HEADERS)
+
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps test/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = test
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile $(HEADERS)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-tags mostlyclean-generic
+
+clean:  clean-tags clean-generic mostlyclean
+
+distclean:  distclean-tags distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-tags maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tex/Makefile b/tex/Makefile
deleted file mode 100644 (file)
index 0e7e387..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# tex/Makefile
-
-# subdir level:
-#
-depth = ..
-#
-#
-include ./$(depth)/make/Include.make
-#
-
-# list of distribution files:
-# 
-TEXFILES = $(wildcard *.tex)
-DISTFILES = Makefile $(TEXFILES)
-#
-
-localinstall:
-       $(INSTALL) -d $(TEXDIR)/lilypond
-       $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
-
-localuninstall:
-       for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
-       -rmdir $(TEXDIR)/lilypond/
diff --git a/tex/Makefile.am b/tex/Makefile.am
new file mode 100644 (file)
index 0000000..4485616
--- /dev/null
@@ -0,0 +1,16 @@
+# Automatically generated from ./lilypond-0.1.49/tex/Makefile.am.wild by bin/autowild
+# Do not edit
+# tex/Makefile.am.wild
+
+TEXFILES = dyndefs.tex eglerdefs.tex feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
+EXTRA_DIST = Makefile.am.wild $(TEXFILES)
+
+CLEANFILES = feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex
+
+install-data:
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
+
+uninstall-data:
+       for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       -rmdir $(TEXDIR)/lilypond/
diff --git a/tex/Makefile.am.wild b/tex/Makefile.am.wild
new file mode 100644 (file)
index 0000000..1bd3e8c
--- /dev/null
@@ -0,0 +1,14 @@
+# tex/Makefile.am.wild
+
+TEXFILES = $(wildcard *.tex)
+EXTRA_DIST = Makefile.am.wild $(TEXFILES)
+
+CLEANFILES = $(wildcard feta*.tex)
+
+install-data:
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
+
+uninstall-data:
+       for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       -rmdir $(TEXDIR)/lilypond/
diff --git a/tex/Makefile.in b/tex/Makefile.in
new file mode 100644 (file)
index 0000000..5e26aa3
--- /dev/null
@@ -0,0 +1,190 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Automatically generated from ./tex/Makefile.am.wild by bin/autowild
+# Do not edit
+# tex/Makefile.am.wild
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+AUTOHEADER = @AUTOHEADER@
+BISON = @BISON@
+CC = @CC@
+COMPILEINFO = @COMPILEINFO@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+DEFINES = @DEFINES@
+DIR_DATADIR = @DIR_DATADIR@
+EXTRA_LIBES = @EXTRA_LIBES@
+FIND = @FIND@
+FLEX = @FLEX@
+ICFLAGS = @ICFLAGS@
+ILDFLAGS = @ILDFLAGS@
+LEX = @LEX@
+LN = @LN@
+MAKE = @MAKE@
+MAKEINFO = @MAKEINFO@
+MFDIR = @MFDIR@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+POD2HTML = @POD2HTML@
+POD2MAN = @POD2MAN@
+PYTHON = @PYTHON@
+RANLIB = @RANLIB@
+TAR = @TAR@
+TEXDIR = @TEXDIR@
+TEXPREFIX = @TEXPREFIX@
+VERSION = @VERSION@
+YACC = @YACC@
+ZIP = @ZIP@
+
+TEXFILES = dyndefs.tex eglerdefs.tex feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex fetdefs.tex lily-mf-defs.tex lily-ps-defs.tex lilyponddefs.tex ltest.tex taupindefs.tex titledefs.tex
+EXTRA_DIST = Makefile.am.wild $(TEXFILES)
+
+CLEANFILES = feta11.tex feta13.tex feta16.tex feta19.tex feta20.tex feta23.tex feta26.tex
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = ../lib/config.hh
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps tex/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = tex
+
+distdir: $(DISTFILES)
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: 
+       @$(NORMAL_INSTALL)
+
+install-data: 
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: 
+
+all: Makefile
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-generic
+
+clean:  clean-generic mostlyclean
+
+distclean:  distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-generic distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+
+.PHONY: default tags distdir info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+install-data:
+       $(INSTALL) -d $(TEXDIR)/lilypond
+       $(INSTALL) -m 644 $(TEXFILES) $(TEXDIR)/lilypond/
+
+uninstall-data:
+       for i in $(TEXFILES) ; do rm -f $(TEXDIR)/lilypond/$$i; done
+       -rmdir $(TEXDIR)/lilypond/
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
index 48504f2348bd9035e967b3e7480d2bc75b22c018..c1cea8ecbdda85d0362fc7ad442bade4bb6529f2 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta11.log
+% input from feta11.log
 % name
 % rests
 \fetdef\wholerest{0}
index 8d83dbf5187a7dc75882511ff3ae596230f0bf00..3378075a5436611bdb16575bad280dfb90b47b88 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta13.log
+% input from feta13.log
 % name
 % rests
 \fetdef\wholerest{0}
index 15cedcde1607bf7e869b283fcfa6d29aea593045..3c6195b2954bca5d9d62de0eb3a33e02eeb26578 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta16.log
+% input from feta16.log
 % name
 % rests
 \fetdef\wholerest{0}
index 38d26c7e178933afec80c0b53e92a8c0ebbc4261..492d5f13d2d44e7e355263e99935dba15762f28f 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta19.log
+% input from feta19.log
 % name
 % rests
 \fetdef\wholerest{0}
index 050ed6fcf98366708d2b458c53f9f071166e89ef..8a90d6f5d6031eac26378cb09d7e14cde367252a 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta20.log
+% input from feta20.log
 % name
 % rests
 \fetdef\wholerest{0}
index 36361972a449e1e707eba6a4cd3f8a87927204ae..592ce98f95235c745679bd05f3d7c1932c515cdc 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta23.log
+% input from feta23.log
 % name
 % rests
 \fetdef\wholerest{0}
index 71ac49c793b127cee74876a401b66319b9c49a47..7173686dad1ddca5812194c64b7e76732c4a7d87 100644 (file)
@@ -1,7 +1,7 @@
 % Creator: mf-to-table.py version 0.5
 % Automatically generated on
 % Do not edit
-% input from out/feta26.log
+% input from feta26.log
 % name
 % rests
 \fetdef\wholerest{0}
diff --git a/tex/out/dummy.dep b/tex/out/dummy.dep
deleted file mode 100644 (file)
index e69de29..0000000