]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.0.3
authorfred <fred>
Sun, 24 Mar 2002 20:13:44 +0000 (20:13 +0000)
committerfred <fred>
Sun, 24 Mar 2002 20:13:44 +0000 (20:13 +0000)
101 files changed:
Documentation/CodingStyle.yo
Documentation/Makefile
Documentation/links.yo
Documentation/man/Makefile
Documentation/pictures/Makefile
Documentation/tex/Makefile
Documentation/topdocs/Makefile
Documentation/topdocs/README.yo
buildscripts/Makefile
buildscripts/ps-to-gifs.sh
debian/Makefile
flower/Makefile
flower/include/Makefile
init/Makefile
init/params.ly
input/Makefile
input/bugs/Makefile
input/test/Makefile
lib/Makefile
lib/include/Makefile
lily/Makefile
lily/include/Makefile
lily/key-engraver.cc
lily/key-item.cc
lily/lookup.cc
lily/p-score.cc
make/Lilypond_vars.make [new file with mode: 0644]
make/Makefile
make/Mutopia.make
make/Mutopia_rules.make [new file with mode: 0644]
make/Mutopia_targets.make [new file with mode: 0644]
make/Mutopia_vars.make [new file with mode: 0644]
make/Stepmake.make
make/Targets.make
make/Toplevel.make.in
make/Variables.make
make/lelievijver.lsm.in
make/lilypond.lsm.in
make/lilypond.spec.in
mf/Makefile
mi2mu/Makefile
mi2mu/include/Makefile
mi2mu/include/mudela-staff.hh
mi2mu/mudela-score.cc
mi2mu/mudela-staff.cc
mutopia/Coriolan/Makefile
mutopia/J.S.Bach/Makefile
mutopia/J.S.Bach/Petites-Preludes/Makefile
mutopia/J.S.Bach/Solo-Cello-Suites/Makefile
mutopia/Makefile
mutopia/W.A.Mozart/Makefile
scripts/Makefile
scripts/ly2dvi32.py [new file with mode: 0644]
stepmake/Documentation/Makefile
stepmake/Documentation/topdocs/Makefile
stepmake/NEWS
stepmake/VERSION
stepmake/bin/Makefile
stepmake/make/Makefile
stepmake/make/Stepmake.make
stepmake/make/Toplevel.make.in
stepmake/stepmake/C++.make
stepmake/stepmake/C++_files.make
stepmake/stepmake/C++_targets.make [new file with mode: 0644]
stepmake/stepmake/C++_vars.make
stepmake/stepmake/C.make
stepmake/stepmake/C_targets.make [new file with mode: 0644]
stepmake/stepmake/C_vars.make [new file with mode: 0644]
stepmake/stepmake/Documentation.shared.make
stepmake/stepmake/Documentation_targets.make [new file with mode: 0644]
stepmake/stepmake/Documentation_vars.make [new file with mode: 0644]
stepmake/stepmake/Executable.make
stepmake/stepmake/Executable_rules.make [new file with mode: 0644]
stepmake/stepmake/Executable_targets.make [new file with mode: 0644]
stepmake/stepmake/Executable_vars.make [new file with mode: 0644]
stepmake/stepmake/Files.make
stepmake/stepmake/Generic_rules.make [new file with mode: 0644]
stepmake/stepmake/Generic_targets.make [new file with mode: 0644]
stepmake/stepmake/Generic_vars.make [new file with mode: 0644]
stepmake/stepmake/Include.make
stepmake/stepmake/Library_rules.make [new file with mode: 0644]
stepmake/stepmake/Library_vars.make
stepmake/stepmake/Makedir.shared.make
stepmake/stepmake/Makedir_rules.make [new file with mode: 0644]
stepmake/stepmake/Makedir_targets.make [new file with mode: 0644]
stepmake/stepmake/Makedir_vars.make [new file with mode: 0644]
stepmake/stepmake/Makefile
stepmake/stepmake/Metafont_rules.make [new file with mode: 0644]
stepmake/stepmake/Metafont_targets.make [new file with mode: 0644]
stepmake/stepmake/Metafont_vars.make [new file with mode: 0644]
stepmake/stepmake/Rules.make
stepmake/stepmake/STATE-VECTOR [new file with mode: 0644]
stepmake/stepmake/Script_rules.make [new file with mode: 0644]
stepmake/stepmake/Script_targets.make [new file with mode: 0644]
stepmake/stepmake/Script_vars.make [new file with mode: 0644]
stepmake/stepmake/Targets.make
stepmake/stepmake/Toplevel.make
stepmake/stepmake/Variables.make
test/Makefile
tex/Makefile
tex/lilyponddefs.tex

index fb74fdfc2eb480d3680113880057212f2d54bf36..0399384be67462dd6a5d448ea77f37792cfa4812 100644 (file)
@@ -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)
 
index 5b2a1f602392aa26d02623f3b2070202cdd83bf0..25cf1d4f76b68087676a52d5ac8e96442d466550 100644 (file)
@@ -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
index d0b9a87ca7c3fbb18b181883e87f2e133d954aa3..da883c4a6824831d33608722ce1ea28a95018a0b 100644 (file)
@@ -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)
 
index 1460196b887dc31e154dfc59dd32b49272149110..498473b194eff8b1e91131b729ec9de301b297e2 100644 (file)
@@ -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)
 
index e1c41866c5bbe4ab029a1eff52bab9e120fcb3ce..e1826fa4b0d4510e1a8e905e1cabd1a789427d30 100644 (file)
@@ -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)
index a441b89d7cbfc9ac9ad451dad22747d9b4464e6d..4cc34a44a4e30b23e3b238ac610fd25338099395 100644 (file)
@@ -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)
 
index c8c180d1d21a08beeef3c88e6383f2e5179d518f..53a8a262d0f8d253978fa5d514eb91726565b2ae 100644 (file)
@@ -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
index 9b6b21dd9bcabea0211a7c6aabf305f825bc76ea..564d9ff9178032f7ace3858f55283a5399801a04 100644 (file)
@@ -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.
index 7832495f3c727ee9d6e95322d25d0587207aeac9..11751d2f22d99d7e24d112848beaef16c0ff18f6 100644 (file)
@@ -1,13 +1,12 @@
 # bin/Makefile
 
 depth = ..
+MAKEFILES=Script
 
 include $(depth)/make/Stepmake.make 
 
-default: 
 
-EXTRA_DIST_FILES = ltconfig
 
-include $(stepdir)/Script_files.make
+
 
 
index a2e9e26be91a79a9dd59ff0fe799f8dc4706d7b5..675d40e91f4ca12ce5dd393f0379d7b3c20daa64 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 # ps-to-gifs, convert PS to multiple gifs
   
 usage()
index 4c736d9bb697618af72addb259b878da1a3e3410..a72baf011d3b7ac179a174e331ff52f50ff27961 100644 (file)
@@ -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 $@
index e6ef878895d51b10fb898e4a95acd931d382e7a7..3d71e4e3efb867d2df5a15b05601b667e542552d 100644 (file)
@@ -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
 
index 283e1fadcd27004634c4385ee0171e88266df70c..8e6af341b3fc59e3fdeddaa8dca050cd8ec898f1 100644 (file)
@@ -2,7 +2,8 @@
 
 depth = ../..
 
+MAKEFILES=C++
+
 include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
 
 
index 8a72a4fd0e9e7da21534aed580d6fc215d5eb450..396cea26a9cf658f37067cf109af3c62ef5fec1e 100644 (file)
@@ -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
 
index 888ccbf9b87184fcd29a2bec8041d827b6e3c973..677ebbfbc6cb1e83d45fd3a75ff8bcb30ecb397c 100644 (file)
@@ -76,6 +76,7 @@ notewidth = (\quartwidth + \wholewidth) / 2.0;
 % ugh
 barsize = \staffheight;
 rulethickness = \staffline;
+stemthickness = \staffline;
 
 % uhm
 unitspace = 22.\pt;
index 1919c9e34399e80c430a7fadf244ec09cbd4fdd7..90fade98c1a4058cec78c2249e0b6ad7ee327c98 100644 (file)
@@ -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)))
 
index 369ff9045af7ce9d4d773d7141376c69a275750c..b6d250531e8079303733954c78ec57beb0ea759c 100644 (file)
@@ -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
 
index e09e760108fd9aad2188ab304ef55e3c453cfffb..4e5503bec89b251fa6c1f567d0ae9b44f09dd1d5 100644 (file)
@@ -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 
 
index 8b95c0a8c1eb46d81f85ed6e9d23dfa9a3a33656..93e2b14a67b531778f97814e485750f65de8710b 100644 (file)
@@ -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 
 
 
index 5dba771ec97238ee97f27822cfe1a8ecb611ab04..cfe217044ea7502c65e25eae3a864bef7955dd64 100644 (file)
@@ -1,8 +1,9 @@
 # lib/include/Makefile
 
 depth = ../..
+MAKEFILES=C++
 
 include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
+
 
 
index 7da45565b8ccabb3b3f7aecbd96c0bd19b58e62e..d5464bf1479ea5e1a91495acc3b38dea17156f4d 100644 (file)
@@ -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 $< $@
+
index 828589fd9480875f277e553e5a9324b1228ad891..a9ebc88ea548e7190159297050cc1a8edfb1931a 100644 (file)
@@ -1,7 +1,8 @@
 # lily/include/Makefile
 
 depth = ../..
+MAKEFILES=C++
 
 include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
+
 
index 7772f0e718f7ad1f9ce8d26daa134650caba9210..fce50bd7adf04e6c7a34b38c8d30fcf431d7a7c9 100644 (file)
@@ -179,6 +179,7 @@ Key_engraver::do_post_move_processing ()
 {
   keyreq_l_ = 0;
   default_key_b_ = false;
+  old_accidental_idx_arr_.clear ();
 }
 
 
index 94645d20c227f762021d3c00d5d96a10e6a22cae..58a91cac61d2245c34b2f627fcf34ce757d611f3 100644 (file)
@@ -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<Musical_pitch> &idx_arr = key_grav_r.accidental_idx_arr_; 
-  for (int i = 0 ; i< idx_arr.size(); i++) 
+  for (int i = 0; i < idx_arr.size(); i++) 
     {
       Musical_pitch m_l =idx_arr[i];
       if (multi_octave_b_)
index 0d21c2c4487c0f8a2be9a57dde6760494808f030..76255075541ea97b08a04c145e92575f3aad7024 100644 (file)
@@ -308,10 +308,15 @@ Lookup::stem (Real y1,Real y2) const
   s.dim_.y() = Interval (y1,y2);
 
   Array<String> a;
-  a.push (print_dimen (y1));
+
+  
+  Real stem_width = paper_l_->get_var ("stemthickness");
+  a.push (print_dimen (-stem_width /2));
+  a.push (print_dimen (stem_width));
   a.push (print_dimen (y2));
+  a.push (print_dimen (-y1));
 
-  String src = (*symtables_p_)("param")->lookup ("stem").tex_;
+  String src = "\\kern %\\vrule width % height % depth %";
   s.tex_ = substitute_args (src,a);
   s.font_ = font_;
   return s;
index bd7ec060e049239b06322958e4018f8400776c38..af2300881cb588acb134a15a01709c37740a4d17 100644 (file)
@@ -131,10 +131,6 @@ Paper_score::set_breaking (Array<Column_x_positions> 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<Column_x_positions> 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 (file)
index 0000000..1452731
--- /dev/null
@@ -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
+
index 7514481657b33f857a991af23f987a2318ea7974..dec2c680084e47ba46860a917b50b49efaed946b 100644 (file)
@@ -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
+
+
+
 
index db95a60b6665f8cca83e33f1dca690c509ff86a5..1c541ee636b376320d03b363de5efaec5769afbe 100644 (file)
@@ -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 (file)
index 0000000..0b16e7e
--- /dev/null
@@ -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 (file)
index 0000000..4aa51ff
--- /dev/null
@@ -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 (file)
index 0000000..b05154a
--- /dev/null
@@ -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))
index 883b34e0402c23394a11edc7828c2a50afc6ad77..c8c827e18abda2bb320c8bdf6b4cdb1564304e60 100644 (file)
@@ -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)
+
+
index 1d7f67bb1cc6ef3be316f5069dc6f389c31ad767..f2b55fbaebdfa43f49c2ce5aaf92cd6579e81835 100644 (file)
@@ -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 $< $@
index 0784604257283c03d549cce7b6617ac9be46aa93..b09aa86c7736a7483d3f838977e022438f1691ee 100644 (file)
@@ -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
index 82a5199a8cc60423981ab03c38ec0596938b2660..a5476193321a6471a156bcb4726c8813e3163408 100644 (file)
@@ -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 =
 
index 2e25e2a86369af371a759c62aa72d93cec258eb2..f05d79bff1a6926c04aa4d87a59b87aeeea65393 100644 (file)
@@ -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
index b7b4b25bce3316475d18a9e82e3b987b64bce945..efaa469901738acb141ead829515a97f8153273b 100644 (file)
@@ -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
index 44d76f6feb0fe99ecb078540f5f8e38bcc518b0c..e093972cadd50d23dd38d89bea624d738b5a28e1 100644 (file)
@@ -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 <hanwen@cs.uu.nl>
 Icon: @package@-icon.gif
index 407ce8ea2769632ae27d07157be24b93255993c9..11418e32e92c28c585897e380c5d300ea865e9c5 100644 (file)
@@ -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)
 
 
index 012024b932ef4eff5cb59d9fa797726d0848d108..6b6d9552bdd3209e08a53d5274688a281fb73fc8 100644 (file)
@@ -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?)
 #
index b23f26fb302fa5c4113859841d19f46371e0a4ed..3f9a0ac4231b08fdb6c9ab86cd036e167d9641f8 100644 (file)
@@ -1,7 +1,6 @@
 # lib/include/Makefile
 
 depth = ../..
-
+MAKEFILES=C++
 include $(depth)/make/Stepmake.make
-include $(stepdir)/C++.make
 
index 4608e0859c66631d736c75719031138b51afbd64..4b4fd75c60e6719f2515465db1e0e059c35ee3b0 100644 (file)
 /// (mudela_staff)
 class Mudela_staff {
 public:
-    Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str);
-
-    void add_item (Mudela_item* mudela_item_p);
-    void eat_voice (Link_list<Mudela_item*>& items);
-    String id_str();
-    String name_str();
-    void output (Mudela_stream& mudela_stream_r);
-    void process();
-
-    String copyright_str_;
-    String instrument_str_;
-    String name_str_;
-    Mudela_key* mudela_key_l_;
-    Mudela_time_signature* mudela_time_signature_l_;
-    Mudela_tempo* mudela_tempo_l_;
-    int number_i_;
+  Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str);
+
+  void add_item (Mudela_item* mudela_item_p);
+  void eat_voice (Link_list<Mudela_item*>& items);
+  String id_str();
+  String name_str();
+  void output (Mudela_stream& mudela_stream_r);
+  void process();
+
+  String copyright_str_;
+  String instrument_str_;
+  String name_str_;
+  Mudela_key* mudela_key_l_;
+  Mudela_time_signature* mudela_time_signature_l_;
+  Mudela_tempo* mudela_tempo_l_;
+  int number_i_;
 
 private:
-    void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i);
-#if 0
-    void output_mudela_rest (Mudela_stream& mudela_stream_r, Moment begin_mom, Moment end_mom);
-    void output_mudela_rest_remain (Mudela_stream& mudela_stream_r, Moment mom);
-#endif
-
-    Pointer_list<Mudela_voice*> mudela_voice_p_list_;
-    Pointer_list<Mudela_item*> mudela_item_p_list_;
+  void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i);
+
+  Pointer_list<Mudela_voice*> mudela_voice_p_list_;
+  Pointer_list<Mudela_item*> mudela_item_p_list_;
 };
 
 #endif // MUDELA_STAFF_HH
index 92329cd74d6baa13339772fe7cfb53a76184dbfb..b7e234b97de91e9074f8aa6501fde1d16edad9a6 100644 (file)
@@ -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";
index d6995e532affe5eb040e639102e95a0740d5216d..5b326d966d6ff30153a9ddb11310efa72f4241b3 100644 (file)
@@ -75,12 +75,17 @@ Mudela_staff::eat_voice (Link_list<Mudela_item*>& 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';
index 4363beefe852703da348cc453e364b3d39481b39..6fcbed0202926d4ca789bdaae6a7ef3d268db868 100644 (file)
@@ -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
 
index 2b734e09c62c38f4fe51902cb3ca3d4e0b45ad6c..1c0dfadef2cbc4a812c1724ead6ef4e728a1a136 100644 (file)
@@ -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
+
index 1a1020a8793198c57e25ae52ab91c95f67d2dc33..0abaee2e49835c6841639fe9450274ff0ab8687d 100644 (file)
@@ -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
index 5f925d1657fa1b3313031850767dee2764a6a4d6..95b05a7a44e6e850858df1f3542f0fd02efc0239 100644 (file)
@@ -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
index f788a8272449b6bb258538e1e04bc156eddffa9a..b4ab36884154589c7dc9cdd622c9ce698c5af7c2 100644 (file)
@@ -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
index 92a284a43112bc825f664433d425e0ff7efc863c..d6b63889f101f863edbefdcb2d1f58603b4fa8b6 100644 (file)
@@ -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
index 17ce13c80ce40bc909f80087943c9084fa74e4ff..34f23441893432576047e2b3a2186b6b0932360e 100644 (file)
@@ -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 (file)
index 0000000..088d94b
--- /dev/null
@@ -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()
+
+    
+
+                                   
+
+
+
index 0c43e2f1a891971a8218492db32275ecc96605d7..6eacb8bf01a1b412682c760f484cd01f9ad4a00d 100644 (file)
@@ -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
 
index 64f14835a2990b608a550cccfdc6d6d6205ebe1c..45af32d7f0029b7b97d62c20c17ce3724f874b87 100644 (file)
@@ -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
index 5d3ecc36f75eeef1e15f062b706e833f733c2f44..5578428a8cb9b9b1fa811a891810b6521a1aa970 100644 (file)
@@ -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
 
index 89e1366795b2bc40b4827be2106107f544f647a6..eea0d29e8bb94ab5dcf85a84988a9a944c553c50 100644 (file)
@@ -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:
index 5ef22883767640cb4b95afb60ad38783948eee93..918a59c1bc3710ac72539b1af4015baff92022eb 100644 (file)
@@ -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
 
index 719d05f30399b3783030a2bb0b5ff3c5d47ce1dd..324c7971d29e53b3e916be09c37ab98afe7552f3 100644 (file)
@@ -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
+
 
index a1e6cdbe922fce6501f67393f7d47227b73ddf7f..078bc3749e41a2540fed55a5902eacdceed099a1 100644 (file)
@@ -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))) 
+
 
index 244f56d24e7c847150900d81e2f131de2f50151b..67555b6665c4f3e5ca7a6d3001511fa169c56657 100644 (file)
@@ -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
index 8f39b4e0ad9ebc35aefa38f2e1a44a89ddb75a08..3e4b58dee1e29e9ceb50c49382129180f93f52a9 100644 (file)
@@ -1,4 +1,3 @@
 
 include $(stepdir)/C++_rules.make
 include $(stepdir)/C++_vars.make
-include $(stepdir)/C++_files.make
index d61a475a6303dee8444ccef4c76dd5c6544592c5..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -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 (file)
index 0000000..1bb8bf6
--- /dev/null
@@ -0,0 +1 @@
+# empty
index 889b3f6c21e929b839dea80526dbe46484799f8c..f3d84a90acfd8788881e6aee1763ee636fada818 100644 (file)
@@ -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)
index 2548c77b55c1bf7d49dc470e42c9820d6228225a..795296f6f0dbe37d0a645f95fe08b356d2f0062b 100644 (file)
@@ -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 (file)
index 0000000..ea30561
--- /dev/null
@@ -0,0 +1 @@
+#empty
diff --git a/stepmake/stepmake/C_vars.make b/stepmake/stepmake/C_vars.make
new file mode 100644 (file)
index 0000000..47d2eb7
--- /dev/null
@@ -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)
index 1a29861d7904e6bafc2b2b4d6b1a4336286d0758..772bf3258693bd5d26e2cb25388d39886d799d79 100644 (file)
@@ -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 (file)
index 0000000..cdf708b
--- /dev/null
@@ -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 (file)
index 0000000..465ab3d
--- /dev/null
@@ -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)
index 3feadc553a61cd824c59109c096bf4381d444235..ae4493f720cc2d266027e57a3d5768de2218b8bc 100644 (file)
@@ -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 (file)
index 0000000..1bb8bf6
--- /dev/null
@@ -0,0 +1 @@
+# empty
diff --git a/stepmake/stepmake/Executable_targets.make b/stepmake/stepmake/Executable_targets.make
new file mode 100644 (file)
index 0000000..3feadc5
--- /dev/null
@@ -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 (file)
index 0000000..1bb8bf6
--- /dev/null
@@ -0,0 +1 @@
+# empty
index 2c2ede8dacebc2cd20312cdcaabd8d97f152ec57..0d42a59707d0d5aab070c81d40e4efdaacb1404d 100644 (file)
@@ -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 (file)
index 0000000..97e210c
--- /dev/null
@@ -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 $(<F))
+
+$(outdir)/%.dvi: $(outdir)/%.latex
+       (cd $(outdir); \
+         latex \\nonstopmode \\input $(<F);\
+         bibtex $(basename $(<F));\
+         latex \\nonstopmode \\input $(<F);\
+         latex \\nonstopmode \\input $(<F);\
+       )
+
+$(outdir)/%.ps: $(outdir)/%.dvi
+       dvips -ta4 -o $@ $<
+
+
+# hmm, always include these, or include via package/make/Rules.make?
+include $(stepdir)/Substitute.make
+include $(make-dir)/Rules.make
+
+$(outdir)/%: %.in
+       rm -f $@
+       cat $< | $(sed-atfiles) | $(sed-atvariables) > $@
+
diff --git a/stepmake/stepmake/Generic_targets.make b/stepmake/stepmake/Generic_targets.make
new file mode 100644 (file)
index 0000000..f701a37
--- /dev/null
@@ -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 (file)
index 0000000..b10f737
--- /dev/null
@@ -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
+
index 61f6eff3294ca3fbde57fae548a343842fff3042..5566cc802cbc39a7ae84b31486bd6bd0343052f7 100644 (file)
@@ -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 (file)
index 0000000..1bb8bf6
--- /dev/null
@@ -0,0 +1 @@
+# empty
index f488bfb07e8caecd9e3e943304a89baf37923659..c749adb538906a7398316cdb9a598fcb1cdc2345 100644 (file)
@@ -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
index aee95bf5ee8cce3e429d21c8ee2fc8afc93c7603..a693a1e16dbca942498e71863c63db0ec5e55788 100644 (file)
@@ -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 (file)
index 0000000..ea30561
--- /dev/null
@@ -0,0 +1 @@
+#empty
diff --git a/stepmake/stepmake/Makedir_targets.make b/stepmake/stepmake/Makedir_targets.make
new file mode 100644 (file)
index 0000000..3412294
--- /dev/null
@@ -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 (file)
index 0000000..adb1733
--- /dev/null
@@ -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)))
+
+
index a27042129cbd749c6cb905ec2a34beb7fcdf572d..b363430b361e797cb54deaa236529c9168353521 100644 (file)
@@ -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 (file)
index 0000000..304512d
--- /dev/null
@@ -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 (file)
index 0000000..ea30561
--- /dev/null
@@ -0,0 +1 @@
+#empty
diff --git a/stepmake/stepmake/Metafont_vars.make b/stepmake/stepmake/Metafont_vars.make
new file mode 100644 (file)
index 0000000..67600b8
--- /dev/null
@@ -0,0 +1,5 @@
+
+MF_FILES = $(wildcard *.mf)
+FONT_FILES = $(wildcard *[0-9].mf)
+EXTRA_DIST_FILES += $(MF_FILES)
+
index 97e210c959d5b6d5267a1afce930f3ba43b8d356..503401be6b601995598b14e6212393cc2e399fbe 100644 (file)
@@ -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 $(<F))
-
-$(outdir)/%.dvi: $(outdir)/%.latex
-       (cd $(outdir); \
-         latex \\nonstopmode \\input $(<F);\
-         bibtex $(basename $(<F));\
-         latex \\nonstopmode \\input $(<F);\
-         latex \\nonstopmode \\input $(<F);\
-       )
-
-$(outdir)/%.ps: $(outdir)/%.dvi
-       dvips -ta4 -o $@ $<
-
-
-# hmm, always include these, or include via package/make/Rules.make?
-include $(stepdir)/Substitute.make
-include $(make-dir)/Rules.make
-
-$(outdir)/%: %.in
-       rm -f $@
-       cat $< | $(sed-atfiles) | $(sed-atvariables) > $@
 
+include $(stepdir)/Generic_rules.make
diff --git a/stepmake/stepmake/STATE-VECTOR b/stepmake/stepmake/STATE-VECTOR
new file mode 100644 (file)
index 0000000..845eee7
--- /dev/null
@@ -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 (file)
index 0000000..1dca17b
--- /dev/null
@@ -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 (file)
index 0000000..1ba75cd
--- /dev/null
@@ -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 (file)
index 0000000..ef705ba
--- /dev/null
@@ -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)
index ed386b70e8f8f2628a0ed416655123fc794f7c73..ef3225b7623f962d4fe6ad2f3df8e66429499627 100644 (file)
@@ -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
index 00ae42bf779147c47c08560331522c1bebe9b929..57049f02d69bb4755b085faf469de771df60fb8a 100644 (file)
@@ -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!
index 16b227db458760df480c02f8ecf69e5d3381f0f2..fdff8195e95a9fcabcfb3a404de04d8c7d5e770a 100644 (file)
@@ -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
index 3b22c6a630f53e30fef2644580c66b2f438d9b76..e6215a3732402e7334d67c0876b3a69abae46820 100644 (file)
@@ -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)
 
index 13480c8146e221ac43df67de8e0cd0132626beae..e38e51491e94304a246827f762d7668f7ebe6d33 100644 (file)
@@ -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
 
index 08ad2b5190c718321312881761484bf337c65469..3f73f0d07973aceb4fce1f0945a728ae3fd83718 100644 (file)
 \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