From 29f9b2a28345c2ac50bcab8ffbb4a2a1235af1f4 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 20:13:44 +0000 Subject: [PATCH] lilypond-1.0.3 --- Documentation/CodingStyle.yo | 3 +- Documentation/Makefile | 15 +- Documentation/links.yo | 2 +- Documentation/man/Makefile | 10 +- Documentation/pictures/Makefile | 7 +- Documentation/tex/Makefile | 10 +- Documentation/topdocs/Makefile | 12 +- Documentation/topdocs/README.yo | 2 +- buildscripts/Makefile | 5 +- buildscripts/ps-to-gifs.sh | 2 +- debian/Makefile | 16 +- flower/Makefile | 4 +- flower/include/Makefile | 3 +- init/Makefile | 8 +- init/params.ly | 1 + input/Makefile | 7 +- input/bugs/Makefile | 5 +- input/test/Makefile | 7 +- lib/Makefile | 3 +- lib/include/Makefile | 3 +- lily/Makefile | 9 +- lily/include/Makefile | 3 +- lily/key-engraver.cc | 1 + lily/key-item.cc | 2 +- lily/lookup.cc | 9 +- lily/p-score.cc | 8 - make/Lilypond_vars.make | 6 + make/Makefile | 8 +- make/Mutopia.make | 38 - make/Mutopia_rules.make | 26 + make/Mutopia_targets.make | 9 + make/Mutopia_vars.make | 27 + make/Stepmake.make | 21 +- make/Targets.make | 17 - make/Toplevel.make.in | 6 +- make/Variables.make | 31 +- make/lelievijver.lsm.in | 6 +- make/lilypond.lsm.in | 6 +- make/lilypond.spec.in | 4 +- mf/Makefile | 6 +- mi2mu/Makefile | 4 +- mi2mu/include/Makefile | 3 +- mi2mu/include/mudela-staff.hh | 44 +- mi2mu/mudela-score.cc | 3 +- mi2mu/mudela-staff.cc | 23 +- mutopia/Coriolan/Makefile | 7 +- mutopia/J.S.Bach/Makefile | 9 +- mutopia/J.S.Bach/Petites-Preludes/Makefile | 6 +- mutopia/J.S.Bach/Solo-Cello-Suites/Makefile | 6 +- mutopia/Makefile | 6 +- mutopia/W.A.Mozart/Makefile | 6 +- scripts/Makefile | 11 +- scripts/ly2dvi32.py | 767 +++++++++++++++++++ stepmake/Documentation/Makefile | 6 +- stepmake/Documentation/topdocs/Makefile | 13 +- stepmake/NEWS | 2 + stepmake/VERSION | 2 +- stepmake/bin/Makefile | 6 +- stepmake/make/Makefile | 5 +- stepmake/make/Stepmake.make | 16 + stepmake/make/Toplevel.make.in | 4 +- stepmake/stepmake/C++.make | 1 - stepmake/stepmake/C++_files.make | 13 - stepmake/stepmake/C++_targets.make | 1 + stepmake/stepmake/C++_vars.make | 13 +- stepmake/stepmake/C.make | 20 +- stepmake/stepmake/C_targets.make | 1 + stepmake/stepmake/C_vars.make | 22 + stepmake/stepmake/Documentation.shared.make | 41 +- stepmake/stepmake/Documentation_targets.make | 37 + stepmake/stepmake/Documentation_vars.make | 25 + stepmake/stepmake/Executable.make | 33 +- stepmake/stepmake/Executable_rules.make | 1 + stepmake/stepmake/Executable_targets.make | 34 + stepmake/stepmake/Executable_vars.make | 1 + stepmake/stepmake/Files.make | 10 +- stepmake/stepmake/Generic_rules.make | 39 + stepmake/stepmake/Generic_targets.make | 173 +++++ stepmake/stepmake/Generic_vars.make | 153 ++++ stepmake/stepmake/Include.make | 4 +- stepmake/stepmake/Library_rules.make | 1 + stepmake/stepmake/Library_vars.make | 11 +- stepmake/stepmake/Makedir.shared.make | 30 +- stepmake/stepmake/Makedir_rules.make | 1 + stepmake/stepmake/Makedir_targets.make | 6 + stepmake/stepmake/Makedir_vars.make | 27 + stepmake/stepmake/Makefile | 4 +- stepmake/stepmake/Metafont_rules.make | 12 + stepmake/stepmake/Metafont_targets.make | 1 + stepmake/stepmake/Metafont_vars.make | 5 + stepmake/stepmake/Rules.make | 39 +- stepmake/stepmake/STATE-VECTOR | 19 + stepmake/stepmake/Script_rules.make | 19 + stepmake/stepmake/Script_targets.make | 2 + stepmake/stepmake/Script_vars.make | 10 + stepmake/stepmake/Targets.make | 172 +---- stepmake/stepmake/Toplevel.make | 5 +- stepmake/stepmake/Variables.make | 160 +--- test/Makefile | 4 +- tex/Makefile | 4 +- tex/lilyponddefs.tex | 3 - 101 files changed, 1676 insertions(+), 798 deletions(-) create mode 100644 make/Lilypond_vars.make create mode 100644 make/Mutopia_rules.make create mode 100644 make/Mutopia_targets.make create mode 100644 make/Mutopia_vars.make create mode 100644 scripts/ly2dvi32.py create mode 100644 stepmake/stepmake/C++_targets.make create mode 100644 stepmake/stepmake/C_targets.make create mode 100644 stepmake/stepmake/C_vars.make create mode 100644 stepmake/stepmake/Documentation_targets.make create mode 100644 stepmake/stepmake/Documentation_vars.make create mode 100644 stepmake/stepmake/Executable_rules.make create mode 100644 stepmake/stepmake/Executable_targets.make create mode 100644 stepmake/stepmake/Executable_vars.make create mode 100644 stepmake/stepmake/Generic_rules.make create mode 100644 stepmake/stepmake/Generic_targets.make create mode 100644 stepmake/stepmake/Generic_vars.make create mode 100644 stepmake/stepmake/Library_rules.make create mode 100644 stepmake/stepmake/Makedir_rules.make create mode 100644 stepmake/stepmake/Makedir_targets.make create mode 100644 stepmake/stepmake/Makedir_vars.make create mode 100644 stepmake/stepmake/Metafont_rules.make create mode 100644 stepmake/stepmake/Metafont_targets.make create mode 100644 stepmake/stepmake/Metafont_vars.make create mode 100644 stepmake/stepmake/STATE-VECTOR create mode 100644 stepmake/stepmake/Script_rules.make create mode 100644 stepmake/stepmake/Script_targets.make create mode 100644 stepmake/stepmake/Script_vars.make diff --git a/Documentation/CodingStyle.yo b/Documentation/CodingStyle.yo index fb74fdfc2e..0399384be6 100644 --- a/Documentation/CodingStyle.yo +++ b/Documentation/CodingStyle.yo @@ -38,7 +38,8 @@ this is to rewrite the program. 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) diff --git a/Documentation/Makefile b/Documentation/Makefile index 5b2a1f6023..25cf1d4f76 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -4,20 +4,19 @@ depth = .. 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 diff --git a/Documentation/links.yo b/Documentation/links.yo index d0b9a87ca7..da883c4a68 100644 --- a/Documentation/links.yo +++ b/Documentation/links.yo @@ -56,7 +56,7 @@ At this moment we have about one development-patchlevel per week. 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) diff --git a/Documentation/man/Makefile b/Documentation/man/Makefile index 1460196b88..498473b194 100644 --- a/Documentation/man/Makefile +++ b/Documentation/man/Makefile @@ -2,11 +2,7 @@ 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))) @@ -15,10 +11,14 @@ OUTTEXINFO_FILES= $(addprefix $(outdir)/, $(addsuffix .texinfo,$(basename $(YO_F OUT_DIST_FILES += $(MANGROFF) +include $(depth)/make/Stepmake.make + default: $(MANGROFF) texinfo: $(OUTTEXINFO_FILES) + + INSTALLATION_OUT_FILES=$(MANGROFF) INSTALLATION_OUT_DIR=$(mandir)/man$(SECTION) diff --git a/Documentation/pictures/Makefile b/Documentation/pictures/Makefile index e1c41866c5..e1826fa4b0 100644 --- a/Documentation/pictures/Makefile +++ b/Documentation/pictures/Makefile @@ -1,12 +1,13 @@ 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) diff --git a/Documentation/tex/Makefile b/Documentation/tex/Makefile index a441b89d7c..4cc34a44a4 100644 --- a/Documentation/tex/Makefile +++ b/Documentation/tex/Makefile @@ -2,11 +2,6 @@ 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) @@ -18,6 +13,11 @@ EXTRA_DIST_FILES= $(BIB_FILES) $(DOC_FILES) $(DATA_FILES) $(EL_FILES) 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) diff --git a/Documentation/topdocs/Makefile b/Documentation/topdocs/Makefile index c8c180d1d2..53a8a262d0 100644 --- a/Documentation/topdocs/Makefile +++ b/Documentation/topdocs/Makefile @@ -2,17 +2,20 @@ 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 @@ -25,7 +28,6 @@ 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 diff --git a/Documentation/topdocs/README.yo b/Documentation/topdocs/README.yo index 9b6b21dd9b..564d9ff917 100644 --- a/Documentation/topdocs/README.yo +++ b/Documentation/topdocs/README.yo @@ -67,7 +67,7 @@ sect(DOZE) 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. diff --git a/buildscripts/Makefile b/buildscripts/Makefile index 7832495f3c..11751d2f22 100644 --- a/buildscripts/Makefile +++ b/buildscripts/Makefile @@ -1,13 +1,12 @@ # bin/Makefile depth = .. +MAKEFILES=Script include $(depth)/make/Stepmake.make -default: -EXTRA_DIST_FILES = ltconfig -include $(stepdir)/Script_files.make + diff --git a/buildscripts/ps-to-gifs.sh b/buildscripts/ps-to-gifs.sh index a2e9e26be9..675d40e91f 100644 --- a/buildscripts/ps-to-gifs.sh +++ b/buildscripts/ps-to-gifs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # ps-to-gifs, convert PS to multiple gifs usage() diff --git a/debian/Makefile b/debian/Makefile index 4c736d9bb6..a72baf011d 100644 --- a/debian/Makefile +++ b/debian/Makefile @@ -3,21 +3,21 @@ 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 $@ diff --git a/flower/Makefile b/flower/Makefile index e6ef878895..3d71e4e3ef 100644 --- a/flower/Makefile +++ b/flower/Makefile @@ -12,9 +12,9 @@ SUBDIRS = include 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 diff --git a/flower/include/Makefile b/flower/include/Makefile index 283e1fadcd..8e6af341b3 100644 --- a/flower/include/Makefile +++ b/flower/include/Makefile @@ -2,7 +2,8 @@ depth = ../.. +MAKEFILES=C++ + include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make diff --git a/init/Makefile b/init/Makefile index 8a72a4fd0e..396cea26a9 100644 --- a/init/Makefile +++ b/init/Makefile @@ -2,14 +2,16 @@ 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 diff --git a/init/params.ly b/init/params.ly index 888ccbf9b8..677ebbfbc6 100644 --- a/init/params.ly +++ b/init/params.ly @@ -76,6 +76,7 @@ notewidth = (\quartwidth + \wholewidth) / 2.0; % ugh barsize = \staffheight; rulethickness = \staffline; +stemthickness = \staffline; % uhm unitspace = 22.\pt; diff --git a/input/Makefile b/input/Makefile index 1919c9e343..90fade98c1 100644 --- a/input/Makefile +++ b/input/Makefile @@ -4,14 +4,13 @@ depth = .. 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))) diff --git a/input/bugs/Makefile b/input/bugs/Makefile index 369ff9045a..b6d250531e 100644 --- a/input/bugs/Makefile +++ b/input/bugs/Makefile @@ -2,10 +2,7 @@ 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 diff --git a/input/test/Makefile b/input/test/Makefile index e09e760108..4e5503bec8 100644 --- a/input/test/Makefile +++ b/input/test/Makefile @@ -1,11 +1,8 @@ # 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 diff --git a/lib/Makefile b/lib/Makefile index 8b95c0a8c1..93e2b14a67 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -6,9 +6,8 @@ NAME = lily 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 diff --git a/lib/include/Makefile b/lib/include/Makefile index 5dba771ec9..cfe217044e 100644 --- a/lib/include/Makefile +++ b/lib/include/Makefile @@ -1,8 +1,9 @@ # lib/include/Makefile depth = ../.. +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make + diff --git a/lily/Makefile b/lily/Makefile index 7da45565b8..d5464bf147 100644 --- a/lily/Makefile +++ b/lily/Makefile @@ -9,12 +9,9 @@ SUBDIRS = include 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 @@ -26,5 +23,7 @@ $(outdir)/lily-version.o: $(outdir)/version.hh $(outdir)/main.o: $(outdir)/BLURB.hh $(outdir)/COPERTINA.hh $(outdir)/FLAPTEKST.hh +# ugh . -> $(outdir) VERSION: $(depth)/VERSION cp $< $@ + diff --git a/lily/include/Makefile b/lily/include/Makefile index 828589fd94..a9ebc88ea5 100644 --- a/lily/include/Makefile +++ b/lily/include/Makefile @@ -1,7 +1,8 @@ # lily/include/Makefile depth = ../.. +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make + diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 7772f0e718..fce50bd7ad 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -179,6 +179,7 @@ Key_engraver::do_post_move_processing () { keyreq_l_ = 0; default_key_b_ = false; + old_accidental_idx_arr_.clear (); } diff --git a/lily/key-item.cc b/lily/key-item.cc index 94645d20c2..58a91cac61 100644 --- a/lily/key-item.cc +++ b/lily/key-item.cc @@ -32,7 +32,7 @@ Key_item::read (Key_engraver const & key_grav_r) { multi_octave_b_ = key_grav_r.key_.multi_octave_b_; const Array &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_) diff --git a/lily/lookup.cc b/lily/lookup.cc index 0d21c2c448..7625507554 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -308,10 +308,15 @@ Lookup::stem (Real y1,Real y2) const s.dim_.y() = Interval (y1,y2); Array 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; diff --git a/lily/p-score.cc b/lily/p-score.cc index bd7ec060e0..af2300881c 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -131,10 +131,6 @@ Paper_score::set_breaking (Array const &breaking) || !((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 @@ -149,10 +145,6 @@ Paper_score::set_breaking (Array const &breaking) { 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 diff --git a/make/Lilypond_vars.make b/make/Lilypond_vars.make new file mode 100644 index 0000000000..1452731b2d --- /dev/null +++ b/make/Lilypond_vars.make @@ -0,0 +1,6 @@ + +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 + diff --git a/make/Makefile b/make/Makefile index 7514481657..dec2c68008 100644 --- a/make/Makefile +++ b/make/Makefile @@ -1,9 +1,13 @@ # file make/Makefile depth = .. +BLURBS=BLURB COPERTINA FLAPTEKST +MAKEFILES=Makedir + include $(depth)/make/Stepmake.make -BLURBS=BLURB COPERTINA FLAPTEKST -include $(stepdir)/Makedir.shared.make + + + diff --git a/make/Mutopia.make b/make/Mutopia.make index db95a60b66..1c541ee636 100644 --- a/make/Mutopia.make +++ b/make/Mutopia.make @@ -1,41 +1,3 @@ # 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) diff --git a/make/Mutopia_rules.make b/make/Mutopia_rules.make new file mode 100644 index 0000000000..0b16e7e68a --- /dev/null +++ b/make/Mutopia_rules.make @@ -0,0 +1,26 @@ + + +$(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) diff --git a/make/Mutopia_targets.make b/make/Mutopia_targets.make new file mode 100644 index 0000000000..4aa51ff017 --- /dev/null +++ b/make/Mutopia_targets.make @@ -0,0 +1,9 @@ + + +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 diff --git a/make/Mutopia_vars.make b/make/Mutopia_vars.make new file mode 100644 index 0000000000..b05154a30c --- /dev/null +++ b/make/Mutopia_vars.make @@ -0,0 +1,27 @@ + +# 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)) diff --git a/make/Stepmake.make b/make/Stepmake.make index 883b34e040..c8c827e18a 100644 --- a/make/Stepmake.make +++ b/make/Stepmake.make @@ -15,12 +15,31 @@ endif 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) + + diff --git a/make/Targets.make b/make/Targets.make index 1d7f67bb1c..f2b55fbaeb 100644 --- a/make/Targets.make +++ b/make/Targets.make @@ -2,23 +2,6 @@ # 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 $< $@ diff --git a/make/Toplevel.make.in b/make/Toplevel.make.in index 0784604257..b09aa86c77 100644 --- a/make/Toplevel.make.in +++ b/make/Toplevel.make.in @@ -9,7 +9,7 @@ depth = . # 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 @@ -28,8 +28,6 @@ include $(depth)/make/Stepmake.make # list of distribution files: # - - include $(stepdir)/Toplevel.make aclocal.m4: $(stepdir)/../aclocal.m4 @@ -43,7 +41,7 @@ examples: 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 diff --git a/make/Variables.make b/make/Variables.make index 82a5199a8c..a547619332 100644 --- a/make/Variables.make +++ b/make/Variables.make @@ -8,12 +8,6 @@ # 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 @@ -25,32 +19,9 @@ make-dir = $(depth)/make 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 = diff --git a/make/lelievijver.lsm.in b/make/lelievijver.lsm.in index 2e25e2a863..f05d79bff1 100644 --- a/make/lelievijver.lsm.in +++ b/make/lelievijver.lsm.in @@ -8,8 +8,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys) 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 diff --git a/make/lilypond.lsm.in b/make/lilypond.lsm.in index b7b4b25bce..efaa469901 100644 --- a/make/lilypond.lsm.in +++ b/make/lilypond.lsm.in @@ -8,8 +8,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) 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 diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 44d76f6feb..e093972cad 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -3,8 +3,8 @@ Version: @TOPLEVEL_VERSION@ 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 Icon: @package@-icon.gif diff --git a/mf/Makefile b/mf/Makefile index 407ce8ea27..11418e32e9 100644 --- a/mf/Makefile +++ b/mf/Makefile @@ -2,10 +2,8 @@ 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) @@ -19,6 +17,8 @@ ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES) OUT_DIST_FILES += $(AFM_FILES) +include $(depth)/make/Stepmake.make + default: $(ALL_GEN_FILES) diff --git a/mi2mu/Makefile b/mi2mu/Makefile index 012024b932..6b6d9552bd 100644 --- a/mi2mu/Makefile +++ b/mi2mu/Makefile @@ -10,9 +10,9 @@ SUBDIRS = include 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?) # diff --git a/mi2mu/include/Makefile b/mi2mu/include/Makefile index b23f26fb30..3f9a0ac423 100644 --- a/mi2mu/include/Makefile +++ b/mi2mu/include/Makefile @@ -1,7 +1,6 @@ # lib/include/Makefile depth = ../.. - +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make diff --git a/mi2mu/include/mudela-staff.hh b/mi2mu/include/mudela-staff.hh index 4608e0859c..4b4fd75c60 100644 --- a/mi2mu/include/mudela-staff.hh +++ b/mi2mu/include/mudela-staff.hh @@ -14,32 +14,28 @@ /// (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& 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& 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_p_list_; - Pointer_list mudela_item_p_list_; + void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i); + + Pointer_list mudela_voice_p_list_; + Pointer_list mudela_item_p_list_; }; #endif // MUDELA_STAFF_HH diff --git a/mi2mu/mudela-score.cc b/mi2mu/mudela-score.cc index 92329cd74d..b7e234b97d 100644 --- a/mi2mu/mudela-score.cc +++ b/mi2mu/mudela-score.cc @@ -110,6 +110,7 @@ Mudela_score::get_column_l (Moment mom) return c; } + void Mudela_score::output (String filename_str) { @@ -138,7 +139,7 @@ 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"; diff --git a/mi2mu/mudela-staff.cc b/mi2mu/mudela-staff.cc index d6995e532a..5b326d966d 100644 --- a/mi2mu/mudela-staff.cc +++ b/mi2mu/mudela-staff.cc @@ -75,12 +75,17 @@ Mudela_staff::eat_voice (Link_list& items) 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 @@ -88,13 +93,15 @@ Mudela_staff::name_str() { 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'; diff --git a/mutopia/Coriolan/Makefile b/mutopia/Coriolan/Makefile index 4363beefe8..6fcbed0202 100644 --- a/mutopia/Coriolan/Makefile +++ b/mutopia/Coriolan/Makefile @@ -2,12 +2,11 @@ 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 diff --git a/mutopia/J.S.Bach/Makefile b/mutopia/J.S.Bach/Makefile index 2b734e09c6..1c0dfadef2 100644 --- a/mutopia/J.S.Bach/Makefile +++ b/mutopia/J.S.Bach/Makefile @@ -3,12 +3,11 @@ 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 + diff --git a/mutopia/J.S.Bach/Petites-Preludes/Makefile b/mutopia/J.S.Bach/Petites-Preludes/Makefile index 1a1020a879..0abaee2e49 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/Makefile +++ b/mutopia/J.S.Bach/Petites-Preludes/Makefile @@ -2,11 +2,9 @@ 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 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile b/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile index 5f925d1657..95b05a7a44 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile @@ -2,11 +2,9 @@ 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 diff --git a/mutopia/Makefile b/mutopia/Makefile index f788a82724..b4ab368841 100644 --- a/mutopia/Makefile +++ b/mutopia/Makefile @@ -4,13 +4,13 @@ depth = .. 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 diff --git a/mutopia/W.A.Mozart/Makefile b/mutopia/W.A.Mozart/Makefile index 92a284a431..d6b63889f1 100644 --- a/mutopia/W.A.Mozart/Makefile +++ b/mutopia/W.A.Mozart/Makefile @@ -2,9 +2,9 @@ depth = ../.. +examples=cadenza +LOCALMAKEFILES=Mutopia + include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make -examples=cadenza -include $(stepdir)/WWW.make diff --git a/scripts/Makefile b/scripts/Makefile index 17ce13c80c..34f2344189 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,15 +1,12 @@ # 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 diff --git a/scripts/ly2dvi32.py b/scripts/ly2dvi32.py new file mode 100644 index 0000000000..088d94b722 --- /dev/null +++ b/scripts/ly2dvi32.py @@ -0,0 +1,767 @@ +#!@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() + + + + + + + diff --git a/stepmake/Documentation/Makefile b/stepmake/Documentation/Makefile index 0c43e2f1a8..6eacb8bf01 100644 --- a/stepmake/Documentation/Makefile +++ b/stepmake/Documentation/Makefile @@ -2,15 +2,15 @@ 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 diff --git a/stepmake/Documentation/topdocs/Makefile b/stepmake/Documentation/topdocs/Makefile index 64f14835a2..45af32d7f0 100644 --- a/stepmake/Documentation/topdocs/Makefile +++ b/stepmake/Documentation/topdocs/Makefile @@ -7,16 +7,17 @@ BLURBS=BLURB #COPERTINA FLAPTEKST 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 @@ -28,8 +29,6 @@ $(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 diff --git a/stepmake/NEWS b/stepmake/NEWS index 5d3ecc36f7..5578428a8c 100644 --- a/stepmake/NEWS +++ b/stepmake/NEWS @@ -1,3 +1,5 @@ +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 diff --git a/stepmake/VERSION b/stepmake/VERSION index 89e1366795..eea0d29e8b 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ 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: diff --git a/stepmake/bin/Makefile b/stepmake/bin/Makefile index 5ef2288376..918a59c1bc 100644 --- a/stepmake/bin/Makefile +++ b/stepmake/bin/Makefile @@ -2,9 +2,9 @@ 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 diff --git a/stepmake/make/Makefile b/stepmake/make/Makefile index 719d05f303..324c7971d2 100644 --- a/stepmake/make/Makefile +++ b/stepmake/make/Makefile @@ -1,9 +1,10 @@ # file make/Makefile depth = .. +MAKEFILES=Makedir +BLURBS=BLURB # COPERTINA FLAPTEKST include $(depth)/make/Stepmake.make -BLURBS=BLURB # COPERTINA FLAPTEKST -include $(stepdir)/Makedir.shared.make + diff --git a/stepmake/make/Stepmake.make b/stepmake/make/Stepmake.make index a1e6cdbe92..078bc3749e 100644 --- a/stepmake/make/Stepmake.make +++ b/stepmake/make/Stepmake.make @@ -15,6 +15,22 @@ endif 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))) + diff --git a/stepmake/make/Toplevel.make.in b/stepmake/make/Toplevel.make.in index 244f56d24e..67555b6665 100644 --- a/stepmake/make/Toplevel.make.in +++ b/stepmake/make/Toplevel.make.in @@ -13,7 +13,6 @@ SUBDIRS = bin make stepmake Documentation # bootstrap stepmake: # -include $(depth)/make/Stepmake.make # # list of distribution files: @@ -26,11 +25,12 @@ NON_ESSENTIAL_DIST_FILES = $(README_TXT_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 diff --git a/stepmake/stepmake/C++.make b/stepmake/stepmake/C++.make index 8f39b4e0ad..3e4b58dee1 100644 --- a/stepmake/stepmake/C++.make +++ b/stepmake/stepmake/C++.make @@ -1,4 +1,3 @@ include $(stepdir)/C++_rules.make include $(stepdir)/C++_vars.make -include $(stepdir)/C++_files.make diff --git a/stepmake/stepmake/C++_files.make b/stepmake/stepmake/C++_files.make index d61a475a63..8b13789179 100644 --- a/stepmake/stepmake/C++_files.make +++ b/stepmake/stepmake/C++_files.make @@ -1,14 +1 @@ -# -# 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) diff --git a/stepmake/stepmake/C++_targets.make b/stepmake/stepmake/C++_targets.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/C++_targets.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/C++_vars.make b/stepmake/stepmake/C++_vars.make index 889b3f6c21..f3d84a90ac 100644 --- a/stepmake/stepmake/C++_vars.make +++ b/stepmake/stepmake/C++_vars.make @@ -7,8 +7,19 @@ 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) diff --git a/stepmake/stepmake/C.make b/stepmake/stepmake/C.make index 2548c77b55..795296f6f0 100644 --- a/stepmake/stepmake/C.make +++ b/stepmake/stepmake/C.make @@ -1,24 +1,6 @@ -# 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) diff --git a/stepmake/stepmake/C_targets.make b/stepmake/stepmake/C_targets.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/C_targets.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/C_vars.make b/stepmake/stepmake/C_vars.make new file mode 100644 index 0000000000..47d2eb7f41 --- /dev/null +++ b/stepmake/stepmake/C_vars.make @@ -0,0 +1,22 @@ + +# 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) diff --git a/stepmake/stepmake/Documentation.shared.make b/stepmake/stepmake/Documentation.shared.make index 1a29861d79..772bf32586 100644 --- a/stepmake/stepmake/Documentation.shared.make +++ b/stepmake/stepmake/Documentation.shared.make @@ -5,44 +5,5 @@ ### 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 - diff --git a/stepmake/stepmake/Documentation_targets.make b/stepmake/stepmake/Documentation_targets.make new file mode 100644 index 0000000000..cdf708b10e --- /dev/null +++ b/stepmake/stepmake/Documentation_targets.make @@ -0,0 +1,37 @@ + + +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 + diff --git a/stepmake/stepmake/Documentation_vars.make b/stepmake/stepmake/Documentation_vars.make new file mode 100644 index 0000000000..465ab3d5b5 --- /dev/null +++ b/stepmake/stepmake/Documentation_vars.make @@ -0,0 +1,25 @@ +# 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) diff --git a/stepmake/stepmake/Executable.make b/stepmake/stepmake/Executable.make index 3feadc553a..ae4493f720 100644 --- a/stepmake/stepmake/Executable.make +++ b/stepmake/stepmake/Executable.make @@ -1,34 +1,3 @@ # 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 diff --git a/stepmake/stepmake/Executable_rules.make b/stepmake/stepmake/Executable_rules.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Executable_rules.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Executable_targets.make b/stepmake/stepmake/Executable_targets.make new file mode 100644 index 0000000000..3feadc553a --- /dev/null +++ b/stepmake/stepmake/Executable_targets.make @@ -0,0 +1,34 @@ +# 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 diff --git a/stepmake/stepmake/Executable_vars.make b/stepmake/stepmake/Executable_vars.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Executable_vars.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Files.make b/stepmake/stepmake/Files.make index 2c2ede8dac..0d42a59707 100644 --- a/stepmake/stepmake/Files.make +++ b/stepmake/stepmake/Files.make @@ -1,23 +1,17 @@ # 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=%)) diff --git a/stepmake/stepmake/Generic_rules.make b/stepmake/stepmake/Generic_rules.make new file mode 100644 index 0000000000..97e210c959 --- /dev/null +++ b/stepmake/stepmake/Generic_rules.make @@ -0,0 +1,39 @@ +# 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 $( $@ + diff --git a/stepmake/stepmake/Generic_targets.make b/stepmake/stepmake/Generic_targets.make new file mode 100644 index 0000000000..f701a37f47 --- /dev/null +++ b/stepmake/stepmake/Generic_targets.make @@ -0,0 +1,173 @@ +# 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: diff --git a/stepmake/stepmake/Generic_vars.make b/stepmake/stepmake/Generic_vars.make new file mode 100644 index 0000000000..b10f737237 --- /dev/null +++ b/stepmake/stepmake/Generic_vars.make @@ -0,0 +1,153 @@ +# 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 + diff --git a/stepmake/stepmake/Include.make b/stepmake/stepmake/Include.make index 61f6eff329..5566cc802c 100644 --- a/stepmake/stepmake/Include.make +++ b/stepmake/stepmake/Include.make @@ -1,7 +1,5 @@ # Include.make -include $(stepdir)/Variables.make + include $(stepdir)/Files.make -include $(stepdir)/Targets.make -include $(stepdir)/Rules.make diff --git a/stepmake/stepmake/Library_rules.make b/stepmake/stepmake/Library_rules.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Library_rules.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Library_vars.make b/stepmake/stepmake/Library_vars.make index f488bfb07e..c749adb538 100644 --- a/stepmake/stepmake/Library_vars.make +++ b/stepmake/stepmake/Library_vars.make @@ -1,3 +1,5 @@ + +#ugh ugh . ifndef LIB_SUFFIX LIB_SUFFIX = .a endif @@ -9,12 +11,9 @@ LIB_PREFIX = lib 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 diff --git a/stepmake/stepmake/Makedir.shared.make b/stepmake/stepmake/Makedir.shared.make index aee95bf5ee..a693a1e16d 100644 --- a/stepmake/stepmake/Makedir.shared.make +++ b/stepmake/stepmake/Makedir.shared.make @@ -1,31 +1,3 @@ # 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 diff --git a/stepmake/stepmake/Makedir_rules.make b/stepmake/stepmake/Makedir_rules.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/Makedir_rules.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/Makedir_targets.make b/stepmake/stepmake/Makedir_targets.make new file mode 100644 index 0000000000..341229447c --- /dev/null +++ b/stepmake/stepmake/Makedir_targets.make @@ -0,0 +1,6 @@ + + +spec: $(OUTSPEC_FILES) + +$(OUTSPEC_FILES): $(depth)/VERSION +$(OUTLSM_FILES): $(depth)/VERSION diff --git a/stepmake/stepmake/Makedir_vars.make b/stepmake/stepmake/Makedir_vars.make new file mode 100644 index 0000000000..adb1733f4c --- /dev/null +++ b/stepmake/stepmake/Makedir_vars.make @@ -0,0 +1,27 @@ + + +# 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))) + + diff --git a/stepmake/stepmake/Makefile b/stepmake/stepmake/Makefile index a27042129c..b363430b36 100644 --- a/stepmake/stepmake/Makefile +++ b/stepmake/stepmake/Makefile @@ -10,10 +10,12 @@ depth = .. SUBDIRS = # +MAKEFILES=Makedir + + # bootstrap stepmake: # -include $(depth)/make/Stepmake.make -# # gory hack: stepmake itself is a stepmake package. default: diff --git a/stepmake/stepmake/Metafont_rules.make b/stepmake/stepmake/Metafont_rules.make new file mode 100644 index 0000000000..304512da5e --- /dev/null +++ b/stepmake/stepmake/Metafont_rules.make @@ -0,0 +1,12 @@ + +$(outdir)/%.dvi: %.mf + mf $< + gftodvi $(basename $<) + mv $(basename $<).dvi $(outdir) + rm $(basename $<).*gf + +$(outdir)/%.log: %.mf + mf $< + mv $(@F) $@ + rm $(basename $< ).*gf + diff --git a/stepmake/stepmake/Metafont_targets.make b/stepmake/stepmake/Metafont_targets.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/Metafont_targets.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/Metafont_vars.make b/stepmake/stepmake/Metafont_vars.make new file mode 100644 index 0000000000..67600b84bf --- /dev/null +++ b/stepmake/stepmake/Metafont_vars.make @@ -0,0 +1,5 @@ + +MF_FILES = $(wildcard *.mf) +FONT_FILES = $(wildcard *[0-9].mf) +EXTRA_DIST_FILES += $(MF_FILES) + diff --git a/stepmake/stepmake/Rules.make b/stepmake/stepmake/Rules.make index 97e210c959..503401be6b 100644 --- a/stepmake/stepmake/Rules.make +++ b/stepmake/stepmake/Rules.make @@ -1,39 +1,2 @@ -# 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 $( $@ +include $(stepdir)/Generic_rules.make diff --git a/stepmake/stepmake/STATE-VECTOR b/stepmake/stepmake/STATE-VECTOR new file mode 100644 index 0000000000..845eee732c --- /dev/null +++ b/stepmake/stepmake/STATE-VECTOR @@ -0,0 +1,19 @@ +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 diff --git a/stepmake/stepmake/Script_rules.make b/stepmake/stepmake/Script_rules.make new file mode 100644 index 0000000000..1dca17b995 --- /dev/null +++ b/stepmake/stepmake/Script_rules.make @@ -0,0 +1,19 @@ +# 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 $@ + diff --git a/stepmake/stepmake/Script_targets.make b/stepmake/stepmake/Script_targets.make new file mode 100644 index 0000000000..1ba75cdf04 --- /dev/null +++ b/stepmake/stepmake/Script_targets.make @@ -0,0 +1,2 @@ + +all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS) diff --git a/stepmake/stepmake/Script_vars.make b/stepmake/stepmake/Script_vars.make new file mode 100644 index 0000000000..ef705ba066 --- /dev/null +++ b/stepmake/stepmake/Script_vars.make @@ -0,0 +1,10 @@ + + +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) diff --git a/stepmake/stepmake/Targets.make b/stepmake/stepmake/Targets.make index ed386b70e8..ef3225b762 100644 --- a/stepmake/stepmake/Targets.make +++ b/stepmake/stepmake/Targets.make @@ -1,172 +1,2 @@ -# 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 diff --git a/stepmake/stepmake/Toplevel.make b/stepmake/stepmake/Toplevel.make index 00ae42bf77..57049f02d6 100644 --- a/stepmake/stepmake/Toplevel.make +++ b/stepmake/stepmake/Toplevel.make @@ -27,7 +27,10 @@ htmldoc: $(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! diff --git a/stepmake/stepmake/Variables.make b/stepmake/stepmake/Variables.make index 16b227db45..fdff8195e9 100644 --- a/stepmake/stepmake/Variables.make +++ b/stepmake/stepmake/Variables.make @@ -1,160 +1,2 @@ -# 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 diff --git a/test/Makefile b/test/Makefile index 3b22c6a630..e6215a3732 100644 --- a/test/Makefile +++ b/test/Makefile @@ -7,11 +7,9 @@ NAME = lily-test 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) diff --git a/tex/Makefile b/tex/Makefile index 13480c8146..e38e51491e 100644 --- a/tex/Makefile +++ b/tex/Makefile @@ -2,13 +2,13 @@ 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 diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 08ad2b5190..3f73f0d079 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -269,9 +269,6 @@ \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 -- 2.39.5