nsubsect(LANGUAGES)
-C++, /bin/sh and python are preferred. Perl is not.
+C++, /bin/sh and Python are preferred. Perl is not.
+Python code should use an indent of 8, using TAB characters.
nsubsect(FILES)
NAME = Documentation
SUBDIRS=man tex pictures topdocs
-
-include $(depth)/make/Stepmake.make
-
-default: do-doc
-
+MAKEFILES=Documentation
README_TOP_FILES=NEWS DEDICATION TODO ANNOUNCE-0.1
EXTRA_DIST_FILES = gnu-music-history TODO
BLURBS=BLURB COPERTINA FLAPTEKST
-# INFO_FILES = $(outdir)/$(package).info
-
OUTTEXINFO_FILES = $(outdir)/topinfo.texinfo $(outdir)/mutopia.texinfo
+include $(depth)/make/Stepmake.make
+
+default: do-doc
+
+# INFO_FILES = $(outdir)/$(package).info
+
texinfo: $(OUTTEXINFO_FILES)
-include $(stepdir)/Documentation.shared.make
These development releases will also be at
itemize(
-it()lurl(ftp://pcnov095.win.tue.nl/pub/lilypond/development)
+it()lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development)
it()lurl(ftp://sca.uwaterloo.ca/pub/lilypond)
depth = ../..
-include $(depth)/make/Stepmake.make
-
-include $(stepdir)/Documentation.vars.make
-include $(stepdir)/Documentation_rules.make
-
+MAKEFILES=Documentation
SECTION=1
MANTXT = $(addprefix $(outdir)/, $(addsuffix .txt,$(basename $(TEXINFO_FILES) .texinfo)))
MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(YO_FILES) .yo)))
OUT_DIST_FILES += $(MANGROFF)
+include $(depth)/make/Stepmake.make
+
default: $(MANGROFF)
texinfo: $(OUTTEXINFO_FILES)
+
+
INSTALLATION_OUT_FILES=$(MANGROFF)
INSTALLATION_OUT_DIR=$(mandir)/man$(SECTION)
depth = ../..
-include $(depth)/make/Stepmake.make
-include $(stepdir)/Documentation_rules.make
-
+MAKEFILES=Documentation
XPM_FILES=$(wildcard *.xpm)
OUTGIF_FILES = $(addprefix $(outdir)/,$(XPM_FILES:.xpm=.gif))
EXTRA_DIST_FILES= $(XPM_FILES)
+
+include $(depth)/make/Stepmake.make
+
gifs: $(OUTGIF_FILES)
local-WWW: $(OUTGIF_FILES)
depth=../..
-include $(depth)/make/Stepmake.make
-include $(stepdir)/Documentation.vars.make
-include $(depth)/make/Lilypond.make
-include $(stepdir)/Documentation_rules.make
-
DATA_FILES = $(wildcard *.data)
datafiles = $(addprefix $(outdir)/,$(DATA_FILES:.data=.html))
DOC_FILES = $(wildcard *.doc)
HTML_FILES = $(addprefix $(outdir)/, $(YO_FILES:.yo=.html))
PS_FILES = $(DVI_FILES:.dvi=.ps)
+MAKEFILES=Documentation
+LOCALMAKEFILES=Lilypond
+
+
+include $(depth)/make/Stepmake.make
dvi: $(DVI_FILES)
depth = ../..
-SUBDIRS=
+MAKEFILES=Documentation
+LOCALMAKEFILES=Lilypond
+BLURBS=BLURB COPERTINA FLAPTEKST
+
+TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES))
+
include $(depth)/make/Stepmake.make
-include $(depth)/make/Lilypond.make
default: do-doc
-BLURBS=BLURB COPERTINA FLAPTEKST
+
# INFO_FILES = $(outdir)/$(package).info
-include $(stepdir)/Documentation.shared.make
# urg
$(outdir)/%.html: %.yo
-cp $(outdir)/*gif $(outdir)/index.html $(depth) # don't fail if not making website
-TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES))
copy-to-top:
$(foreach i, $(TO_TOP_FILES), \
cp $(i) $(depth)/ && ) true
If you have received this file as part of a DOS/Window32 distribution
(package()-*.zip), then it is advisable to also download the source
package, since it might contain more documentation
-lurl(ftp://pcnov095.win.tue.nl/pub/package()/)
+lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/)
If you decide to build Package() from source, please read the INSTALL.txt
document first, especially the Windows NT/95 section.
# bin/Makefile
depth = ..
+MAKEFILES=Script
include $(depth)/make/Stepmake.make
-default:
-EXTRA_DIST_FILES = ltconfig
-include $(stepdir)/Script_files.make
+
-#!/bin/bash
+#!/bin/sh
# ps-to-gifs, convert PS to multiple gifs
usage()
depth = ..
NAME= debian
+BLURBS=BLURB
+AT_FILES = $(BLURBS) #
+at-dir = $(outdir)/
+at-ext =
-include $(depth)/make/Stepmake.make
-
+EXTRA_DIST_FILES = README.Debian TODO $(CONF_FILES) $(OUT_DIST_FILES) control.foka
CONF_FILES=changelog copyright postinst postrm rules watch
OUTCONF_FILES=$(addprefix $(outdir)/, $(basename $(CONF_FILES))) $(OUTIN_FILES)
OUT_DIST_FILES = $(OUTIN_FILES)
-default: $(OUTCONF_FILES)
+include $(depth)/make/Stepmake.make
-BLURBS=BLURB
-AT_FILES = $(BLURBS) #
-at-dir = $(outdir)/
-at-ext =
-EXTRA_DIST_FILES = README.Debian TODO $(CONF_FILES) $(OUT_DIST_FILES) control.foka
+default: $(OUTCONF_FILES)
+
$(outdir)/%: %
rm -f $@
SCRIPTS =
README_FILES = NEWS-1.0 NEWS-1.1.46 README TODO
EXTRA_DIST_FILES= VERSION $(README_FILES) $(SCRIPTS)
+MAKEFILES=Library C++
+
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
-include $(stepdir)/Library.make
depth = ../..
+MAKEFILES=C++
+
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
depth = ..
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
INI_FILES = $(FLY_FILES) $(LY_FILES)
# DIST_FILES = Makefile $(INI_FILES)
INSTALLATION_DIR=$(datadir)
INSTALLATION_FILES=$(INI_FILES)
+LOCALMAKEFILES=Mutopia
+
+include $(depth)/make/Stepmake.make
+
+
include $(stepdir)/Installfiles.make
% ugh
barsize = \staffheight;
rulethickness = \staffline;
+stemthickness = \staffline;
% uhm
unitspace = 22.\pt;
SUBDIRS=test bugs
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
examples=example-3 twinkle-pop praeludium-fuga-E twinkle
flexamples=example-1 example-2
-include $(stepdir)/WWW.make
+LOCALMAKEFILES=Mutopia
+include $(depth)/make/Stepmake.make
+
local-check: $(addsuffix .dvi, $(addprefix $(outdir)/, $(examples)))
depth = ../..
+LOCALMAKEFILES=Mutopia
include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-examples= #beam-bug slur-bug #why would we want to demo Lily's errors?
-
-include $(stepdir)/WWW.make
# input/test/Makefile
depth = ../..
-
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
examples=font20 hara-kiri grace mark denneboom
+LOCALMAKEFILES=Mutopia
-include $(stepdir)/WWW.make
+include $(depth)/make/Stepmake.make
SUBDIRS = include
# MODULE_LIBS= $(depth)/flower
MODULE_CXXFLAGS += -D_REENTRANT
+MAKEFILES=Library C++
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
-include $(stepdir)/Library.make
# lib/include/Makefile
depth = ../..
+MAKEFILES=C++
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
+
EXTRA_DIST_FILES = VERSION
MODULE_LIBS=$(depth)/lib $(depth)/flower
-include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
-include $(stepdir)/Executable.make
+MAKEFILES=C++ Executable
-include Stable.make
-include VERSION
+include $(depth)/make/Stepmake.make
# force these: Make can't know these have to be generated in advance
my-lily-lexer.cc: $(outdir)/parser.hh
$(outdir)/main.o: $(outdir)/BLURB.hh $(outdir)/COPERTINA.hh $(outdir)/FLAPTEKST.hh
+# ugh . -> $(outdir)
VERSION: $(depth)/VERSION
cp $< $@
+
# lily/include/Makefile
depth = ../..
+MAKEFILES=C++
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
+
{
keyreq_l_ = 0;
default_key_b_ = false;
+ old_accidental_idx_arr_.clear ();
}
{
multi_octave_b_ = key_grav_r.key_.multi_octave_b_;
const Array<Musical_pitch> &idx_arr = key_grav_r.accidental_idx_arr_;
- for (int i = 0 ; i< idx_arr.size(); i++)
+ for (int i = 0; i < idx_arr.size(); i++)
{
Musical_pitch m_l =idx_arr[i];
if (multi_octave_b_)
s.dim_.y() = Interval (y1,y2);
Array<String> a;
- a.push (print_dimen (y1));
+
+
+ Real stem_width = paper_l_->get_var ("stemthickness");
+ a.push (print_dimen (-stem_width /2));
+ a.push (print_dimen (stem_width));
a.push (print_dimen (y2));
+ a.push (print_dimen (-y1));
- String src = (*symtables_p_)("param")->lookup ("stem").tex_;
+ String src = "\\kern %\\vrule width % height % depth %";
s.tex_ = substitute_args (src,a);
s.font_ = font_;
return s;
|| !((Score_element*)span_p)->line_l ())
{
span_p->unlink ();
-#if 0
- int sz = span_p->class_size();
- set_frobnify (span_p,sz);
-#endif
delete span_p;
}
else
{
i_l->unlink ();
Score_element * item_p= i.remove_p ();
-#if 0
- int sz = item_p->class_size ();
- set_frobnify (item_p, sz);
-#endif
delete item_p;
}
else
--- /dev/null
+
+export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
+export MFINPUTS:=$(topdir)/mf/:.:$(MFINPUTS)::
+export TEXINPUTS:=$(topdir)/tex/:.:$(TEXINPUTS)::
+export LILYINCLUDE=$(topdir)/init:$(topdir)/mf/out
+
# file make/Makefile
depth = ..
+BLURBS=BLURB COPERTINA FLAPTEKST
+MAKEFILES=Makedir
+
include $(depth)/make/Stepmake.make
-BLURBS=BLURB COPERTINA FLAPTEKST
-include $(stepdir)/Makedir.shared.make
+
+
+
# make/Mutopia.make
-FLY_FILES = $(wildcard *.fly)
-LY_FILES = $(wildcard *.ly)
-M4_FILES = $(wildcard *.m4)
-LYM4_FILES = $(wildcard *.lym4)
-DIST_FILES = Makefile $(EXTRA_DIST_FILES) $(FLY_FILES) $(LY_FILES) $(M4_FILES) $(LYM4_FILES)
-#
-
-include $(depth)/make/Lilypond.make
-
-OUT_FILES = $(addprefix $(outdir)/,$(M4_FILES:%.m4=%)) \
- $(addprefix $(outdir)/,$(LYM4_FILES:%.lym4=%.ly))
-
-all: $(OUT_FILES)
-
-name-stem= $(notdir $(basename $<))
-
-$(outdir)/%.gif: $(outdir)/%.ps
- sh $(buildscripts)/ps-to-gifs.sh $<
- -mv $(name-stem)-page*.gif $(outdir)/
- touch $@
-
-$(outdir)/%.ly.txt: %.ly
- ln -f $< $@
-
-$(outdir)/%.fly.txt: %.fly
- ln -f $< $@
-
-# don't junk intermediate .dvi files. They're easier to view than
-# .ps or .gif
-.PRECIOUS: $(outdir)/%.dvi
-
-$(outdir)/%.dvi: %.ly
- sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $<
- -mv $(basename $<).midi $(outdir)
-
-$(outdir)/%.dvi: %.fly
- sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $<
- -mv $(basename $<).midi $(outdir)
--- /dev/null
+
+
+$(outdir)/%.gif: $(outdir)/%.ps
+ sh $(buildscripts)/ps-to-gifs.sh $<
+ -mv $(name-stem)-page*.gif $(outdir)/
+ touch $@
+
+$(outdir)/%.ly.txt: %.ly
+ ln -f $< $@
+
+$(outdir)/%.fly.txt: %.fly
+ ln -f $< $@
+
+
+
+# don't junk intermediate .dvi files. They're easier to view than
+# .ps or .gif
+.PRECIOUS: $(outdir)/%.dvi
+
+$(outdir)/%.dvi: %.ly
+ sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $<
+ -mv $(basename $<).midi $(outdir)
+
+$(outdir)/%.dvi: %.fly
+ sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $<
+ -mv $(basename $<).midi $(outdir)
--- /dev/null
+
+
+all: $(OUT_FILES)
+
+
+local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(gif_examples)
+ (cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --package=$(topdir) --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples))
+ $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/$(outdir)/index.html $(outdir)/index.html
+ echo $^ > $(depth)/wwwlist
--- /dev/null
+
+# UGH UGH
+include $(make-dir)/Lilypond_vars.make
+
+FLY_FILES = $(wildcard *.fly)
+LY_FILES = $(wildcard *.ly)
+M4_FILES = $(wildcard *.m4)
+LYM4_FILES = $(wildcard *.lym4)
+EXTRA_DIST_FILES += $(FLY_FILES) $(LY_FILES) $(M4_FILES) $(LYM4_FILES)
+
+# WWW.make
+
+ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly.txt, $(examples)))
+fly_examples=$(addprefix $(outdir)/, $(addsuffix .fly.txt, $(flexamples)))
+
+all_examples=$(flexamples) $(examples)
+
+ps_examples=$(addprefix $(outdir)/, $(addsuffix .ps.gz, $(all_examples)))
+gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(all_examples)))
+
+html_subdirs=$(addprefix --subdirs ,$(SUBDIRS))
+
+
+name-stem= $(notdir $(basename $<))
+
+OUT_FILES = $(addprefix $(outdir)/,$(M4_FILES:%.m4=%)) \
+ $(addprefix $(outdir)/,$(LYM4_FILES:%.lym4=%.ly))
include $(depth)/$(configuration).make
+ifdef CONFIGSUFFIX
+outdir=out-$(CONFIGSUFFIX)
+else
+outdir=out
+endif
+
+
+
stepdir = $(depth)/$(stepmake)/stepmake
include $(stepdir)/Include.make
-# ugh.
+MAKEFILES := Generic $(MAKEFILES)
+
+include $(addprefix $(stepdir)/,$(addsuffix _vars.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _vars.make, $(LOCALMAKEFILES)))
+include $(addprefix $(stepdir)/,$(addsuffix _rules.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _rules.make, $(LOCALMAKEFILES)))
+include $(addprefix $(stepdir)/,$(addsuffix _targets.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _targets.make, $(LOCALMAKEFILES)))
+
+# ugh. ugh ugh ugh
$(depth)/$(configuration).make: $(depth)/configure
@echo "**************************************"
@echo "configure changed! You should probably reconfigure manually."
@echo "**************************************"
(cd $(depth); ./config.status)
+
+
# file make/Targets.make
-check-dist-deps:
- false
-
-check-html-deps:
- false
- $(MAKE) -C $(depth)/Documentation html
-
-
-check-mf-deps:
- false
- $(MAKE) -C $(depth)/mf
-
-check-texinfo-deps:
- false
- $(MAKE) -C $(depth)/Documentation texinfo
- $(MAKE) -C $(depth)/Documentation/man texinfo
-
# urg!
$(configheader): $(depth)/$(configuration).hh
cp $< $@
# descent order into subdirectories:
#
SUBDIRS = scripts buildscripts flower lib lily mf mi2mu po debian \
- Documentation init input tex make mutopia test intl $(stepmake)
+ Documentation init input tex make mutopia test intl stepmake
#
SCRIPTS = configure aclocal.m4
# list of distribution files:
#
-
-
include $(stepdir)/Toplevel.make
aclocal.m4: $(stepdir)/../aclocal.m4
tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' -czf $(outdir)/examples.tar.gz `find input mutopia -type d -name 'out-www' -print`
-localdist: do-top-doc
+local-dist: do-top-doc
$(package-icon):
$(MAKE) -C Documentation/pictures icon
# you do make dist
#
-# derived names
-flowerout = $(buildprefix)/flower/$(outdir)
-libout = $(buildprefix)/lib/$(outdir)
-lilyout = $(buildprefix)/lily/$(outdir)
-mi2muout = $(buildprefix)/mi2mu/$(outdir)
-
buildscripts = $(depth)/buildscripts
include-lib = $(depth)/lib/include
include-flower = $(depth)/flower/include
-NO_DOOS_DIST = flower lib lily make mi2mu out
-
-# dummydeps
-#
-DUMMYDEPS=\
- $(flowerout)/dummy.dep\
- $(libout)/dummy.dep\
- $(lilyout)/dummy.dep\
- $(mi2muout)/dummy.dep\
-
-#
-
-# version stuff:
-#
-lily-version = $(lilyout)/version.hh
-flower-version = $(flowerout)/version.hh
-mi2mu-version = $(mi2muout)/version.hh
-#
-# custom libraries:
-#
-LIBFLOWER = $(flowerout)/$(LIB_PREFIX)flower$(LIB_SUFFIX)
-LIBLILY = $(libout)/$(LIB_PREFIX)lily$(LIB_SUFFIX)
-#
-LILYPOND_INCLUDES = -I$(include-lib) -I$(libout) -I$(include-flower) -I$(flowerout)
+LILYPOND_INCLUDES = $(include-lib) $(depth)/lib/$(outdir) $(include-flower) $(depth)/flower/$(outdir)
LILYPOND_LDFLAGS = -L$(depth)/lib/$(outdir) -L$(depth)/flower/$(outdir)
LILYPOND_LIBES =
janneke@gnu.org (Jan Nieuwenhuizen)
Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 610k @package@-@TOPLEVEL_VERSION@.tar.gz
-Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 610k @package@-@TOPLEVEL_VERSION@.tar.gz
+ 770k @package@-@TOPLEVEL_VERSION@.tar.gz
+Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
+ 770k @package@-@TOPLEVEL_VERSION@.tar.gz
Copi-eer voorwaarden: GPL
End
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 730k @package@-@TOPLEVEL_VERSION@.tar.gz
-Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 730k @package@-@TOPLEVEL_VERSION@.tar.gz
+ 770k @package@-@TOPLEVEL_VERSION@.tar.gz
+Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
+ 770k @package@-@TOPLEVEL_VERSION@.tar.gz
Copying-policy: GPL
End
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
-Summary: A program for typesetting music.
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
+Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
Icon: @package@-icon.gif
depth = ..
-include $(depth)/make/Stepmake.make
-include $(stepdir)/Metafont.make
+MAKEFILES=Metafont
-TEX_FILES = $(wildcard *.tex)
EXTRA_DIST_FILES += TODO README
FET_FILES = $(wildcard feta[0-9]*.mf)
OUT_DIST_FILES += $(AFM_FILES)
+include $(depth)/make/Stepmake.make
+
default: $(ALL_GEN_FILES)
EXTRA_DIST_FILES += TODO
MODULE_LIBS=$(depth)/lib $(depth)/flower
+MAKEFILES=C++ Executable
+
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
-include $(stepdir)/Executable.make
# explicit dependencies: (how to do auto?)
#
# lib/include/Makefile
depth = ../..
-
+MAKEFILES=C++
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
/// (mudela_staff)
class Mudela_staff {
public:
- Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str);
-
- void add_item (Mudela_item* mudela_item_p);
- void eat_voice (Link_list<Mudela_item*>& items);
- String id_str();
- String name_str();
- void output (Mudela_stream& mudela_stream_r);
- void process();
-
- String copyright_str_;
- String instrument_str_;
- String name_str_;
- Mudela_key* mudela_key_l_;
- Mudela_time_signature* mudela_time_signature_l_;
- Mudela_tempo* mudela_tempo_l_;
- int number_i_;
+ Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str);
+
+ void add_item (Mudela_item* mudela_item_p);
+ void eat_voice (Link_list<Mudela_item*>& items);
+ String id_str();
+ String name_str();
+ void output (Mudela_stream& mudela_stream_r);
+ void process();
+
+ String copyright_str_;
+ String instrument_str_;
+ String name_str_;
+ Mudela_key* mudela_key_l_;
+ Mudela_time_signature* mudela_time_signature_l_;
+ Mudela_tempo* mudela_tempo_l_;
+ int number_i_;
private:
- void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i);
-#if 0
- void output_mudela_rest (Mudela_stream& mudela_stream_r, Moment begin_mom, Moment end_mom);
- void output_mudela_rest_remain (Mudela_stream& mudela_stream_r, Moment mom);
-#endif
-
- Pointer_list<Mudela_voice*> mudela_voice_p_list_;
- Pointer_list<Mudela_item*> mudela_item_p_list_;
+ void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i);
+
+ Pointer_list<Mudela_voice*> mudela_voice_p_list_;
+ Pointer_list<Mudela_item*> mudela_item_p_list_;
};
#endif // MUDELA_STAFF_HH
return c;
}
+
void
Mudela_score::output (String filename_str)
{
&& (i == mudela_staff_p_list_.top()))
continue;
mudela_stream << "\\type Staff = \"" << i->id_str() << "\" ";
- mudela_stream << "\\$" << i->id_str() << "\n";
+ mudela_stream << String ("\\" + i->id_str ()) << "\n";
}
if (mudela_staff_p_list_.size() > 1)
mudela_stream << ">\n";
String
Mudela_staff::id_str()
{
- String str = name_str();
- for (int i = 0; i < str.length_i(); i++)
- if ( (!i && !isalpha (str[ i ]))
- || !isalnum (str[ i ]))
- * (str.ch_l() + i) = '_';
- return str;
+ String id (name_str ());
+ char *cp = id.ch_l ();
+ char *end = cp + id.length_i();
+ for (;cp < end; cp++)
+ {
+ if (!isalpha (*cp))
+ {
+ *cp = 'X';
+ }
+ }
+ return id;
}
String
{
if (name_str_.length_i())
return name_str_;
- return String ("track") + to_str (number_i_);
+ return String ("track") + to_str (char ('A' - 1 + number_i_));
}
+
+
void
Mudela_staff::output (Mudela_stream& mudela_stream_r)
{
- mudela_stream_r << "$" << id_str() << " = \\melodic";
+ mudela_stream_r << id_str() << " = \\melodic";
mudela_stream_r << (mudela_voice_p_list_.size() > 1 ? "<" : "{");
mudela_stream_r << '\n';
mudela_stream_r << _ ("% midi copyright:") << copyright_str_ << '\n';
depth = ../..
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
# do Coriolan if you have plenty RAM / CPU
examples=coriolan oboi-part viola-part
# examples= oboi-part viola-part
-include $(stepdir)/WWW.make
+LOCALMAKEFILES=Mutopia
+
+include $(depth)/make/Stepmake.make
depth = ../..
SUBDIRS = Petites-Preludes Solo-Cello-Suites
-
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
EXTRA_DIST_FILES=
+
+LOCALMAKEFILES=Mutopia
examples=wtk1-fugue2
-include $(stepdir)/WWW.make
+include $(depth)/make/Stepmake.make
+
depth = ../../..
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
EXTRA_DIST_FILES=
examples=preludes-2
+LOCALMAKEFILES=Mutopia
-include $(stepdir)/WWW.make
+include $(depth)/make/Stepmake.make
depth = ../../..
-include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-
EXTRA_DIST_FILES=
examples=scsii-cello
+LOCALMAKEFILES=Mutopia
-include $(stepdir)/WWW.make
+include $(depth)/make/Stepmake.make
SUBDIRS = J.S.Bach Coriolan W.A.Mozart
+examples=standchen gallina
+LOCALMAKEFILES=Mutopia
+
include $(depth)/make/Stepmake.make
include $(make-dir)/Mutopia.make
EXTRA_DIST_FILES += TODO
-examples=standchen gallina
-
-include $(stepdir)/WWW.make
depth = ../..
+examples=cadenza
+LOCALMAKEFILES=Mutopia
+
include $(depth)/make/Stepmake.make
-include $(make-dir)/Mutopia.make
-examples=cadenza
-include $(stepdir)/WWW.make
# bin/Makefile
depth = ..
+SEXECUTABLES=convert-mudela mudela-book ly2dvi
+MAKEFILES=Script
-include $(depth)/make/Stepmake.make
-
-
-include $(stepdir)/Scripts.make
-# want release, make-patch too!
-SEXECUTABLES=convert-mudela mudela-book ly2dvi
+include $(depth)/make/Stepmake.make
-include $(stepdir)/Executable.make
+include $(stepdir)/Executable_targets.make
--- /dev/null
+#!@PYTHON@
+
+name = 'ly2dvi'
+version = '0.0.1'
+
+import sys
+import os
+import getopt
+import re
+import string
+import time
+import glob
+
+class Input:
+
+ def __init__(this):
+ this.__fd = None
+
+ def open(this,file):
+ for i in [''] + Props.get('include')[0:]:
+ ifile = os.path.join(i,file)
+ for j in ['','.ly','.fly']:
+ jfile = ifile+j
+ try:
+ this.__fd = open( jfile, 'r' )
+ return
+ except:
+ pass
+ sys.exit('ExitNotFound', file)
+
+ def close(this):
+ this.__fd.close()
+
+ def type(this):
+ firstline = this.__fd.readline()
+ this.__fd.seek(0)
+ if re.match('% Creator: GNU LilyPond [0-9]+[.0-9]+',firstline ):
+ return 'output'
+ else:
+ return 'source'
+#
+# Scan file for variable settings
+#
+ def setVars(this):
+ """Scan source file for variable settings"""
+ varTable = [
+ # regexp set method
+ # ------ ----------
+ ( 'language', Props.setLanguage ),
+ ( 'latexheaders', Props.setHeader ),
+ ( 'orientation', Props.setOrientation ),
+ ( 'paperpapersize', Props.setPaperZize ),
+ ( 'papertextheight', Props.setTextHeight ),
+ ( 'paperlinewidth', Props.setLineWidth ),
+ ( 'filename', Props.setFilename ),
+ ]
+
+ titles={}
+ line='prime the pump' # ugh
+ while line:
+ line=this.__fd.readline()
+ m=re.match('\\\\def\\\\mudela([\w]+){(.*)}',line)
+ if m:
+ for var in varTable:
+ if m.group(1) == var[0]:
+ var[1](m.group(2),'file')
+ break
+ for var in Props.get('titledefs'):
+ if m.group(1) == var:
+ titles[var]=m.group(2)
+ break
+ Props.setTitles(titles,'file')
+ this.__fd.seek(0)
+
+class TeXOutput:
+
+ def __init__(this):
+ this.__fd = None
+ this.__base = ''
+ this.__outfile = ''
+
+ def write(this,str):
+ this.__fd.write(str)
+
+ def start(this,file):
+ """Start the latex file"""
+ now=time.asctime(time.localtime(time.time()))
+ linewidth = Props.get('linewidth')
+ textheight = Props.get('textheight')
+
+ if Props.get('orientation') == 'landscape':
+ pagewidth = Props.get('pageheight')
+ pageheight = Props.get('pagewidth')
+ else:
+ pageheight = Props.get('pageheight')
+ pagewidth = Props.get('pagewidth')
+
+ horizontalMarginArg = ( (pagewidth - linewidth)/2 )
+ verticalMarginArg = ( (pageheight - textheight)/2 )
+
+ top="""\
+%% Creator: %s
+%% Automatically generated from %s, %s
+
+\\documentclass[%s]{article}
+
+%s
+\\usepackage{geometry}
+\\usepackage[latin1]{inputenc}
+%%\\usepackage[T1]{fontenc}
+%s
+%%\\addtolength{\\oddsidemargin}{-1cm}
+%%\\addtolength{\\topmargin}{-1cm}
+%%\\setlength{\\textwidth}{%s}
+%%\\setlength{\\textheight}{%s}
+\\geometry{width=%spt, left=%spt, height=%spt, top=%spt}
+\\input lilyponddefs
+\\input titledefs
+%s
+\\begin{document}
+""" % ( program_id(), Props.get('filename'), now, Props.get('papersize'),
+ Props.get('language'), Props.get('pagenumber'), linewidth, textheight,
+ linewidth, horizontalMarginArg, textheight, verticalMarginArg,
+ Props.get('header') )
+
+ pathcomp = os.path.splitext(file)
+ this.__base = pathcomp[0]
+ this.__outfile = '%s.%d%s' % (pathcomp[0], os.getpid(), pathcomp[1])
+ try:
+ this.__fd = open(this.__outfile,"w")
+ except:
+ sys.exit('ExitNoWrite', this.__outfile)
+ this.write(top)
+ this.__mudelaDefs('')
+ this.write("""\
+\\cmrtwenty% ugh
+\\makelilytitle
+""")
+
+ def next(this):
+ this.write("""\
+\\def\\theopus{}%
+\\def\\thepiece{}%
+\\def\\mudelaopus{}%
+\\def\\mudelapiece{}%
+""")
+ this.__mudelaDefs("\\def")
+ this.write("""\
+\\def\\theopus{\\mudelaopus}% ugh
+\\def\\thepiece{\\mudelapiece}%
+\\makelilypiecetitle
+""")
+
+ def __mudelaDefs(this,opt):
+ titles = Props.get('titles')
+ for key in titles.keys():
+ this.write('%s\\mudela%s{%s}%%\n' % (opt,key,titles[key]))
+
+ def end(this):
+ outfile=this.__base + '.dvi'
+ if Props.get('output') != '':
+ outfile = os.path.join(Props.get('output'), outfile )
+
+ this.write("""\
+\\vfill\\hfill{\\LilyIdString}
+\\end{document}
+""")
+ this.__fd.close()
+ stat = os.system('latex \'\\nonstopmode \\input %s\'' %
+ (this.__outfile))
+ if stat:
+ sys.exit('ExitBadLatex')
+ if os.path.isfile(outfile):
+ os.remove(outfile)
+ os.rename(this.__base + '.' + str(os.getpid()) + '.dvi', outfile)
+
+class Properties:
+
+ def __set(this,var,value,requester):
+ if this.__overrideTable[requester] < this.__data[var][1]:
+ return 0
+ else:
+ this.__data[var] = [value, this.__overrideTable[requester]]
+
+ def get(this,var):
+ if var == 'include' or var == 'lilyOutputFiles':
+ return this.__data[var][0][0:] # return a copy not a ref
+ else:
+ return this.__data[var][0]
+
+ def get_texfile_path (this, var):
+ path =''
+ cmd =('kpsewhich tex %s' % var)
+ pipe = os.popen (cmd, 'r')
+ path = pipe.readline ()[:-1] # chop off \n
+ if not path:
+ path = os.path.join(this.get('root'), 'texmf', 'tex', 'lilypond', var)
+
+ fd = open(path, 'r')
+ return fd
+
+ def __init__(this):
+ this.__overrideTable = {
+ 'init' : 0,
+ 'environment' : 1,
+ 'rcfile' : 2,
+ 'file' : 3,
+ 'commandline' : 4,
+ 'program' : 5
+ }
+
+ this.__roverrideTable = {} # reverse lookup
+ for i in this.__overrideTable.items():
+ this.__roverrideTable[i[1]]=i[0]
+
+ this.__data = {
+ 'pagewidth' : [597, this.__overrideTable['init']],
+ 'pageheight' : [845, this.__overrideTable['init']],
+ 'papersize' : ['a4paper', this.__overrideTable['init']],
+ 'textheight' : [0, this.__overrideTable['init']],
+ 'linewidth' : [0, this.__overrideTable['init']],
+ 'orientation' : ['portrait', this.__overrideTable['init']],
+ 'language' : ['%', this.__overrideTable['init']],
+ 'include' : [[], this.__overrideTable['init']],
+ 'debug' : [0, this.__overrideTable['init']],
+ 'keeplilypond' : [0, this.__overrideTable['init']],
+ 'keeply2dvi' : [0, this.__overrideTable['init']],
+ 'pagenumber' : ['%', this.__overrideTable['init']],
+ 'separate' : [0, this.__overrideTable['init']],
+ 'output' : ['', this.__overrideTable['init']],
+ 'header' : ['%', this.__overrideTable['init']],
+ 'dependencies' : [0, this.__overrideTable['init']],
+ 'root' : ['', this.__overrideTable['init']],
+ 'tmp' : ['d:\tmp', this.__overrideTable['init']],
+ 'filename' : ['', this.__overrideTable['init']],
+ 'titledefs' : [[], this.__overrideTable['init']],
+ 'titles' : [{}, this.__overrideTable['init']],
+ 'lilyOutputFiles' : [[], this.__overrideTable['init']],
+ }
+
+ if os.environ.has_key('LILYINCLUDE'):
+ tmp=this.get('include')
+ for s in string.split(os.environ['LILYINCLUDE'],os.pathsep):
+ tmp.append(s)
+ this.__set('include', tmp, 'environment')
+
+ if os.environ.has_key('LILYPOND'):
+ this.__set('root',os.environ['LILYPOND'], 'environment')
+ else:
+ p=os.path.split(sys.argv[0])
+ p=os.path.split(p[0])
+ this.__set('root',p[0],'init')
+
+ if os.environ.has_key ('TEXINPUTS'):
+ t = os.pathsep + os.environ['TEXINPUTS']
+ os.environ['TEXINPUTS'] = os.path.join(this.get('root'), 'texmf',
+ 'tex', 'lilypond' ) + t
+
+ if os.environ.has_key('TMP'):
+ this.__set('tmp',os.environ['TMP'],'environment')
+
+ if not os.environ.has_key('HOME'):
+ if os.environ.has_key('HOMEDRIVE') and \
+ os.environ.has_key('HOMEPATH'):
+ os.environ['HOME'] = os.environ['HOMEDRIVE'] + \
+ os.environ['HOMEPATH']
+ else:
+ os.environ['HOME'] = os.curdir
+
+
+ fd =this.get_texfile_path ('titledefs.tex')
+ mudefs=[]
+ line='prime the pump' # ugh
+ while line:
+ line=fd.readline()
+ m=re.match('\\\\newcommand\*{\\\\mudela([\w]+)}',line)
+ if m:
+ mudefs.append(m.group(1))
+ fd.close
+ this.__set('titledefs', mudefs, 'init')
+
+#
+# Read rc file
+#
+ def rcfile(this):
+ """Read RCfile"""
+ varTable = [
+ # name set method
+ # ---- ----------
+ ( 'LILYPOND', this.setInclude ),
+ ( 'LANGUAGE', this.setLanguage ),
+ ( 'LATEXHF', this.setHeader ),
+ ( 'ORIENTATION', this.setOrientation ),
+ ( 'OUTPUTDIR', this.setOutput ),
+ ( 'PAPERSIZE', this.setPaperZize ),
+ ( 'PHEIGHT', this.setTextHeight ),
+ ( 'TMP', this.setTmp ),
+ ( 'PWIDTH', this.setLineWidth ),
+ ]
+
+ for d in [os.path.join(this.get('root'),'share','lilypond'), \
+ os.environ['HOME'], os.curdir ]:
+ file=os.path.join(d,'.lilyrc')
+ try:
+ fd = open( file, 'r' )
+ except:
+ continue
+
+ line='prime the pump' # ugh
+ while line:
+ line=fd.readline()
+ if re.match('#.*',line):
+ continue
+ m=re.search('([\w]+)=(.*)',line)
+ if m:
+ for var in varTable:
+ if m.group(1) == var[0]:
+ var[1](m.group(2),'rcfile')
+ break
+ fd.close
+
+#
+# Set paper size
+#
+ def setPaperZize(this,size,requester):
+ paperTable = [
+ # regex width height name
+ # ----- ----- ------ ----
+ ( 'a0.*', 2389, 3381, 'a0paper' ),
+ ( 'a1$|a1p.*', 1690, 2389, 'a1paper' ),
+ ( 'a2.*', 1194, 1690, 'a2paper' ),
+ ( 'a3.*', 845, 1194, 'a3paper' ),
+ ( 'a4.*', 597, 845, 'a4paper' ),
+ ( 'a5.*', 423, 597, 'a5paper' ),
+ ( 'a6.*', 298, 423, 'a6paper' ),
+ ( 'a7.*', 211, 298, 'a7paper' ),
+ ( 'a8.*', 305, 211, 'a8paper' ),
+ ( 'a9.*', 105, 305, 'a9paper' ),
+ ( 'a10.*', 74, 105, 'a10paper' ),
+ ( 'b0.*', 2847, 4023, 'b0paper' ),
+ ( 'b1.*', 2012, 2847, 'b1paper' ),
+ ( 'b2.*', 1423, 2012, 'b2paper' ),
+ ( 'b3.*', 1006, 1423, 'b3paper' ),
+ ( 'b4.*', 712, 1006, 'b4paper' ),
+ ( 'b5.*', 503, 712, 'b5paper' ),
+ ( 'archA$', 650, 867, 'archApaper' ),
+ ( 'archB$', 867, 1301, 'archBpaper' ),
+ ( 'archC$', 1301, 1734, 'archCpaper' ),
+ ( 'archD$', 1734, 2602, 'archDpaper' ),
+ ( 'archE$', 2602, 3469, 'archEpaper' ),
+ ( 'flsa$|flse$', 614, 940, 'flsapaper' ),
+ ( 'halfletter$', 397, 614, 'halfletterpaper' ),
+ ( 'ledger$', 1229, 795, 'ledgerpaper' ),
+ ( 'legal$', 614, 1012, 'legalpaper' ),
+ ( 'letter$', 614, 795, 'letterpaper' ),
+ ( 'note$', 542, 723, 'notepaper' )
+ ]
+
+ found=0
+ for paper in paperTable:
+ if re.match(paper[0],size):
+ found=1
+ this.__set('pagewidth',paper[1],requester)
+ this.__set('pageheight',paper[2],requester)
+ this.__set('papersize',paper[3],requester)
+ break
+
+ if not found:
+ sys.exit('ExitBadPaper',size)
+
+#
+# set Text Height
+#
+ def setTextHeight(this,size,requester):
+ m=re.match('([0-9][.0-9]*)(cm|mm|pt|$)',size)
+ if m:
+ if m.group(2) == 'cm':
+ this.__set('textheight',\
+ float(m.group(1)) * 72.27/2.54, requester )
+ elif m.group(2) == 'mm':
+ this.__set('textheight',\
+ float(m.group(1)) * 72.27/25.4, requester )
+ elif m.group(2) == 'pt':
+ this.__set('textheight', float(m.group(1)), requester )
+ elif m.group(2) == '':
+ this.__set('textheight', float(m.group(1)), requester )
+ else:
+ sys.exit('ExitBadHeight', m.group(2))
+ else:
+ sys.exit('ExitBadHeight', size)
+#
+# set Text Width
+#
+ def setLineWidth(this,size,requester):
+ m=re.match('([0-9][.0-9]*)(cm|mm|pt|$)',size)
+ if m:
+ if m.group(2) == 'cm':
+ this.__set('linewidth', \
+ float(m.group(1)) * 72.27/2.54, requester )
+ elif m.group(2) == 'mm':
+ this.__set('linewidth', \
+ float(m.group(1)) * 72.27/25.4, requester )
+ elif m.group(2) == 'pt':
+ this.__set('linewidth', float(m.group(1)), requester )
+ elif m.group(2) == '':
+ this.__set('linewidth', float(m.group(1)), requester )
+ else:
+ sys.exit('ExitBadWidth', m.group(2))
+ else:
+ sys.exit('ExitBadWidth', size)
+#
+# Set Orientation
+#
+ def setOrientation(this,orient,requester):
+ if orient == 'landscape' or orient == 'portrait':
+ this.__set('orientation', orient, requester )
+ else:
+ sys.exit('ExitBadOrient', orient)
+#
+# Set Language
+#
+ def setLanguage(this,lang,requester):
+ this.__set('language', '\\usepackage[%s]{babel}' % (lang), requester )
+#
+# Append Include
+#
+ def setInclude(this,inc, requester):
+ tmp = this.get('include')
+ tmp.append(inc)
+ this.__set('include', tmp, requester )
+#
+# Set debug flag
+#
+ def setDebug(this,requester):
+ this.__set('debug',1,requester)
+
+#
+# Clear debug flag
+#
+ def clearDebug(this, requester):
+ this.__set('debug',0,requester)
+#
+# Set Keeplilypond flag
+#
+ def setKeeplilypond(this, requester):
+ this.__set('keeplilypond',1,requester)
+
+#
+# Clear Keeplilypond flag
+#
+ def clearKeeplilypond(this, requester):
+ this.__set('keeplilypond',0,requester)
+
+#
+# Set Keeply2dvi flag
+#
+ def setKeeply2dvi(this, requester):
+ this.__set('keeply2dvi',1,requester)
+#
+# Clear Keeply2dvi flag
+#
+ def clearKeeply2dvi(this, requester):
+ this.__set('keeply2dvi',0,requester)
+#
+# Set No page number flag
+#
+ def setNonumber(this, requester):
+ this.__set('pagenumber','\\pagestyle{empty}',requester)
+
+#
+# Clear No page number flag
+#
+ def clearNonumber(this, requester):
+ this.__set('pagenumber','%',requester)
+#
+# Set separate flag
+#
+ def setSeparate(this, requester):
+ this.__set('separate',1,requester)
+
+#
+# Clear separate flag
+#
+ def clearSeparate(this, requester):
+ this.__set('separate',0,requester)
+
+#
+# Set output directory name
+#
+ def setOutput(this,out,requester):
+ this.__set('output',out,requester)
+
+#
+# Set latex header name
+#
+ def setHeader(this,head, requester):
+ this.__set('header',head,requester)
+#
+# Set Dependencies flag to generate makefile dependencies
+#
+ def setDependencies(this, requester):
+ this.__set('dependencies',1,requester)
+
+#
+# Clear Dependencies flag
+#
+ def clearDependencies(this, requester):
+ this.__set('dependencies',0,requester)
+#
+# Set tmp directory
+#
+ def setTmp(this,dir, requester):
+ this.__set('tmp',dir,requester)
+#
+# Set mudela source file name
+#
+ def setFilename(this,file, requester):
+ this.__set('filename',file,requester)
+#
+# Set title commands
+#
+ def setTitles(this,titles, requester):
+ this.__set('titles',titles,requester)
+
+ def addLilyOutputFiles(this,file,requester):
+ tmp = this.get('lilyOutputFiles')
+ tmp.append(file)
+ this.__set('lilyOutputFiles',tmp,requester)
+
+ def printProps(this):
+ for key in this.__data.keys():
+ print "%s <%s>:<%s>" % (key,this.get(key),
+ this.__roverrideTable[this.__data[key][1]])
+
+def getLilyopts():
+ inc = ''
+ if len(Props.get('include')) > 0:
+ inc = '-I ' + string.join(Props.get('include'),os.pathsep)
+ else:
+
+ if Props.get('dependencies'):
+ dep=' -d'
+ else:
+ dep=''
+ return inc + dep
+ return inc
+
+def writeLilylog(contents):
+ if Props.get('keeplilypond'):
+ file='lilylog.' + str(os.getpid())
+ output = Props.get('output')
+ if output != '':
+ file = os.path.join( output, file )
+ try:
+ fd = open( file, 'w' )
+ except:
+ sys.exit('ExitNoWrite', file)
+ fd.write(contents)
+ fd.close()
+
+def getTeXFile(contents):
+ m = re.search('^TeX output to (.+)\.tex', contents,re.M)
+ if m:
+ return ( m.group(1)+'.tex' )
+ else:
+ sys.exit('ExitNoTeXName')
+
+def program_id ():
+ return name + ' ' + version;
+
+
+def mailaddress():
+ try:
+ return os.environ['MAILADDRESS']
+ except KeyError:
+ return '(address unknown)'
+
+
+def identify ():
+ sys.stderr.write (program_id () + '\n')
+
+def help ():
+ sys.stderr.write (
+ 'Generate dvi file from mudela or lilypond output\n'
+ 'Usage: ' + name + ' [OPTION]... [FILE]...\n'
+ '\n'
+ 'Options:\n'
+ ' -D,--debug increase verbosity\n'
+ ' -F,--headers= name of additional LaTeX headers file\n'
+ ' -H,--Height= set paper height (points) (see manual page)\n'
+ ' -I,--include=DIR add DIR to LilyPond\'s search path\n'
+ ' -K,--keeplilypond keep lilypond output files\n'
+ ' -L,--landscape set landscape orientation\n'
+ ' -N,--nonumber switch off page numbering\n'
+ ' -O,--orientation= set orientation (obsolete - use -L instead)\n'
+ ' -W,--Width= set paper width (points) (see manual page)\n'
+ ' -d,--dependencies tell lilypond make a dependencies file\n'
+ ' -h,--help this help text\n'
+ ' -k,--keeply2dvi keep ly2dvi output files\n'
+ ' -l,--language= give LaTeX language (babel)\n'
+ ' -o,--output= set output directory\n'
+ ' -p,--papersize= give LaTeX papersize (eg. a4)\n'
+ ' -s,--separate run all files separately through LaTeX\n'
+ '\n'
+ 'files may be (a mix of) input to or output from lilypond(1)\n'
+ )
+
+
+def main():
+ """Generate dvi files from lilypond source/output"""
+
+ infile = Input()
+ outfile = TeXOutput()
+ texInputFiles=[]
+
+ Props.rcfile()
+ (options, files) = getopt.getopt (sys.argv[1:],
+ 'DF:H:I:KLNW:dhkl:o:p:s',
+ ['debug', 'headers=', 'Height=',
+ 'include=', 'keeplilypond', 'landscape',
+ 'nonumber', 'Width=', 'dependencies',
+ 'help', 'keeply2dvi', 'language=',
+ 'output=', 'papersize=', 'separate'])
+ for opt in options:
+ o = opt[0]
+ a = opt[1]
+ if o == '--debug' or o == '-D':
+ Props.setDebug('commandline')
+ elif o == '--headers' or o == '-F':
+ Props.setHeader(a,'commandline')
+ elif o == '--include' or o == '-I':
+ Props.setInclude(a,'commandline')
+ elif o == '--Height' or o == '-H':
+ Props.setTextHeight(a,'commandline')
+ elif o == '--keeplilypond' or o == '-K':
+ Props.setKeeplilypond('commandline')
+ elif o == '--landscape' or o == '-L':
+ Props.setOrientation('landscape','commandline')
+ elif o == '--nonumber' or o == '-N':
+ Props.setNonumber('commandline')
+ elif o == '--Width' or o == '-W':
+ Props.setLineWidth(a,'commandline')
+ elif o == '--dependencies' or o == '-d':
+ Props.setDependencies('commandline')
+ elif o == '--help' or o == '-h':
+ help()
+ return 0
+ elif o == '--keeply2dvi' or o == '-k':
+ Props.setKeeply2dvi('commandline')
+ elif o == '--language' or o == '-l':
+ Props.setLanguage(a,'commandline')
+ elif o == '--output' or o == '-o':
+ Props.setOutput(a,'commandline')
+ elif o == '--papersize' or o == '-p':
+ Props.setPaperZize(a,'commandline')
+ elif o == '--separate' or o == '-s':
+ Props.setSeparate('commandline')
+
+ if len(files):
+ for file in files:
+ infile.open(file)
+ type = infile.type()
+ infile.close()
+ if type == 'source':
+ cmd = 'lilypond %s %s 2>&1' % (getLilyopts(), file)
+ fd = os.popen( cmd , 'r' )
+ log = fd.read()
+ stat = fd.close()
+ print log
+ if stat:
+ sys.exit('ExitBadLily', cmd )
+ texFile=getTeXFile(log)
+ writeLilylog(log)
+ Props.addLilyOutputFiles(texFile,'program')
+ texInputFiles.append(texFile)
+ else:
+ texInputFiles.append(file)
+
+ firstfile=1
+ for file in texInputFiles:
+ infile.open(file)
+ infile.setVars() # first pass set variables
+ infile.close()
+ Props.printProps()
+ if firstfile:
+ outfile.start(file)
+ else:
+ outfile.next()
+ outfile.write("""\
+\\input{%s}
+""" % (file))
+ if Props.get('separate'):
+ outfile.end()
+ else:
+ firstfile=0
+ if not Props.get('separate'):
+ outfile.end()
+ else:
+ help()
+ sys.exit('ExitBadArgs','No files specified')
+
+#
+# Exit values
+#
+ExitTable = {
+ 'ExitInterupt' : ['Ouch!', 1 ],
+ 'ExitBadArgs' : ['Wrong number of arguments', 2 ],
+ 'ExitNotFound' : ['File not found', 3 ],
+ 'ExitBadPaper' : ['Unknown papersize', 4 ],
+ 'ExitBadHeight' : ['Invalid Height specification', 5 ],
+ 'ExitBadWidth' : ['Invalid Width specification', 6 ],
+ 'ExitBadOrient' : ['Invalid Orientation specification', 7 ],
+ 'ExitNoWrite' : ['Permission denied', 8 ],
+ 'ExitNoTeXName' : ['hmm, I could not find an output file name', 9 ],
+ 'ExitBadLily' : ['Lilypond failed', 10 ],
+ 'ExitBadLatex' : ['Latex failed', 11 ],
+ 'ExitUnknown' : ['Unknown Exit Code', 20 ],
+ }
+
+def cleanup():
+ lilyfiles = []
+ tmpfiles = []
+ if not Props.get('keeplilypond'):
+ lilyfiles = Props.get('lilyOutputFiles')
+ if not Props.get('keeply2dvi'):
+ tmpfiles = glob.glob('*.' + str(os.getpid()) + '.*' )
+ for file in lilyfiles + tmpfiles:
+ if os.path.isfile(file):
+ os.remove(file)
+
+
+
+
+
+
+
+identify()
+Props = Properties()
+
+try:
+ main()
+
+except KeyboardInterrupt:
+ print ExitTable['ExitInterupt'][0]
+ cleanup()
+ sys.exit(ExitTable['ExitInterupt'][1])
+
+except SystemExit, errno:
+ if ExitTable.has_key(errno.args[0]):
+ msg = ExitTable[errno.args[0]]
+ else:
+ msg = ExitTable['ExitUnknown']
+ if len(errno.args) > 1:
+ sys.stderr.write( '%s: %s: %s\n' % (name, msg[0], errno.args[1]))
+ else:
+ sys.stderr.write( '%s %s\n' % (name, msg[0]))
+ cleanup()
+ sys.exit(msg[1])
+else:
+ cleanup()
+
+
+
+
+
+
+
depth = ..
-include $(depth)/make/Stepmake.make
OUTTXT_FILES = $(OUTYO_FILES:.yo=.txt) $(OUTIN_FILES:.yo=.txt)
EXTRA_DIST_FILES =
SUBDIRS=topdocs
-include $(stepdir)/Documentation.vars.make
-include $(stepdir)/Documentation_rules.make
+MAKEFILES=Documentation
+
+include $(depth)/make/Stepmake.make
default: do-doc
AT_FILES = $(BLURBS) #
at-dir = $(doc-dir)/
at-ext = .in
+BLURBS=BLURB COPERTINA FLAPTEKST
-include $(depth)/make/Stepmake.make
+TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES))
-default: do-doc
+MAKEFILES=Documentation
+
+include $(depth)/make/Stepmake.make
-BLURBS=BLURB COPERTINA FLAPTEKST
-# INFO_FILES = $(outdir)/$(package).info
-include $(stepdir)/Documentation.shared.make
+default: do-doc
# urg
$(outdir)/%.html: %.yo
local-WWW:
-cp $(outdir)/*gif $(outdir)/index.html $(depth) # don't fail if not making website
-
-TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES))
copy-to-top:
$(foreach i, $(TO_TOP_FILES), \
cp $(i) $(depth)/ && ) true
+pl 43
+ - grand split up in targets/rules/variables. The vars should be before rules!!
pl 42
- fake-msgfmt.sh; urg copied from fake-yodl
PACKAGE_NAME=StepMake
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=41
+PATCH_LEVEL=43
MY_PATCH_LEVEL=
# use the above to send patches, always empty for released version:
depth = ..
-include $(depth)/make/Stepmake.make
-
EXTRA_DIST_FILES = install-sh config.sub config.guess
+MAKEFILES=Script
+
+include $(depth)/make/Stepmake.make
-include $(stepdir)/Scripts.make
# file make/Makefile
depth = ..
+MAKEFILES=Makedir
+BLURBS=BLURB # COPERTINA FLAPTEKST
include $(depth)/make/Stepmake.make
-BLURBS=BLURB # COPERTINA FLAPTEKST
-include $(stepdir)/Makedir.shared.make
+
include $(depth)/$(configuration).make
+ifdef CONFIGSUFFIX
+outdir=out-$(CONFIGSUFFIX)
+else
+outdir=out
+endif
+
+
stepdir = $(depth)/$(stepmake)/stepmake
-include $(stepdir)/Include.make
+MAKEFILES := Generic $(MAKEFILES)
+
+include $(addprefix $(stepdir)/,$(addsuffix _vars.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _vars.make, $(LOCALMAKEFILES)))
+include $(addprefix $(stepdir)/,$(addsuffix _rules.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _rules.make, $(LOCALMAKEFILES)))
+include $(addprefix $(stepdir)/,$(addsuffix _targets.make, $(MAKEFILES)))
+include $(addprefix $(depth)/make/,$(addsuffix _targets.make, $(LOCALMAKEFILES)))
+
# bootstrap stepmake:
#
-include $(depth)/make/Stepmake.make
#
# list of distribution files:
#
+include $(depth)/make/Stepmake.make
include $(stepdir)/Toplevel.make
-localdist: do-top-doc
+local-dist: do-top-doc
do-top-doc:
-$(MAKE) -C Documentation/topdocs/ README_TOP_FILES="$(README_TXT_FILES)" copy-to-top
include $(stepdir)/C++_rules.make
include $(stepdir)/C++_vars.make
-include $(stepdir)/C++_files.make
-#
-# template files:
-TCC_FILES := $(wildcard *.tcc)
-HH_FILES := $(wildcard *.hh)
-CC_FILES := $(wildcard *.cc)
-INL_FILES := $(wildcard *.icc)
-YY_FILES := $(wildcard *.yy)
-LL_FILES := $(wildcard *.ll)
-
-SOURCE_FILES+=$(YY_FILES) $(CC_FILES) $(INL_FILES) $(TCC_FILES) $(HH_FILES) $(LL_FILES)
-OBJECT_FILES+=$(YY_FILES:.yy=.o) $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o)
-
-TAGS_FILES += $(TCC_FILES) $(HH_FILES) $(INL_FILES) $(CC_FILES)
EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wconversion
-CXXFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS)
+CXXFLAGS = $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS)
CXX_OUTPUT_OPTION = $< -o $@
DO_CXX_COMPILE=$(DODEP) $(CXX) -c $(CXXFLAGS) $(CXX_OUTPUT_OPTION)
+# template files:
+TCC_FILES := $(wildcard *.tcc)
+HH_FILES := $(wildcard *.hh)
+CC_FILES := $(wildcard *.cc)
+INL_FILES := $(wildcard *.icc)
+YY_FILES := $(wildcard *.yy)
+LL_FILES := $(wildcard *.ll)
+SOURCE_FILES+=$(YY_FILES) $(CC_FILES) $(INL_FILES) $(TCC_FILES) $(HH_FILES) $(LL_FILES)
+OBJECT_FILES+=$(YY_FILES:.yy=.o) $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o)
+
+TAGS_FILES += $(TCC_FILES) $(HH_FILES) $(INL_FILES) $(CC_FILES)
-# header files:
-H_FILES := $(wildcard *.h)
-C_FILES := $(wildcard *.c)
-Y_FILES := $(wildcard *.y)
-L_FILES := $(wildcard *.l)
-
-SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES)
-OBJECT_FILES+=$(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o)
-
-TAGS_FILES += C_FILES H_FILES
-# C/C++
-#
-
-ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES)
+include $(stepdir)/C_vars.make
include $(stepdir)/C_rules.make
-# compiler:
-#
-DO_C_COMPILE = $(DODEP) $(CC) -c $(CFLAGS) $(C_OUTPUT_OPTION)
-C_OUTPUT_OPTION = $< -o $@
-CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS)
--- /dev/null
+
+# header files:
+H_FILES := $(wildcard *.h)
+C_FILES := $(wildcard *.c)
+Y_FILES := $(wildcard *.y)
+L_FILES := $(wildcard *.l)
+
+SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES)
+OBJECT_FILES+=$(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o)
+
+TAGS_FILES += C_FILES H_FILES
+# C/C++
+#
+
+ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES)
+
+# compiler:
+#
+DO_C_COMPILE = $(DODEP) $(CC) -c $(CFLAGS) $(C_OUTPUT_OPTION)
+C_OUTPUT_OPTION = $< -o $@
+
+CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS)
### below here is shared between lily/yodl/Documentation and topdocs...
-AT_FILES = $(BLURBS) #
-at-dir = $(doc-dir)/
-at-ext = .in
-
-include $(stepdir)/Documentation.vars.make
+include $(stepdir)/Documentation_vars.make
include $(stepdir)/Documentation_rules.make
-
-do-doc: $(OUTTXT_FILES)
-
-# ugh. FIXME
-ifeq ($(strip $(README_TOP_FILES)),)
-readme-top_FILES-html:
-else
-
-readme-top_FILES-html:
- for i in $(README_TOP_FILES); do \
- $(SHELL) $(step-bindir)/text2html.sh $(outdir)/$$i.txt $(outdir)/$$i.html; \
- $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/../index.html $(outdir)/$$i.html; \
- done
-endif
-
-local-WWW: readme-top_FILES-html $(OUTHTML_FILES) $(OUTREADME_HTML_FILES)
-
-doc: do-doc
-
-# what to do here?
-ifneq ($(strip $(INFO_FILES)),)
-
-INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_FILES)" -f $(stepdir)/Install_outfiles.sub.make $@
-
-$(outdir)/$(package).info: check-texinfo-deps $(OUTTEXINFO_FILES)
- $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo
-
-localinstall: # $(INFO_FILES)
- -$(INSTALL) -d $(infodir)
- $(INFOINSTALL)
-localuninstall:
- $(INFOINSTALL)
-
-endif
-
--- /dev/null
+
+
+do-doc: $(OUTTXT_FILES)
+
+# ugh. FIXME
+ifeq ($(strip $(README_TOP_FILES)),)
+readme-top_FILES-html:
+else
+
+readme-top_FILES-html:
+ for i in $(README_TOP_FILES); do \
+ $(SHELL) $(step-bindir)/text2html.sh $(outdir)/$$i.txt $(outdir)/$$i.html; \
+ $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/../index.html $(outdir)/$$i.html; \
+ done
+endif
+
+local-WWW: readme-top_FILES-html $(OUTHTML_FILES) $(OUTREADME_HTML_FILES)
+ echo $^ > $(depth)/wwwlist
+
+doc: do-doc
+
+# what to do here?
+ifneq ($(strip $(INFO_FILES)),)
+
+INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_FILES)" -f $(stepdir)/Install_outfiles.sub.make $@
+
+$(outdir)/$(package).info: check-texinfo-deps $(OUTTEXINFO_FILES)
+ $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo
+
+localinstall: # $(INFO_FILES)
+ -$(INSTALL) -d $(infodir)
+ $(INFOINSTALL)
+localuninstall:
+ $(INFOINSTALL)
+
+endif
+
--- /dev/null
+# Documentation files
+AT_FILES = $(BLURBS) #
+at-dir = $(doc-dir)/
+at-ext = .in
+
+
+#
+YO_FILES := $(wildcard *.yo)
+POD_FILES := $(wildcard *.pod)
+TEXINFO_FILES := $(wildcard *.texinfo)
+OUTYO_FILES = $(addprefix $(outdir)/,$(YO_FILES))
+OUTPOD_FILES = $(addprefix $(outdir)/,$(POD_FILES))
+OUTTEXINFO_FILES = $(addprefix $(outdir)/,$(TEXINFO_FILES))
+
+#
+ALL_DOC_FILES = $(POD_FILES) $(TEXINFO_FILES) $(YO_FILES)
+OUTTXT_FILES = $(OUTYO_FILES:.yo=.txt) $(OUTIN_FILES:.yo=.txt)
+OUTHTML_FILES = $(OUTYO_FILES:.yo=.html) $(OUTIN_FILES:.yo=.html) # $(OUTREADME_HTML_FILES)
+# OUTTEXINFO_FILES= $(addprefix $(outdir)/, $(addsuffix .texinfo,$(basename $(YO_FILES) .yo)))
+# OUTTEXINFO_FILES = $(outdir)/topinfo.texinfo $(outdir)/mutopia.texinfo
+OUTREADME_TXT_FILES=$(addprefix $(outdir)/,$(addsuffix .txt, $(README_TOP_FILES)))
+OUTREADME_HTML_FILES=$(addprefix $(outdir)/,$(addsuffix .html, $(README_TOP_FILES)))
+
+
+ALL_SOURCES += $(ALL_DOC_FILES)
# Executable.make
-# dependency list of executable:
-#
-
-default: $(EXECUTABLE)
-
-$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh $(MODULE_LIBES)
- $(foreach a, $(MODULE_LIBS), $(MAKE) -C $a && ) true
- $(LD_COMMAND) $(O_FILES) $(LOADLIBES)
-
-exe: $(EXECUTABLE)
-
-
-
-localinstall: installexe
-
-localuninstall: uninstallexe
-
-installexe: all
- -$(INSTALL) -d $(bindir)
- $(foreach a, $(EXECUTABLES), \
- $(INSTALL) -m 755 $(outdir)/$(a)$(DOTEXE) $(bindir)/$(a)$(DOTEXE) && \
- strip $(bindir)/$(a)$(DOTEXE) && ) true
- $(foreach a, $(SEXECUTABLES), \
- $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true
-
-uninstallexe:
- $(foreach a, $(EXECUTABLES), rm -f $(bindir)/$(a)$(DOTEXE) &&) true
- $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true
-
-
-%/$(outdir)/library.a:
- $(MAKE) -C $(dir $@)/.. default
+include $(stepdir)/Executable_targets.make
--- /dev/null
+# Executable.make
+
+# dependency list of executable:
+#
+
+default: $(EXECUTABLE)
+
+$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh $(MODULE_LIBES)
+ $(foreach a, $(MODULE_LIBS), $(MAKE) -C $a && ) true
+ $(LD_COMMAND) $(O_FILES) $(LOADLIBES)
+
+exe: $(EXECUTABLE)
+
+
+
+localinstall: installexe
+
+localuninstall: uninstallexe
+
+installexe: all
+ -$(INSTALL) -d $(bindir)
+ $(foreach a, $(EXECUTABLES), \
+ $(INSTALL) -m 755 $(outdir)/$(a)$(DOTEXE) $(bindir)/$(a)$(DOTEXE) && \
+ strip $(bindir)/$(a)$(DOTEXE) && ) true
+ $(foreach a, $(SEXECUTABLES), \
+ $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true
+
+uninstallexe:
+ $(foreach a, $(EXECUTABLES), rm -f $(bindir)/$(a)$(DOTEXE) &&) true
+ $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true
+
+
+%/$(outdir)/library.a:
+ $(MAKE) -C $(dir $@)/.. default
# Files.make
-# list of object _FILES:
-#
-SOURCE_FILES =
-
O_FILES = $(addprefix $(outdir)/,$(OBJECT_FILES))
-#
-DEP_FILES := $(wildcard $(depdir)/*.dep)
+DEP_FILES := $(wildcard $(outdir)/*.dep)
# (Why not Makefile too?)
#
-MAKE_FILES := $(wildcard *.make)
#
IN_FILES := $(wildcard *.in)
SOURCE_FILES += $(IN_FILES)
-SOURCE_FILES += $(MAKE_FILES)
+
# Preprocessed .in documentation _FILES:
#
OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%))
--- /dev/null
+# title generic make rules
+# file make/Rules.make
+
+# this is supposed to clear all suffixes:
+.SUFFIXES:
+
+$(outdir)/%: %.m4
+ $(M4) $< > $@
+
+%.dep:
+ touch $@
+
+%.gz: %
+ gzip -c9 $< > $@
+
+# bit docrules, these...
+$(outdir)/%.dvi: $(outdir)/%.tex
+ (cd $(outdir); tex \\nonstopmode \\input $(<F))
+
+$(outdir)/%.dvi: $(outdir)/%.latex
+ (cd $(outdir); \
+ latex \\nonstopmode \\input $(<F);\
+ bibtex $(basename $(<F));\
+ latex \\nonstopmode \\input $(<F);\
+ latex \\nonstopmode \\input $(<F);\
+ )
+
+$(outdir)/%.ps: $(outdir)/%.dvi
+ dvips -ta4 -o $@ $<
+
+
+# hmm, always include these, or include via package/make/Rules.make?
+include $(stepdir)/Substitute.make
+include $(make-dir)/Rules.make
+
+$(outdir)/%: %.in
+ rm -f $@
+ cat $< | $(sed-atfiles) | $(sed-atvariables) > $@
+
--- /dev/null
+# title generic make targets
+# file make/Targets.make
+
+.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\
+ po
+
+# target all:
+#
+all: default
+ $(LOOP)
+
+
+# be careful about deletion.
+clean: localclean
+ -rm -f $(outdir)/*
+ $(LOOP)
+
+distclean: clean
+ $(LOOP)
+ $(MAKE) local-distclean
+
+maintainerclean:
+ $(LOOP)
+ $(MAKE) local-maintainerclean
+ $(MAKE) local-distclean
+
+include $(stepdir)/Po.make
+
+
+# configure:
+#
+config:
+ ./$(depth)/configure
+#
+
+
+# target help:
+#
+generic-help:
+ @echo -e "\
+Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
+Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
+\n\
+Targets:\n"
+
+help: generic-help local-help
+ @echo -e "\
+ all update everything\n\
+ clean remove all genated stuff in $(oudir)\n\
+ config rerun configure\n\
+ deb build Debian package\n\
+ default same as the empty target\n\
+ diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\
+ . Options:\n\
+ . from=0.1.74\n\
+ . help==\n\
+ . release==\n\
+ . to=0.1.74.jcn2\n\
+ distclean cleaner than clean (duh)\n\
+ doc update all documentation\n\
+ doc++ make doc++ documentation\n\
+ exe update all executables\n\
+ help this help\n\
+ install install programs and data (prefix=$(prefix))\n\
+ lib update all libraries\n\
+ release roll tarball and generate patch\n\
+ rpm build RedHat package\n\
+ tar same as dist\n\
+ TAGS genarate tagfiles\n\
+ zip build binary doze distribution\n\
+\n\
+Make may be invoked from any subdirectory\n\
+Note that all commands recurse into SUBSDIRS\n\
+"\
+#
+
+local-help:
+
+doc:
+# $(MAKE) -C $(depth)/Documentation do-doc
+ $(MAKE) -C $(depth)/Documentation all
+
+
+# Ugh. C++ specific.
+doc++:
+ (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
+
+
+
+check-state-vector:
+ if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\
+ echo $(TOPLEVEL_VERSION) >> $(state-vector); \
+ fi
+
+
+local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
+ mkdir $(distdir)/$(localdir)
+ $(LN) $(DIST_FILES) $(distdir)/$(localdir)
+
+#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion)
+#
+ if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \
+ $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \
+ fi
+
+ if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \
+ mkdir $(distdir)/$(localdir)/out; \
+ $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \
+ fi
+ $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
+
+
+
+html: $(HTML_FILES)
+
+TAGS:
+ -if [ "$(TAGS_FILES)" != "" ]; then \
+ etags -CT $(TAGS_FILES) || \
+ ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
+ fi
+
+ $(LOOP)
+
+$(outdir)/version.hh: VERSION
+ sh ./$(step-bindir)/make-version.sh > $@
+
+
+# should this be in Rules?
+configure: configure.in aclocal.m4
+ autoconf - < $<> $@
+ chmod +x configure
+
+localclean:
+
+local-distclean:
+
+local-maintainerclean:
+
+install-strip:
+ $(MAKE) INSTALL="$(INSTALL) -s" install
+
+install: localinstall
+ $(LOOP)
+
+localinstall:
+
+uninstall: localuninstall
+ $(LOOP)
+
+localuninstall:
+
+installextradoc:
+ -$(INSTALL) -d $(prefix)/doc/$(package)
+ $(foreach i, $(EXTRA_DOC_FILES),\
+ cp -r $(i) $(prefix)/doc/$(package) &&) true
+
+WWW: local-WWW
+ $(LOOP)
+
+include $(stepdir)/Package.make
+include $(make-dir)/Targets.make
+
+include $(outdir)/dummy.dep $(DEP_FILES)
+
+$(outdir)/dummy.dep:
+ -mkdir $(outdir)
+ touch $(outdir)/dummy.dep
+
+
+check: local-check
+ $(LOOP)
+
+local-check:
--- /dev/null
+# title generic variables
+# file make/Variables.make
+#
+# do not change this file for site-wide extensions; please use
+# make/$(outdir)/Site.make;
+#
+# Any change in files in this directory (make/) would be distributed, if
+# you do make dist
+
+# directory names:
+
+# depth from group-dir
+# not eh, normally used
+DEPTH = $(depth)/$(package-depth)
+
+topdir := $(shell cd $(depth); pwd)
+pwd := $(shell pwd)
+
+
+# derived names
+ifeq ($(distdir),)
+ distdir = $(depth)/$(outdir)/$(DIST_NAME)
+ DIST_NAME = $(package)-$(TOPLEVEL_VERSION)
+endif
+distname = $(package)-$(TOPLEVEL_VERSION)
+
+
+
+
+# obsolete?
+makeout = $(depth)/make/$(outdir)
+docout = $(depth)/Documentation/$(outdir)
+binout = $(depth)/bin/$(outdir)
+
+doc-dir = $(depth)/Documentation
+make-dir = $(depth)/make
+po-dir = $(depth)/po
+
+# -c is for copying (now set in config.make)
+# INSTALL = $(stepdir)/../bin/install-sh -c
+
+# user settings:
+#
+include $(make-dir)/Variables.make
+include $(make-dir)/User.make
+#
+
+# urg
+# sort-out which of these are still needed
+#
+$(package)_bindir = $(depth)/bin
+step-bindir = $(depth)/$(stepmake)/bin
+abs-step-bindir = $(topdir)/$(stepmake)/bin
+#
+group-dir = $(shell cd $(DEPTH)/..; pwd)
+release-dir = $(group-dir)/releases
+patch-dir = $(group-dir)/patches
+#
+# i have in $HOME/.rpmrc
+# topdir: /home/fred/usr/src/Redhat
+#
+rpm-sources = $(release-dir)
+rpm-build = $(group-dir)/RedHat/BUILD
+#
+
+# hmm
+configheader=$(outdir)/config.hh
+
+# need to be defined in local Makefiles:
+#
+FOOBAR =
+# the version:
+#
+ifneq ($(MY_PATCH_LEVEL),$(FOOBAR))
+VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL).$(MY_PATCH_LEVEL)
+else
+VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)
+endif
+
+ifneq ($(TOPLEVEL_MY_PATCH_LEVEL),$(FOOBAR))
+TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL).$(TOPLEVEL_MY_PATCH_LEVEL)
+else
+TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)
+endif
+state-vector = $(make-dir)/STATE-VECTOR
+#
+
+# clean file lists:
+#
+ERROR_LOG = 2> /dev/null
+SILENT_LOG = 2>&1 > /dev/null
+date := $(shell date +%x) #duplicated?
+
+# compile and link options:
+#
+ARFLAGS = ru
+
+INCLUDES = include $(outdir) $($(PACKAGE)_INCLUDES)
+LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) $($(PACKAGE)_LDFLAGS)
+
+MODULE_LIBES=$(addsuffix /$(outdir)/library.a, $(MODULE_LIBS))
+LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES)
+# urg: for windows ?
+# LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -lstdc++
+#
+
+# macro compiler:
+#
+M4 = m4
+#
+
+#
+LD_COMMAND = $(LD) $(LDFLAGS) -o $@
+#
+
+# dependencies:
+#
+depfile = $(outdir)/$(subst .o,.dep,$(notdir $@))#
+DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
+#
+
+
+# generic target names:
+#
+ifdef NAME
+EXECUTABLE = $(outdir)/$(NAME)$(EXE)
+else
+EXECUTABLE =
+endif
+
+EXECUTABLES = $(notdir $(EXECUTABLE))
+
+
+#
+
+#replace to do stripping of certain objects
+STRIPDEBUG=true
+
+DIST_FILES=$(EXTRA_DIST_FILES) Makefile $(ALL_SOURCES)
+DOCDIR=$(depth)/$(outdir)
+
+
+STRIP=strip --strip-debug
+ifdef stablecc
+ STABLEOBS=$(addprefix $(outdir)/,$(stablecc:.cc=.o))
+endif
+
+# substitute $(STRIP) in Site.make if you want stripping
+DO_STRIP=true
+
+
+LOOP=$(foreach i, $(SUBDIRS), $(MAKE) -C $(i) $@ &&) true
+
# Include.make
-include $(stepdir)/Variables.make
+
include $(stepdir)/Files.make
-include $(stepdir)/Targets.make
-include $(stepdir)/Rules.make
+
+#ugh ugh .
ifndef LIB_SUFFIX
LIB_SUFFIX = .a
endif
AR = ar
AR_COMMAND = $(AR) $(ARFLAGS) $@
-#
-ifeq ($(RANLIB),error)
-RANLIB_COMMAND=$(AR) ts $@
-else
-RANLIB_COMMAND=$(RANLIB) $@
-endif
+# thanks to Nelson Beebe for this trick.
+RANLIB_COMMAND=$(RANLIB) || $(AR) || true
+
# linker:
LIBRARY = $(outdir)/library.a
SHAREDLIBRARY=$(outdir)/$(LIB_PREFIX)$(NAME).so
# stepmake/Makedir.shared.make
-# urg: stuff shared between yodl/lily/stepmake
-
-LSM_FILES:= $(wildcard *.lsm.in)
-OUTLSM_FILES=$(addprefix $(outdir)/,$(basename $(LSM_FILES), .in))
-SPEC_FILES:= $(wildcard *.spec.in)
-OUTSPEC_FILES=$(addprefix $(outdir)/,$(basename $(SPEC_FILES), .in))
-
-EXTRA_DIST_FILES = $(state-vector)
-
-# these two outdir FILES are distributed, since they make sense to have
-# without running configure and make.
-OUT_DIST_FILES= $(OUTLSM_FILES) $(OUTSPEC_FILES)
-
-
-spec: $(OUTSPEC_FILES)
-$(OUTSPEC_FILES): $(depth)/VERSION
-$(OUTLSM_FILES): $(depth)/VERSION
-
-AT_FILES = $(BLURBS) #
-at-dir = $(doc-dir)/
-at-ext = .in
-
-# is this still used?
-rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README
-rpmdvis=$(rpmmudocs:.doc=.dvi)
-rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.ly)))
-
-
-localdist: $(OUTSPEC_FILES) $(OUTLSM_FILES)
+# urg: stuff shared between yodl/lily/stepmake
--- /dev/null
+
+
+spec: $(OUTSPEC_FILES)
+
+$(OUTSPEC_FILES): $(depth)/VERSION
+$(OUTLSM_FILES): $(depth)/VERSION
--- /dev/null
+
+
+# stepmake/Makedir.shared.make
+# urg: stuff shared between yodl/lily/stepmake
+
+MAKE_FILES := $(wildcard *.make)
+LSM_FILES:= $(wildcard *.lsm.in)
+OUTLSM_FILES=$(addprefix $(outdir)/,$(basename $(LSM_FILES)))
+SPEC_FILES:= $(wildcard *.spec.in)
+OUTSPEC_FILES=$(addprefix $(outdir)/,$(basename $(SPEC_FILES)))
+OUT_DIST_FILES= $(strip $(OUTLSM_FILES) $(OUTSPEC_FILES))
+
+EXTRA_DIST_FILES += $(state-vector) $(MAKE_FILES)
+
+# these two outdir FILES are distributed, since they make sense to have
+# without running configure and make.
+
+AT_FILES = $(BLURBS) #
+at-dir = $(doc-dir)/
+at-ext = .in
+
+# is this still used?
+rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README
+rpmdvis=$(rpmmudocs:.doc=.dvi)
+rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.ly)))
+
+
SUBDIRS =
#
+MAKEFILES=Makedir
+
+
# bootstrap stepmake:
#
-include $(depth)/make/Stepmake.make
-#
# gory hack: stepmake itself is a stepmake package.
default:
--- /dev/null
+
+$(outdir)/%.dvi: %.mf
+ mf $<
+ gftodvi $(basename $<)
+ mv $(basename $<).dvi $(outdir)
+ rm $(basename $<).*gf
+
+$(outdir)/%.log: %.mf
+ mf $<
+ mv $(@F) $@
+ rm $(basename $< ).*gf
+
--- /dev/null
+
+MF_FILES = $(wildcard *.mf)
+FONT_FILES = $(wildcard *[0-9].mf)
+EXTRA_DIST_FILES += $(MF_FILES)
+
-# title generic make rules
-# file make/Rules.make
-
-# this is supposed to clear all suffixes:
-.SUFFIXES:
-
-$(outdir)/%: %.m4
- $(M4) $< > $@
-
-%.dep:
- touch $@
-
-%.gz: %
- gzip -c9 $< > $@
-
-# bit docrules, these...
-$(outdir)/%.dvi: $(outdir)/%.tex
- (cd $(outdir); tex \\nonstopmode \\input $(<F))
-
-$(outdir)/%.dvi: $(outdir)/%.latex
- (cd $(outdir); \
- latex \\nonstopmode \\input $(<F);\
- bibtex $(basename $(<F));\
- latex \\nonstopmode \\input $(<F);\
- latex \\nonstopmode \\input $(<F);\
- )
-
-$(outdir)/%.ps: $(outdir)/%.dvi
- dvips -ta4 -o $@ $<
-
-
-# hmm, always include these, or include via package/make/Rules.make?
-include $(stepdir)/Substitute.make
-include $(make-dir)/Rules.make
-
-$(outdir)/%: %.in
- rm -f $@
- cat $< | $(sed-atfiles) | $(sed-atvariables) > $@
+include $(stepdir)/Generic_rules.make
--- /dev/null
+0.1.26
+0.1.26.jcn1
+0.1.26.hwn1
+0.1.26.jcn2
+0.1.26.jcn3
+0.1.27
+0.1.28
+0.1.29
+0.1.30
+0.1.32
+0.1.33
+0.1.34
+0.1.35
+0.1.36
+0.1.37
+0.1.38
+0.1.39
+0.1.40
+0.1.41
--- /dev/null
+# Scripts.make
+
+
+
+
+$(outdir)/%: %.pl
+ cat $< | $(sed-atvariables) > $@
+ chmod 755 $@
+
+#FIXME. Check for bash?
+$(outdir)/%: %.sh
+ cat $< | $(sed-atvariables) > $@
+ chmod 755 $@
+
+
+$(outdir)/%: %.py
+ cat $< | $(sed-atvariables) > $@
+ chmod 755 $@
+
--- /dev/null
+
+all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS)
--- /dev/null
+
+
+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=))
+ALL_SCRIPTS_IN = $(SH_SCRIPTS_IN) $(PERL_SCRIPTS_IN) $(PYTHON_SCRIPTS_IN)
+EXTRA_DIST_FILES += $(ALL_SCRIPTS_IN)
-# title generic make targets
-# file make/Targets.make
-.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\
- po
-
-# target all:
-#
-all: default
- $(LOOP)
-
-
-# be careful about deletion.
-clean: localclean
- -rm -f $(outdir)/*
- $(LOOP)
-
-distclean: clean
- $(LOOP)
- $(MAKE) local-distclean
-
-maintainerclean:
- $(LOOP)
- $(MAKE) local-maintainerclean
- $(MAKE) local-distclean
-
-include $(stepdir)/Po.make
-
-
-# configure:
-#
-config:
- ./$(depth)/configure
-#
-
-
-# target help:
-#
-generic-help:
- @echo -e "\
-Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\
-Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\
-\n\
-Targets:\n"
-
-help: generic-help local-help
- @echo -e "\
- all update everything\n\
- clean remove all genated stuff in $(oudir)\n\
- config rerun configure\n\
- deb build Debian package\n\
- default same as the empty target\n\
- diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\
- . Options:\n\
- . from=0.1.74\n\
- . help==\n\
- . release==\n\
- . to=0.1.74.jcn2\n\
- distclean cleaner than clean (duh)\n\
- doc update all documentation\n\
- doc++ make doc++ documentation\n\
- exe update all executables\n\
- help this help\n\
- install install programs and data (prefix=$(prefix))\n\
- lib update all libraries\n\
- release roll tarball and generate patch\n\
- rpm build RedHat package\n\
- tar same as dist\n\
- TAGS genarate tagfiles\n\
- zip build binary doze distribution\n\
-\n\
-Make may be invoked from any subdirectory\n\
-Note that all commands recurse into SUBSDIRS\n\
-"\
-#
-
-local-help:
-
-doc:
-# $(MAKE) -C $(depth)/Documentation do-doc
- $(MAKE) -C $(depth)/Documentation all
-
-
-# Ugh. C++ specific.
-doc++:
- (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz)
-
-
-
-check-state-vector:
- if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\
- echo $(TOPLEVEL_VERSION) >> $(state-vector); \
- fi
-
-
-local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES)
- mkdir $(distdir)/$(localdir)
- $(LN) $(DIST_FILES) $(distdir)/$(localdir)
-
-#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion)
-#
- if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \
- $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \
- fi
- if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \
- mkdir $(distdir)/$(localdir)/out; \
- $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \
- fi
- $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true
-
-
-
-html: $(HTML_FILES)
-
-TAGS:
- -if [ "$(TAGS_FILES)" != "" ]; then \
- etags -CT $(TAGS_FILES) || \
- ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \
- fi
-
- $(LOOP)
-
-$(outdir)/version.hh: VERSION
- sh ./$(step-bindir)/make-version.sh > $@
-
-
-# should this be in Rules?
-configure: configure.in aclocal.m4
- autoconf - < $<> $@
- chmod +x configure
-
-localclean:
-
-local-distclean:
-
-local-maintainerclean:
-
-install-strip:
- $(MAKE) INSTALL="$(INSTALL) -s" install
-
-install: localinstall
- $(LOOP)
-
-localinstall:
-
-uninstall: localuninstall
- $(LOOP)
-
-localuninstall:
-
-installextradoc:
- -$(INSTALL) -d $(prefix)/doc/$(package)
- $(foreach i, $(EXTRA_DOC_FILES),\
- cp -r $(i) $(prefix)/doc/$(package) &&) true
-
-WWW: local-WWW
- $(LOOP)
-
-include $(stepdir)/Package.make
-include $(make-dir)/Targets.make
-
-include $(outdir)/dummy.dep $(DEP_FILES)
-
-$(outdir)/dummy.dep:
- -mkdir $(outdir)
- touch $(outdir)/dummy.dep
-
-
-check: local-check
- $(LOOP)
-
-local-check:
+include $(stepdir)/Generic_targets.make
$(MAKE) CONFIGSUFFIX='www' local-WWW
$(MAKE) CONFIGSUFFIX='www' -C Documentation WWW
rm -f `find . -name \*.html~ -print`
- tar cfz $(outdir)/htmldoc.tar.gz `find Documentation -type d -name 'out-www' -print` index.html $(shell ls *.gif $(ERRORLOG))
+ find `find Documentation -type d -name 'out-www'` -not -name '*dvi' -not -name '*ly' -not -name '*tex' -not -name '*.ps' -not -name 'out-www' > wwwlist
+
+ tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` $(shell ls *.gif $(ERRORLOG))
+
# if you fix this, please fix yodl too!
-# title generic variables
-# file make/Variables.make
-#
-# do not change this file for site-wide extensions; please use
-# make/$(outdir)/Site.make;
-#
-# Any change in files in this directory (make/) would be distributed, if
-# you do make dist
-
-# directory names:
-
-# depth from group-dir
-# not eh, normally used
-DEPTH = $(depth)/$(package-depth)
-
-topdir := $(shell cd $(depth); pwd)
-pwd := $(shell pwd)
-
-
-ifdef CONFIGSUFFIX
-outdir=out-$(CONFIGSUFFIX)
-else
-outdir=out
-endif
-
-# derived names
-ifeq ($(distdir),)
- distdir = $(depth)/$(outdir)/$(DIST_NAME)
- DIST_NAME = $(package)-$(TOPLEVEL_VERSION)
-endif
-distname = $(package)-$(TOPLEVEL_VERSION)
-
-depdir = $(outdir)
-
-
-
-# obsolete?
-makeout = $(depth)/make/$(outdir)
-docout = $(depth)/Documentation/$(outdir)
-binout = $(depth)/bin/$(outdir)
-
-doc-dir = $(depth)/Documentation
-make-dir = $(depth)/make
-po-dir = $(depth)/po
-
-# -c is for copying (now set in config.make)
-# INSTALL = $(stepdir)/../bin/install-sh -c
-
-# user settings:
-#
-include $(make-dir)/Variables.make
-include $(make-dir)/User.make
-#
-
-# urg
-# sort-out which of these are still needed
-#
-$(package)_bindir = $(depth)/bin
-step-bindir = $(depth)/$(stepmake)/bin
-abs-step-bindir = $(topdir)/$(stepmake)/bin
-#
-group-dir = $(shell cd $(DEPTH)/..; pwd)
-release-dir = $(group-dir)/releases
-patch-dir = $(group-dir)/patches
-#
-# i have in $HOME/.rpmrc
-# topdir: /home/fred/usr/src/Redhat
-#
-rpm-sources = $(release-dir)
-rpm-build = $(group-dir)/RedHat/BUILD
-#
-
-# hmm
-configheader=$(outdir)/config.hh
-
-# need to be defined in local Makefiles:
-#
-FOOBAR =
-# the version:
-#
-ifneq ($(MY_PATCH_LEVEL),$(FOOBAR))
-VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL).$(MY_PATCH_LEVEL)
-else
-VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)
-endif
-
-ifneq ($(TOPLEVEL_MY_PATCH_LEVEL),$(FOOBAR))
-TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL).$(TOPLEVEL_MY_PATCH_LEVEL)
-else
-TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL)
-endif
-state-vector = $(make-dir)/STATE-VECTOR
-#
-
-# clean file lists:
-#
-ERROR_LOG = 2> /dev/null
-SILENT_LOG = 2>&1 > /dev/null
-date := $(shell date +%x) #duplicated?
-
-# compile and link options:
-#
-ARFLAGS = ru
-
-INCLUDES = -Iinclude -I$(outdir) $($(PACKAGE)_INCLUDES)
-LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) $($(PACKAGE)_LDFLAGS)
-
-MODULE_LIBES=$(addsuffix /$(outdir)/library.a, $(MODULE_LIBS))
-LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES)
-# urg: for windows ?
-# LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -lstdc++
-#
-
-# macro compiler:
-#
-M4 = m4
-#
-
-#
-LD_COMMAND = $(LD) $(LDFLAGS) -o $@
-#
-
-# dependencies:
-#
-depfile = $(depdir)/$(subst .o,.dep,$(notdir $@))#
-DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)"
-#
-
-
-# generic target names:
-#
-ifdef NAME
-EXECUTABLE = $(outdir)/$(NAME)$(EXE)
-else
-EXECUTABLE =
-endif
-
-EXECUTABLES = $(notdir $(EXECUTABLE))
-
-
-#
-
-#replace to do stripping of certain objects
-STRIPDEBUG=true
-
-DIST_FILES=$(EXTRA_DIST_FILES) Makefile $(ALL_SOURCES)
-DOCDIR=$(depth)/$(outdir)
-
-
-STRIP=strip --strip-debug
-ifdef stablecc
- STABLEOBS=$(addprefix $(outdir)/,$(stablecc:.cc=.o))
-endif
-
-# substitute $(STRIP) in Site.make if you want stripping
-DO_STRIP=true
-
-
-LOOP=$(foreach i, $(SUBDIRS), $(MAKE) -C $(i) $@ &&) true
+include $(stepdir)/Generic_vars.make
MODULE_NAME = lily-test
MODULE_CXXFLAGS = -I$(depth)/flower/include -I$(depth)/flower -I$(depth)/lily/include -I$(depth)/lily
+MAKEFILES=C++
include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
-
-EXTRA_DIST_FILES = VERSION
# default: $(EXECUTABLE)
depth = ..
-include $(depth)/make/Stepmake.make
TEX_FILES = $(wildcard *.tex)
-DIST_FILES = Makefile $(TEX_FILES)
+EXTRA_DIST_FILES = $(TEX_FILES)
INSTALLATION_DIR=$(TEXDIR)/lilypond
INSTALLATION_FILES=$(TEX_FILES)
+include $(depth)/make/Stepmake.make
include $(stepdir)/Installfiles.make
\def\fatdoublebar#1{\hbox{\phantom{\repeatcolon\kern2\smallspace}\thickbar{#1}\kern\smallspace\thickbar{#1}}}
-\def\stem#1#2{\hbox{\kern -.5\stemthickness
- \vrule width\stemthickness height#2 depth-#1}}
-
% ugh
% see e.g. input/test/beam-pos.ly