]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.107
authorfred <fred>
Wed, 27 Mar 2002 00:32:59 +0000 (00:32 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:32:59 +0000 (00:32 +0000)
Documentation/hacking.texi
make/generic-vars.make
make/ly-rules.make [new file with mode: 0644]
make/ly-targets.make [new file with mode: 0644]
make/ly-vars.make [new file with mode: 0644]
make/mutopia-targets.make
make/stepmake.make

index f5116d400eb8245d3915794a3c05b372b655f62f..1377ebe9e92f3ff7b6d10126b86ec238db83adf6 100644 (file)
@@ -10,7 +10,6 @@
 @menu
 * LilyPond internals::
 * Overview::
-* mudela::                      
 * Request_engraver::            
 * Backend::
 * Coding standards::
@@ -22,7 +21,6 @@
 
 @menu
 * Overview::                      Overview
-* mudela::                        mudela
 * Request_engraver::              Request_engraver
 @end menu
 
@@ -100,21 +98,10 @@ scanning sheet music.
 @chapter LilyPond internals
 
 
-This documents some aspects of the internals of GNU LilyPond. Some of
-this stuff comes from e-mail I wrote, some from e-mail others wrote,
-some are large comments taken away from the headers. This page may be a
-little incoherent.  Unfortunately, it is also quite outdated.  A more
-thorough and understandable document is in the works.
-
-You should use @code{doc++} to take a peek at the sources.
-
-@node Overview, mudela, Top, Top
+@node Overview, , , Top
 @section Overview
 
-GNU LilyPond is a "multi-pass" system. The different passes have been
-created so that they do not depend on each other. In a later stage
-some parts may be moved into libraries, or seperate programs, or they
-might be integrated in larger systems.
+GNU LilyPond is a "multi-pass" system.
 
 @table @samp
 
@@ -183,48 +170,8 @@ staffs.
 
 @end table
 
-@node mudela, Request_engraver, Overview, Top
-@section mudela
-
-[FIXME: implementation has been generalised, so this is out of date]
-
-Most information is stored in the form of a request.  In music
-typesetting, the user might want to cram a lot more symbols on the
-paper than actually fits. To reflect this idea (the user asks more
-than we can do), the container for this data is called Request.
-
-In a lot of other formats this would be called an 'Event'
-
-@table @samp
-@item @code{Barcheck_req}
-    Checks during music processing if start of this voice element
-    coincides with the start of a measure. Handy to check if you left out
-    some voice elts.
-@item @code{Note_req}
-    LilyPond has to decide if the ball should be hanging left or
-    right. This influences the horizontal dimensions of a column, and this
-    is why request processing should be done before horizontal spacing.
-    Other voices' frivolities may cause the need for accidentals, so this
-    is also for the to decide. The engraver can decide on positioning based on
-    ottava commands and the appropriate clef.
-@item @code{Rest_req}
-    Typeset a rest.
-@item @code{Span_req}
-    This type of request typically results in the creation of a @code{Spanner}
-@item @code{Beam_req}
-    Start/stop a beam.
-    Engraver has to combine this request with the stem_request, since the
-    number of flags that a stem wants to carry will determine the
-    number of beams.
-@item @code{Dynamic}
-    Each dynamic is bound to one note (a crescendo spanning multiple
-    notes is thought to be made of two "dynamics": a start and a stop).
-    Dynamic changes can occur in a smaller time than the length of its
-    note, therefore each @code{Dynamic} request carries a time, measured
-    from the start of its note.
-@end table
 
-@node Request_engraver, , mudela, Top
+@node Request_engraver, , , Top
 @section Request_engraver
 
 In the previous section the idea of Request has been explained, but
@@ -307,7 +254,8 @@ blah blah blah
 @end menu
 
 
-@node Graphic elements, , , Backend 
+@node Graphic elements, , , Backend
+@unnumberedsubsec
 
 Music notation is composed of a sets of interrelated glyphs.  In
 Lilypond every glyph usually is represented by one object, a so-called
@@ -367,6 +315,7 @@ function as a parent.  The size of a Graphical_axis_groups group is the
 union of its children.
 
 @node Position and width Callbacks, , , Backend
+@unnumberedsubsec
 
 The positions are, as explained relative to a parent reference
 point. Most positions are not known when an object is created, so these
@@ -404,6 +353,7 @@ can be only one callback for each axis. No callback (the 0 ptr) means:
 "empty in this direction".
 
 @node Score_element properties, , , Backend
+@unnumberedsubsec
 
 Score elements can have other properties besides positioning, for
 example, text strings (for text objects) style settings, glyphs, padding
@@ -481,7 +431,8 @@ selection in most cases.
 
 
 
-@node Score elements, ,  , Backend
+@node Score elements, , , Backend
+@unnumberedsubsec
 
 [FIXME: we want to get rid of dependencies in the implementation.]
 
@@ -572,7 +523,7 @@ There are plans to unify Spanner and Item, so there will no longer be
 such a clear distinction between the two.  Right now, Score_elements are
 always either Item or either Spanner.
 
-@node Coding standards,  , , Top
+@node Coding standards, , , Top
 
 @chapter CodingStyle - standards while programming for GNU LilyPond
 
@@ -846,7 +797,7 @@ files, doing a release.
 
 Use them.
 
-@node Making patches,  , , Top
+@node Making patches, , , Top
 
 
 @unnumberedsec  Track and distribute your code changes
@@ -945,7 +896,7 @@ and don't forget to make automatically generated files:
  
 @end example 
 
-@node Localisation, , , Top 
+@node Localisation, , , Top
 
 @chapter Localisation - User messages in LilyPond
 
@@ -1003,7 +954,7 @@ macro is a no-op, it only serves as a marker for @file{xgettext}.
 @example
 char const* messages[] = @{
   _i ("enable debugging output"),
-  _i ("ignore mudela version"),
+  _i ("ignore lilypond version"),
   0
 @};
 
index 3ad2d595d8399f0f38a1c7c8f324d5637f0edae1..78a11c5c23ecdaa040935d0e55ed4bf98ec64877 100644 (file)
@@ -45,17 +45,17 @@ INSTALLED_EXTRA_DOC_FILES = $(addprefix $(prefix:/%=%)/doc/lilypond/, $(EXTRA_DO
 
 # installed by 'make install'
 INSTALL_DIST_FILES = \
-  bin/convert-mudela\
-  bin/mudela-book\
+  bin/convert-ly\
+  bin/lilypond-book\
   bin/ly2dvi\
   bin/$(program_prefix)lilypond$(program_suffix)\
   bin/$(program_prefix)mi2mu$(program-suffix)\
   info/lilypond.info\
   man/man1/mi2mu.1\
   man/man1/lilypond.1\
-  man/man1/mudela-book.1\
+  man/man1/lilypond-book.1\
   man/man1/ly2dvi.1\
-  man/man1/convert-mudela.1\
+  man/man1/convert-ly.1\
   lib/texmf/texmf/tex/lilypond\
   lib/texmf/texmf/fonts/source/public/lilypond\
   share/lilypond/\
diff --git a/make/ly-rules.make b/make/ly-rules.make
new file mode 100644 (file)
index 0000000..d7af4be
--- /dev/null
@@ -0,0 +1,30 @@
+# Mudela_rules.make
+
+.SUFFIXES: .doc .dvi .mudtex .tely .texi
+
+SUBST_TEXI_DEPS=sed 's! \.\./! !g' < $(basename $@).dep > $(outdir)/temp.dep ;         mv $(outdir)/temp.dep $(basename $@).dep 
+
+$(outdir)/%.latex: %.doc
+       LILYPONDPREFIX=$(LILYPONDPREFIX)/..  $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ $< 
+       $(SUBST_TEXI_DEPS)
+
+# don't do ``cd $(outdir)'', and assume that $(outdir)/.. is the src dir.
+# it is not, for --scrdir builds
+$(outdir)/%.texi: %.tely
+       LILYPONDPREFIX=$(LILYPONDPREFIX)/..  $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ --format=texi $<
+       $(SUBST_TEXI_DEPS)
+
+# nexi: no-lily texi
+# for plain info doco: don't run lily
+$(outdir)/%.nexi: %.tely
+       LILYPONDPREFIX=$(LILYPONDPREFIX)/..  $(PYTHON) $(script-dir)/lilypond-book.py --outdir=$(outdir) --no-lily -I .. -I $(input-dir)/test/ --dependencies --dep-prefix=$(outdir)/ --format=texi $<
+       mv $(@D)/$(*F).texi $@
+       $(SUBST_TEXI_DEPS)
+
+# nfo: info from non-lily texi
+$(outdir)/%.info: $(outdir)/%.nexi
+       -$(MAKEINFO) --force --output=$(outdir)/$(*F).info $<
+
+# nfo: info from non-lily texi
+#$(outdir)/%.nfo: $(outdir)/%.nexi
+#      -$(MAKEINFO) --force --output=$(outdir)/$(*F).info $<
diff --git a/make/ly-targets.make b/make/ly-targets.make
new file mode 100644 (file)
index 0000000..e032d7e
--- /dev/null
@@ -0,0 +1,2 @@
+# empty
+
diff --git a/make/ly-vars.make b/make/ly-vars.make
new file mode 100644 (file)
index 0000000..024d2ab
--- /dev/null
@@ -0,0 +1,4 @@
+# empty
+TELY_FILES := $(wildcard *.tely)
+EXTRA_DIST_FILES += $(TELY_FILES)
+
index a55109ab364bb65dbc837f12bc459bbdea526d12..4a759813c51cb9b57cc0b73e821d4544414ea243 100644 (file)
@@ -9,8 +9,8 @@ local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(png_examples)
 local-web:
        $(MAKE) conf=www local-WWW
 
-convert-mudela: local-convert-mudela
+convert-ly: local-convert-ly
        $(LOOP)
 
-local-convert-mudela:
-       $(PYTHON) $(script-dir)/convert-mudela.py -e *ly
+local-convert-ly:
+       $(PYTHON) $(script-dir)/convert-ly.py -e *ly
index d31fae07264efc0e6b88378696400b61cd049b3e..9cfe90e50c1395d097baaa23757fcce9f7b13d0e 100644 (file)
@@ -2,11 +2,6 @@
 
 include $(depth)/make/toplevel-version.make
 
-# Don't try to outsmart us, you puny computer!
-ifeq (0,${MAKELEVEL})
-  MAKE:=$(MAKE) --no-builtin-rules
-endif
-.SUFFIXES:
 
 # Use alternate configurations alongside eachother:
 #
@@ -63,6 +58,14 @@ stepdir = $(stepmake)/stepmake
 STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) 
 LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES)
 
+# Don't try to outsmart us, you puny computer!
+# Well, UGH.  This only removes builtin rules from
+# subsequent $(MAKE)s, *not* from the current run!
+ifeq (0,${MAKELEVEL})
+  MAKE:=$(MAKE) --no-builtin-rules
+  include $(stepdir)/no-builtin-rules.make
+endif
+.SUFFIXES:
 
 all: