From fd67592c6acb9b8e9ac10135d688b3f4938ac0b1 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 19 Aug 1998 12:01:05 +0200 Subject: [PATCH 1/1] release: 1.0.3 --- Documentation/CodingStyle.yo | 3 +- Documentation/Makefile | 15 +- Documentation/links.yo | 2 +- Documentation/man/Makefile | 10 +- Documentation/pictures/Makefile | 7 +- Documentation/tex/Makefile | 10 +- Documentation/topdocs/Makefile | 12 +- Documentation/topdocs/README.yo | 2 +- Documentation/topdocs/index.yo | 21 +- NEWS | 13 + VERSION | 2 +- aclocal.m4 | 4 +- buildscripts/Makefile | 5 +- buildscripts/ltconfig | 1512 ----------------- buildscripts/ps-to-gifs.sh | 2 +- configure | 4 +- debian/Makefile | 16 +- flower/Makefile | 4 +- flower/include/Makefile | 3 +- init/Makefile | 8 +- init/params.ly | 1 + input/Makefile | 7 +- input/bugs/Makefile | 5 +- input/test/Makefile | 7 +- lib/Makefile | 3 +- lib/include/Makefile | 3 +- lily/Makefile | 9 +- lily/Stable.make | 9 - lily/VERSION | 2 +- lily/include/Makefile | 3 +- lily/key-engraver.cc | 1 + lily/key-item.cc | 2 +- lily/lookup.cc | 9 +- lily/p-score.cc | 8 - make/Lilypond_rules.make | 1 + make/Lilypond_targets.make | 1 + make/{Lilypond.make => Lilypond_vars.make} | 0 make/Makefile | 8 +- make/Mutopia.make | 38 - make/Mutopia_rules.make | 26 + make/Mutopia_targets.make | 9 + .../WWW.make => make/Mutopia_vars.make | 18 +- make/STATE-VECTOR | 2 + make/Stepmake.make | 21 +- make/Targets.make | 17 - make/Toplevel.make.in | 6 +- make/Variables.make | 31 +- make/lelievijver.lsm.in | 6 +- make/lilypond.lsm.in | 6 +- make/lilypond.spec.in | 4 +- make/out/lelievijver.lsm | 10 +- make/out/lilypond.lsm | 10 +- make/out/lilypond.spec | 6 +- make/out/zlilypond-docs.spec | 52 - make/zlilypond-docs.spec.in | 46 - mf/Makefile | 6 +- mi2mu/Makefile | 4 +- mi2mu/include/Makefile | 3 +- mi2mu/include/mudela-staff.hh | 44 +- mi2mu/mudela-score.cc | 3 +- mi2mu/mudela-staff.cc | 23 +- mutopia/Coriolan/Makefile | 7 +- mutopia/J.S.Bach/Makefile | 9 +- mutopia/J.S.Bach/Petites-Preludes/Makefile | 6 +- mutopia/J.S.Bach/Solo-Cello-Suites/Makefile | 6 +- mutopia/Makefile | 6 +- mutopia/W.A.Mozart/Makefile | 6 +- scripts/Makefile | 11 +- scripts/ly2dvi32.py | 767 +++++++++ stepmake/Documentation/Makefile | 6 +- stepmake/Documentation/topdocs/Makefile | 13 +- stepmake/NEWS | 2 + stepmake/VERSION | 2 +- stepmake/aclocal.m4 | 4 +- stepmake/bin/Makefile | 6 +- stepmake/make/Makefile | 5 +- stepmake/make/Stepmake.make | 16 + stepmake/make/Toplevel.make.in | 4 +- stepmake/make/out/stepmake.lsm | 8 +- stepmake/make/out/stepmake.spec | 4 +- stepmake/stepmake/C++.make | 1 - stepmake/stepmake/C++_files.make | 13 - stepmake/stepmake/C++_targets.make | 1 + stepmake/stepmake/C++_vars.make | 13 +- stepmake/stepmake/C.make | 20 +- stepmake/stepmake/C_targets.make | 1 + stepmake/stepmake/C_vars.make | 22 + stepmake/stepmake/Documentation.shared.make | 41 +- stepmake/stepmake/Documentation_targets.make | 37 + ...tion.vars.make => Documentation_vars.make} | 5 + stepmake/stepmake/Executable.make | 33 +- stepmake/stepmake/Executable_rules.make | 1 + stepmake/stepmake/Executable_targets.make | 34 + stepmake/stepmake/Executable_vars.make | 1 + stepmake/stepmake/Files.make | 10 +- stepmake/stepmake/Generic_rules.make | 39 + stepmake/stepmake/Generic_targets.make | 173 ++ stepmake/stepmake/Generic_vars.make | 153 ++ stepmake/stepmake/Include.make | 4 +- stepmake/stepmake/Library_rules.make | 1 + stepmake/stepmake/Library_vars.make | 11 +- stepmake/stepmake/Makedir.shared.make | 30 +- stepmake/stepmake/Makedir_rules.make | 1 + stepmake/stepmake/Makedir_targets.make | 6 + stepmake/stepmake/Makedir_vars.make | 27 + stepmake/stepmake/Makefile | 4 +- .../{Metafont.make => Metafont_rules.make} | 3 - stepmake/stepmake/Metafont_targets.make | 1 + stepmake/stepmake/Metafont_vars.make | 5 + stepmake/stepmake/Rules.make | 39 +- stepmake/stepmake/STATE-VECTOR | 19 + .../{Scripts.make => Script_rules.make} | 2 - stepmake/stepmake/Script_targets.make | 2 + .../{Script_files.make => Script_vars.make} | 0 stepmake/stepmake/Targets.make | 172 +- stepmake/stepmake/Toplevel.make | 5 +- stepmake/stepmake/Variables.make | 160 +- test/Makefile | 4 +- test/VERSION | 6 - tex/Makefile | 4 +- tex/lilyponddefs.tex | 3 - 121 files changed, 1651 insertions(+), 2469 deletions(-) delete mode 100644 buildscripts/ltconfig delete mode 100644 lily/Stable.make create mode 100644 make/Lilypond_rules.make create mode 100644 make/Lilypond_targets.make rename make/{Lilypond.make => Lilypond_vars.make} (100%) create mode 100644 make/Mutopia_rules.make create mode 100644 make/Mutopia_targets.make rename stepmake/stepmake/WWW.make => make/Mutopia_vars.make (50%) delete mode 100644 make/out/zlilypond-docs.spec delete mode 100644 make/zlilypond-docs.spec.in create mode 100644 scripts/ly2dvi32.py create mode 100644 stepmake/stepmake/C++_targets.make create mode 100644 stepmake/stepmake/C_targets.make create mode 100644 stepmake/stepmake/C_vars.make create mode 100644 stepmake/stepmake/Documentation_targets.make rename stepmake/stepmake/{Documentation.vars.make => Documentation_vars.make} (93%) create mode 100644 stepmake/stepmake/Executable_rules.make create mode 100644 stepmake/stepmake/Executable_targets.make create mode 100644 stepmake/stepmake/Executable_vars.make create mode 100644 stepmake/stepmake/Generic_rules.make create mode 100644 stepmake/stepmake/Generic_targets.make create mode 100644 stepmake/stepmake/Generic_vars.make create mode 100644 stepmake/stepmake/Library_rules.make create mode 100644 stepmake/stepmake/Makedir_rules.make create mode 100644 stepmake/stepmake/Makedir_targets.make create mode 100644 stepmake/stepmake/Makedir_vars.make rename stepmake/stepmake/{Metafont.make => Metafont_rules.make} (65%) create mode 100644 stepmake/stepmake/Metafont_targets.make create mode 100644 stepmake/stepmake/Metafont_vars.make create mode 100644 stepmake/stepmake/STATE-VECTOR rename stepmake/stepmake/{Scripts.make => Script_rules.make} (73%) create mode 100644 stepmake/stepmake/Script_targets.make rename stepmake/stepmake/{Script_files.make => Script_vars.make} (100%) delete mode 100644 test/VERSION diff --git a/Documentation/CodingStyle.yo b/Documentation/CodingStyle.yo index fb74fdfc2e..0399384be6 100644 --- a/Documentation/CodingStyle.yo +++ b/Documentation/CodingStyle.yo @@ -38,7 +38,8 @@ this is to rewrite the program. nsubsect(LANGUAGES) -C++, /bin/sh and python are preferred. Perl is not. +C++, /bin/sh and Python are preferred. Perl is not. +Python code should use an indent of 8, using TAB characters. nsubsect(FILES) diff --git a/Documentation/Makefile b/Documentation/Makefile index 5b2a1f6023..25cf1d4f76 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -4,20 +4,19 @@ depth = .. NAME = Documentation SUBDIRS=man tex pictures topdocs - -include $(depth)/make/Stepmake.make - -default: do-doc - +MAKEFILES=Documentation README_TOP_FILES=NEWS DEDICATION TODO ANNOUNCE-0.1 EXTRA_DIST_FILES = gnu-music-history TODO BLURBS=BLURB COPERTINA FLAPTEKST -# INFO_FILES = $(outdir)/$(package).info - OUTTEXINFO_FILES = $(outdir)/topinfo.texinfo $(outdir)/mutopia.texinfo +include $(depth)/make/Stepmake.make + +default: do-doc + +# INFO_FILES = $(outdir)/$(package).info + texinfo: $(OUTTEXINFO_FILES) -include $(stepdir)/Documentation.shared.make diff --git a/Documentation/links.yo b/Documentation/links.yo index d0b9a87ca7..da883c4a68 100644 --- a/Documentation/links.yo +++ b/Documentation/links.yo @@ -56,7 +56,7 @@ At this moment we have about one development-patchlevel per week. These development releases will also be at itemize( -it()lurl(ftp://pcnov095.win.tue.nl/pub/lilypond/development) +it()lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development) it()lurl(ftp://sca.uwaterloo.ca/pub/lilypond) diff --git a/Documentation/man/Makefile b/Documentation/man/Makefile index 1460196b88..498473b194 100644 --- a/Documentation/man/Makefile +++ b/Documentation/man/Makefile @@ -2,11 +2,7 @@ depth = ../.. -include $(depth)/make/Stepmake.make - -include $(stepdir)/Documentation.vars.make -include $(stepdir)/Documentation_rules.make - +MAKEFILES=Documentation SECTION=1 MANTXT = $(addprefix $(outdir)/, $(addsuffix .txt,$(basename $(TEXINFO_FILES) .texinfo))) MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(YO_FILES) .yo))) @@ -15,10 +11,14 @@ OUTTEXINFO_FILES= $(addprefix $(outdir)/, $(addsuffix .texinfo,$(basename $(YO_F OUT_DIST_FILES += $(MANGROFF) +include $(depth)/make/Stepmake.make + default: $(MANGROFF) texinfo: $(OUTTEXINFO_FILES) + + INSTALLATION_OUT_FILES=$(MANGROFF) INSTALLATION_OUT_DIR=$(mandir)/man$(SECTION) diff --git a/Documentation/pictures/Makefile b/Documentation/pictures/Makefile index e1c41866c5..e1826fa4b0 100644 --- a/Documentation/pictures/Makefile +++ b/Documentation/pictures/Makefile @@ -1,12 +1,13 @@ depth = ../.. -include $(depth)/make/Stepmake.make -include $(stepdir)/Documentation_rules.make - +MAKEFILES=Documentation XPM_FILES=$(wildcard *.xpm) OUTGIF_FILES = $(addprefix $(outdir)/,$(XPM_FILES:.xpm=.gif)) EXTRA_DIST_FILES= $(XPM_FILES) + +include $(depth)/make/Stepmake.make + gifs: $(OUTGIF_FILES) local-WWW: $(OUTGIF_FILES) diff --git a/Documentation/tex/Makefile b/Documentation/tex/Makefile index a441b89d7c..4cc34a44a4 100644 --- a/Documentation/tex/Makefile +++ b/Documentation/tex/Makefile @@ -2,11 +2,6 @@ depth=../.. -include $(depth)/make/Stepmake.make -include $(stepdir)/Documentation.vars.make -include $(depth)/make/Lilypond.make -include $(stepdir)/Documentation_rules.make - DATA_FILES = $(wildcard *.data) datafiles = $(addprefix $(outdir)/,$(DATA_FILES:.data=.html)) DOC_FILES = $(wildcard *.doc) @@ -18,6 +13,11 @@ EXTRA_DIST_FILES= $(BIB_FILES) $(DOC_FILES) $(DATA_FILES) $(EL_FILES) HTML_FILES = $(addprefix $(outdir)/, $(YO_FILES:.yo=.html)) PS_FILES = $(DVI_FILES:.dvi=.ps) +MAKEFILES=Documentation +LOCALMAKEFILES=Lilypond + + +include $(depth)/make/Stepmake.make dvi: $(DVI_FILES) diff --git a/Documentation/topdocs/Makefile b/Documentation/topdocs/Makefile index c8c180d1d2..53a8a262d0 100644 --- a/Documentation/topdocs/Makefile +++ b/Documentation/topdocs/Makefile @@ -2,17 +2,20 @@ depth = ../.. -SUBDIRS= +MAKEFILES=Documentation +LOCALMAKEFILES=Lilypond +BLURBS=BLURB COPERTINA FLAPTEKST + +TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES)) + include $(depth)/make/Stepmake.make -include $(depth)/make/Lilypond.make default: do-doc -BLURBS=BLURB COPERTINA FLAPTEKST + # INFO_FILES = $(outdir)/$(package).info -include $(stepdir)/Documentation.shared.make # urg $(outdir)/%.html: %.yo @@ -25,7 +28,6 @@ local-WWW: -cp $(outdir)/*gif $(outdir)/index.html $(depth) # don't fail if not making website -TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES)) copy-to-top: $(foreach i, $(TO_TOP_FILES), \ cp $(i) $(depth)/ && ) true diff --git a/Documentation/topdocs/README.yo b/Documentation/topdocs/README.yo index 9b6b21dd9b..564d9ff917 100644 --- a/Documentation/topdocs/README.yo +++ b/Documentation/topdocs/README.yo @@ -67,7 +67,7 @@ sect(DOZE) If you have received this file as part of a DOS/Window32 distribution (package()-*.zip), then it is advisable to also download the source package, since it might contain more documentation -lurl(ftp://pcnov095.win.tue.nl/pub/package()/) +lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/) If you decide to build Package() from source, please read the INSTALL.txt document first, especially the Windows NT/95 section. diff --git a/Documentation/topdocs/index.yo b/Documentation/topdocs/index.yo index 04eef033ca..74c001b6d5 100644 --- a/Documentation/topdocs/index.yo +++ b/Documentation/topdocs/index.yo @@ -16,11 +16,14 @@ center(mudela(fragment)( nsubsect() -Hmm, this is what it said yesterday too. I just want to know -url(What's new)(DOEXPAND(docdir)/DOEXPAND(outdir)/NEWS.html) today and then COMMENT( -url(Download)(ftp://pcnov095.win.tue.nl/pub/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz) LilyPond. -perhaps lily/VERSION, i.e. without my-patch-level would be best... -)url(Download)(ftp://pcnov095.win.tue.nl/pub/lilypond/development/) LilyPond. +Hmm, this is what it said yesterday too. I just want to know +url(What's new)(DOEXPAND(docdir)/DOEXPAND(outdir)/NEWS.html) today and +then COMMENT( +url(Download)(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz) +LilyPond. perhaps lily/VERSION, i.e. without my-patch-level would be +best... +)url(Download)(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz) +LilyPond. nsubsect(Introduction) @@ -28,7 +31,7 @@ This is not a Fanmail/Hype page. These pages were entirely created from the LilyPond package-sources. A document on LilyPond's music description language Mudela is -url(in the making)(DOEXPAND(docdir)/tex/DOEXPAND(outdir)/mudela.html). +url(in the making)(DOEXPAND(docdir)/tex/DOEXPAND(outdir)/tutorial.html). Note: These pages are created from the latest bf(development snapshots) of LilyPond, specifically, this page was made from LilyPond @@ -63,10 +66,8 @@ verb( top_of_NEWS ) -COMMENT( -Go get it at lurl(ftp://pcnov095.win.tue.nl/pub/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz) -) -Go get it at lurl(ftp://pcnov095.win.tue.nl/pub/lilypond/development/) + +Go get it at lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/) nsubsect(Documentation) diff --git a/NEWS b/NEWS index a4d321946f..cfe890a1a0 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,17 @@ +pl 2.uu1 + - solaris 2.6 compile/make website fixes. + - rm'd WWW.make + - stepmake .43 + - pcnov095.win.tue.nl -> ftp.cs.uu.nl + +pl 2.hwn1 + - mi2mu naming of track output + - bf: do key restore sign only once + - ly2dvi32 preliminary version (JBR) + +********* pl 2 + - bf index.html link - bf mudela-book.py - scalar compile stuff - bf install directory diff --git a/VERSION b/VERSION index 36dc14b269..7453b04628 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=2 +PATCH_LEVEL=3 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/aclocal.m4 b/aclocal.m4 index dbcb4d30d2..f7e18136b6 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -354,14 +354,14 @@ AC_DEFUN(AC_STEPMAKE_MAN, [ AC_DEFUN(AC_STEPMAKE_MSGFMT, [ # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt) - AC_CHECK_PROGS(MSGFMT, msgfmt, \$(SHELL) \$(step-bindir)/fake-msgfmt.sh) + AC_CHECK_PROGS(MSGFMT, msgfmt, \$(SHELL) \$(step-bindir)/fake-msgfmt.sh ) AC_MSG_CHECKING(whether msgfmt accepts -o) msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`" if test "$msgfmt_output" = ""; then AC_MSG_RESULT(yes) else # urg - MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh)" + MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh" AC_MSG_RESULT(no) AC_STEPMAKE_WARN(please install msgfmt from GNU gettext) fi diff --git a/buildscripts/Makefile b/buildscripts/Makefile index 7832495f3c..11751d2f22 100644 --- a/buildscripts/Makefile +++ b/buildscripts/Makefile @@ -1,13 +1,12 @@ # bin/Makefile depth = .. +MAKEFILES=Script include $(depth)/make/Stepmake.make -default: -EXTRA_DIST_FILES = ltconfig -include $(stepdir)/Script_files.make + diff --git a/buildscripts/ltconfig b/buildscripts/ltconfig deleted file mode 100644 index 2347e69439..0000000000 --- a/buildscripts/ltconfig +++ /dev/null @@ -1,1512 +0,0 @@ -#! /bin/sh - -# ltconfig - Create a system-specific libtool. -# Copyright (C) 1996-1998 Free Software Foundation, Inc. -# Gordon Matzigkeit , 1996 -# -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A lot of this script is taken from autoconf-2.10. - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -echo=echo -if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : -else - # The Solaris and AIX default echo program unquotes backslashes. - # This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # So, we emulate echo with printf '%s\n' - echo="printf %s\\n" - if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : - else - # Oops. We have no working printf. Try to find a not-so-buggy echo. - echo=echo - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH /usr/ucb; do - if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then - echo="$dir/echo" - break - fi - done - IFS="$save_ifs" - fi -fi - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# The name of this program. -progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` - -# Constants: -PROGRAM=ltconfig -PACKAGE=libtool -VERSION=1.2 -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' -rm="rm -f" - -help="Try \`$progname --help' for more information." - -# Global variables: -can_build_shared=yes -enable_shared=yes -# All known linkers require a `.a' archive for static linking. -enable_static=yes -ltmain= -silent= -srcdir= -ac_config_guess= -ac_config_sub= -host= -nonopt= -verify_host=yes -with_gcc=no -with_gnu_ld=no - -old_AR="$AR" -old_CC="$CC" -old_CFLAGS="$CFLAGS" -old_CPPFLAGS="$CPPFLAGS" -old_LD="$LD" -old_LN_S="$LN_S" -old_NM="$NM" -old_RANLIB="$RANLIB" - -# Parse the command line options. -args= -prev= -for option -do - case "$option" in - -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - eval "$prev=\$option" - prev= - continue - fi - - case "$option" in - --help) cat <&2 - echo "$help" 1>&2 - exit 1 - ;; - - *) - if test -z "$ltmain"; then - ltmain="$option" - elif test -z "$host"; then -# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1 -# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then -# echo "$progname: warning \`$option' is not a valid host type" 1>&2 -# fi - host="$option" - else - echo "$progname: too many arguments" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac -done - -if test -z "$ltmain"; then - echo "$progname: you must specify a LTMAIN file" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -if test -f "$ltmain"; then : -else - echo "$progname: \`$ltmain' does not exist" 1>&2 - echo "$help" 1>&2 - exit 1 -fi - -# Quote any args containing shell metacharacters. -ltconfig_args= -for arg -do - case "$arg" in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ltconfig_args="$ltconfig_args '$arg'" ;; - *) ltconfig_args="$ltconfig_args $arg" ;; - esac -done - -# A relevant subset of AC_INIT. - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 5 compiler messages saved in config.log -# 6 checking for... messages and results -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>>./config.log - -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LANG+set}" = set; then LANG=C; export LANG; fi - -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - -if test -z "$srcdir"; then - # Assume the source directory is the same one as the path to ltmain.sh. - srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'` - test "$srcdir" = "$ltmain" && srcdir=. -fi - -trap "$rm conftest*; exit 1" 1 2 15 -if test "$verify_host" = yes; then - # Check for config.guess and config.sub. - ac_aux_dir= - for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/config.guess; then - ac_aux_dir=$ac_dir - break - fi - done - if test -z "$ac_aux_dir"; then - echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2 - echo "$help" 1>&2 - exit 1 - fi - ac_config_guess=$ac_aux_dir/config.guess - ac_config_sub=$ac_aux_dir/config.sub - - # Make sure we can run config.sub. - if $ac_config_sub sun4 >/dev/null 2>&1; then : - else - echo "$progname: cannot run $ac_config_sub" 1>&2 - echo "$help" 1>&2 - exit 1 - fi - - echo $ac_n "checking host system type""... $ac_c" 1>&6 - - host_alias=$host - case "$host_alias" in - "") - if host_alias=`$ac_config_guess`; then : - else - echo "$progname: cannot guess host type; you must specify one" 1>&2 - echo "$help" 1>&2 - exit 1 - fi ;; - esac - host=`$ac_config_sub $host_alias` - echo "$ac_t$host" 1>&6 - - # Make sure the host verified. - test -z "$host" && exit 1 - -elif test -z "$host"; then - echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2 - echo "$help" 1>&2 - exit 1 -else - host_alias=$host -fi - -# Transform linux* to *-*-linux-gnu*, to support old configure scripts. -case "$host_os" in -linux-gnu*) ;; -linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -case "$host_os" in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR cru $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -# Set a sane default for `AR'. -test -z "$AR" && AR=ar - -# If RANLIB is not set, then run the test. -if test "${RANLIB+set}" != "set"; then - result=no - - echo $ac_n "checking for ranlib... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/ranlib; then - RANLIB="ranlib" - result="ranlib" - break - fi - done - IFS="$save_ifs" - - echo "$ac_t$result" 1>&6 -fi - -if test -n "$RANLIB"; then - old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" - old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds" -fi - -# Check to see if we are using GCC. -if test "$with_gcc" != yes || test -z "$CC"; then - # If CC is not set, then try to find GCC or a usable CC. - if test -z "$CC"; then - echo $ac_n "checking for gcc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH; do - IFS="$save_ifs" - test -z "$dir" && dir=. - if test -f $dir/gcc; then - CC="gcc" - break - fi - done - IFS="$save_ifs" - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - fi - - # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". - if test -z "$CC"; then - echo $ac_n "checking for cc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - cc_rejected=no - for dir in $PATH; do - test -z "$dir" && dir=. - if test -f $dir/cc; then - if test "$dir/cc" = "/usr/ucb/cc"; then - cc_rejected=yes - continue - fi - CC="cc" - break - fi - done - IFS="$save_ifs" - if test $cc_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same name, so the bogon will be chosen - # first if we set CC to just the name; use the full file name. - shift - set dummy "$dir/cc" "$@" - shift - CC="$@" - fi - fi - - if test -n "$CC"; then - echo "$ac_t$CC" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$CC"; then - echo "$progname: error: no acceptable cc found in \$PATH" 1>&2 - exit 1 - fi - fi - - # Now see if the compiler is really GCC. - with_gcc=no - echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 - echo "$progname:424: checking whether we are using GNU C" >&5 - - $rm conftest.c - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - with_gcc=yes - fi - $rm conftest.c - echo "$ac_t$with_gcc" 1>&6 -fi - -# Allow CC to be a program name with arguments. -set dummy $CC -compiler="$2" - -echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 -pic_flag= -special_shlib_compile_flags= -wl= -link_static_flag= -no_builtin_flag= - -if test "$with_gcc" = yes; then - wl='-Wl,' - link_static_flag='-static' - no_builtin_flag=' -fno-builtin' - - case "$host_os" in - aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) - # PIC is the default for these OSes. - ;; - os2*) - # We can build DLLs from non-PIC. - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - pic_flag='-m68020 -resident32 -malways-restore-a4' - ;; - *) - pic_flag='-fPIC' - ;; - esac -else - # PORTME Check for PIC flags for the system compiler. - case "$host_os" in - aix3* | aix4*) - # All AIX code is PIC. - link_static_flag='-bnso -bI:/lib/syscalls.exp' - ;; - - hpux9* | hpux10*) - # Is there a better link_static_flag that works with the bundled CC? - wl='-Wl,' - link_static_flag="${wl}-a ${wl}archive" - pic_flag='+Z' - ;; - - irix5* | irix6*) - wl='-Wl,' - link_static_flag='-non_shared' - # PIC (with -KPIC) is the default. - ;; - - os2*) - # We can build DLLs from non-PIC. - ;; - - osf3* | osf4*) - # All OSF/1 code is PIC. - wl='-Wl,' - link_static_flag='-non_shared' - ;; - - sco3.2v5*) - pic_flag='-Kpic' - link_static_flag='-dn' - special_shlib_compile_flags='-belf' - ;; - - solaris2*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - sunos4*) - pic_flag='-PIC' - link_static_flag='-Bstatic' - wl='-Qoption ld ' - ;; - - sysv4.2uw2*) - pic_flag='-KPIC' - link_static_flag='-Bstatic' - wl='-Wl,' - ;; - - uts4*) - pic_flag='-pic' - link_static_flag='-Bstatic' - ;; - - *) - can_build_shared=no - ;; - esac -fi - -if test -n "$pic_flag"; then - echo "$ac_t$pic_flag" 1>&6 - - # Check to make sure the pic_flag actually works. - echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6 - $rm conftest* - echo > conftest.c - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then - # Append any warnings to the config.log. - cat conftest.err 1>&5 - - # On HP-UX, both CC and GCC only warn that PIC is supported... then they - # create non-PIC objects. So, if there were any warnings, we assume that - # PIC is not supported. - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - can_build_shared=no - pic_flag= - else - echo "$ac_t"yes 1>&6 - pic_flag=" $pic_flag" - fi - else - # Append any errors to the config.log. - cat conftest.err 1>&5 - can_build_shared=no - pic_flag= - echo "$ac_t"no 1>&6 - fi - CFLAGS="$save_CFLAGS" - $rm conftest* -else - echo "$ac_t"none 1>&6 -fi - -# Check for any special shared library compilation flags. -if test -n "$special_shlib_compile_flags"; then - echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 - if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then : - else - echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2 - can_build_shared=no - fi -fi - -echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6 -$rm conftest* -echo 'main(){return(0);}' > conftest.c -save_LDFLAGS="$LDFLAGS" -LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - echo "$ac_t$link_static_flag" 1>&6 -else - echo "$ac_t"none 1>&6 - link_static_flag= -fi -LDFLAGS="$save_LDFLAGS" -$rm conftest* - -if test -z "$LN_S"; then - # Check to see if we can use ln -s, or we need hard links. - echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 - $rm conftestdata - if ln -s X conftestdata 2>/dev/null; then - $rm conftestdata - LN_S="ln -s" - else - LN_S=ln - fi - if test "$LN_S" = "ln -s"; then - echo "$ac_t"yes 1>&6 - else - echo "$ac_t"no 1>&6 - fi -fi - -# Make sure LD is an absolute path. -if test -z "$LD"; then - ac_prog=ld - if test "$with_gcc" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 - echo "$progname:624: checking for ld used by GCC" >&5 - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - /* | [A-Za-z]:\\*) - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we are not using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac - elif test "$with_gnu_ld" = yes; then - echo $ac_n "checking for GNU ld... $ac_c" 1>&6 - echo "$progname:642: checking for GNU ld" >&5 - else - echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:645: checking for non-GNU ld" >&5 - fi - - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then - LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi - fi - done - IFS="$ac_save_ifs" - fi - - if test -n "$LD"; then - echo "$ac_t$LD" 1>&6 - else - echo "$ac_t"no 1>&6 - fi - - if test -z "$LD"; then - echo "$progname: error: no acceptable ld found in \$PATH" 1>&2 - exit 1 - fi -fi - -# Check to see if it really is or is not GNU ld. -echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6 -# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - with_gnu_ld=yes -else - with_gnu_ld=no -fi -echo "$ac_t$with_gnu_ld" 1>&6 - -# See if the linker supports building shared libraries. -echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6 - -allow_undefined_flag= -no_undefined_flag= -archive_cmds= -old_archive_from_new_cmds= -export_dynamic_flag_spec= -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no -hardcode_shlibpath_var=unsupported -runpath_var= - -case "$host_os" in -amigaos* | sunos4*) - # On these operating systems, we should treat GNU ld like the system ld. - gnu_ld_acts_native=yes - ;; -*) - gnu_ld_acts_native=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then - - # See if GNU ld supports shared libraries. - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs' - runpath_var=LD_RUN_PATH - ld_shlibs=yes - else - ld_shlibs=no - fi - - if test "$ld_shlibs" = yes; then - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - fi -else - # PORTME fill in a description of your system's linker (not GNU ld) - case "$host_os" in - aix3*) - allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$with_gcc" = yes && test -z "$link_static_flag"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4*) - allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - - amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3, at last, uses gcc -shared to do shared libraries. - freebsd3*) - archive_cmds='$CC -shared -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - irix5* | irix6*) - archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - ;; - - netbsd*) - # Tested with NetBSD 1.2 ld - archive_cmds='$LD -Bshareable -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - openbsd*) - archive_cmds='$LD -Bshareable -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' - ;; - - osf3* | osf4*) - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - sco3.2v5*) - archive_cmds='$LD -G -o $lib$libobjs' - hardcode_direct=yes - ;; - - solaris2*) - no_undefined_flag=' -z text' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - - # Solaris 2 before 2.5 hardcodes -L paths. - case "$host_os" in - solaris2.[0-4]*) - hardcode_minus_L=yes - ;; - esac - ;; - - sunos4*) - if test "$with_gcc" = yes; then - archive_cmds='$CC -shared -o $lib$libobjs' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' - fi - - if test "$with_gnu_ld" = yes; then - export_dynamic_flag_spec='${wl}-export-dynamic' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib$libobjs' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - can_build_shared=no - ;; - esac -fi -echo "$ac_t$ld_shlibs" 1>&6 - -if test -z "$NM"; then - echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 - case "$NM" in - /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path. - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -B" - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -p" - else - NM="$ac_dir/nm" - fi - break - fi - done - IFS="$ac_save_ifs" - test -z "$NM" && NM=nm - ;; - esac - echo "$ac_t$NM" 1>&6 -fi - -# Check for command to grab the raw symbol name followed by C symbol from nm. -echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRSTU]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \1' - -# Define system-specific variables. -case "$host_os" in -aix*) - symcode='[BCDTU]' - ;; -irix*) - # Cannot use undefined symbols on IRIX because inlined functions mess us up. - symcode='[BCDEGRST]' - ;; -solaris2*) - symcode='[BDTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTUW]' -fi - -# Write the raw and C identifiers. -global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'" - -# Check to see that the pipe works correctly. -pipe_works=no -$rm conftest* -cat > conftest.c <&5 -if { (eval echo $progname:972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then - # Now try to grab the symbols. - nlist=conftest.nm - if { echo "$progname:975: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then - - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - wcout=`wc "$nlist" 2>/dev/null` - count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` - (test "$count" -ge 0) 2>/dev/null || count=-1 - else - rm -f "$nlist"T - count=-1 - fi - - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.c -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c - - cat <> conftest.c -#if defined (__STDC__) && __STDC__ -# define __ptr_t void * -#else -# define __ptr_t char * -#endif - -/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ -int dld_preloaded_symbol_count = $count; - -/* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; -} -dld_preloaded_symbols[] = -{ -EOF - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (__ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.o conftestm.o - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS='conftestm.o' - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - pipe_works=yes - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - LIBS="$save_LIBS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $global_symbol_pipe" >&5 - fi -else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 -fi -$rm conftest* - -# Do not use the global_symbol_pipe unless it works. -echo "$ac_t$pipe_works" 1>&6 -test "$pipe_works" = yes || global_symbol_pipe= - -# Check hardcoding attributes. -echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var"; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && \ - test "$hardcode_minus_L" != no && \ - test "$hardcode_shlibpath_var" != no; then - - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -elif test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" != yes; then - # We cannot hardcode anything. - hardcode_action=unsupported -else - # We can only hardcode existing directories. - hardcode_action=relink -fi -echo "$ac_t$hardcode_action" 1>&6 -test "$hardcode_action" = unsupported && can_build_shared=no - - -reload_flag= -reload_cmds='$LD$reload_flag -o $output$reload_objs' -echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 -# PORTME Some linker may need a different reload flag. -reload_flag='-r' -echo "$ac_t$reload_flag" -test -n "$reload_flag" && reload_flag=" $reload_flag" - -# PORTME Fill in your ld.so characteristics -library_names_spec= -libname_spec='lib$name' -soname_spec= -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -version_type=none -dynamic_linker="$host_os ld.so" - -echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 -case "$host_os" in -aix3* | aix4*) - version_type=linux - library_names_spec='${libname}${release}.so.$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so.$major' - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - -freebsd2* | freebsd3*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -gnu*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - shlibpath_var=LD_LIBRARY_PATH - ;; - -hpux9* | hpux10*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - dynamic_linker="$host_os dld.sl" - version_type=sunos - shlibpath_var=SHLIB_PATH - library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl' - soname_spec='${libname}${release}.sl.$major' - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -irix5* | irix6*) - version_type=osf - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux-gnu*) - version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' - finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - - if test -f /lib/ld.so.1; then - dynamic_linker='GNU ld.so' - else - # Only the GNU ld.so supports shared libraries on MkLinux. - case "$host_cpu" in - powerpc*) dynamic_linker=no ;; - *) dynamic_linker='Linux ld.so' ;; - esac - fi - ;; - -netbsd* | openbsd*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -os2*) - libname_spec='$name' - library_names_spec='$libname.dll $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4*) - version_type=osf - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}.so.$major' - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - shlibpath_var=LD_LIBRARY_PATH - ;; - -solaris2*) - version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; - -sysv4.2uw2*) - version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -echo "$ac_t$dynamic_linker" -test "$dynamic_linker" = no && can_build_shared=no - -# Report the final consequences. -echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 - -echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case "$host_os" in -aix*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds;\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -esac - -echo "$ac_t$enable_shared" 1>&6 - -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes - -echo "checking whether to build static libraries... $enable_static" 1>&6 - -echo $ac_n "checking for objdir... $ac_c" 1>&6 -rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - objdir=_libs -fi -rmdir .libs 2>/dev/null -echo "$ac_t$objdir" 1>&6 - -# Copy echo and quote the copy, instead of the original, because it is -# used later. -ltecho="$echo" - -# Now quote all the things that may contain metacharacters. -for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ - old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \ - link_static_flag no_builtin_flag export_dynamic_flag_spec \ - libname_spec library_names_spec soname_spec RANLIB \ - old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ - allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe \ - hardcode_libdir_flag_spec hardcode_libdir_separator; do - - case "$var" in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \ - postinstall_cmds | postuninstall_cmds | finish_cmds) - # Double-quote double-evaled strings. - eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" - ;; - *) - eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`" - ;; - esac -done - -ofile=libtool -trap "$rm $ofile; exit 1" 1 2 15 -echo creating $ofile -$rm $ofile -cat < $ofile -#! /bin/sh - -# libtool - Provide generalized library-building support services. -# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION -# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. -# -# Copyright (C) 1996-1998 Free Software Foundation, Inc. -# Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This program was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\ -# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\ -# $0$ltconfig_args -# -# Compiler and other test output produced by $progname, useful for -# debugging $progname, is in ./config.log if it exists. - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="sed -e s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi - -# An echo program that does not interpret backslashes. -echo="$ltecho" - -# The version of $progname that generated this script. -LTCONFIG_VERSION="$VERSION" - -# Shell to use when invoking shell scripts. -SHELL=${CONFIG_SHELL-/bin/sh} - -# Whether or not to build libtool libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build old-style libraries. -build_old_libs=$enable_static - -# The host system. -host_alias="$host_alias" -host="$host" - -# The archiver. -AR="$AR" - -# The default C compiler. -CC="$CC" - -# The linker used to build libraries. -LD="$LD" - -# Whether we need hard or soft links. -LN_S="$LN_S" - -# A BSD-compatible nm program. -NM="$NM" - -# The name of the directory that contains temporary libtool files. -objdir="$objdir" - -# How to create reloadable object files. -reload_flag="$reload_flag" -reload_cmds="$reload_cmds" - -# How to pass a linker flag through the compiler. -wl="$wl" - -# Additional compiler flags for building library objects. -pic_flag="$pic_flag" - -# Compiler flag to prevent dynamic linking. -link_static_flag="$link_static_flag" - -# Compiler flag to turn off builtin functions. -no_builtin_flag="$no_builtin_flag" - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="$export_dynamic_flag_spec" - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec="$libname_spec" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec="$library_names_spec" - -# The coded name of the library, if different from the real name. -soname_spec="$soname_spec" - -# Commands used to build and install an old-style archive. -RANLIB="$RANLIB" -old_archive_cmds="$old_archive_cmds" -old_postinstall_cmds="$old_postinstall_cmds" -old_postuninstall_cmds="$old_postuninstall_cmds" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="$old_archive_from_new_cmds" - -# Commands used to build and install a shared archive. -archive_cmds="$archive_cmds" -postinstall_cmds="$postinstall_cmds" -postuninstall_cmds="$postuninstall_cmds" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="$allow_undefined_flag" - -# Flag that forces no undefined symbols. -no_undefined_flag="$no_undefined_flag" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="$finish_cmds" - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval="$finish_eval" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="$global_symbol_pipe" - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="$hardcode_libdir_separator" - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -EOF - -case "$host_os" in -aix3*) - cat <<\EOF >> $ofile -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES -fi - -EOF - ;; -esac - -# Append the ltmain.sh script. -cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1) - -chmod +x $ofile -exit 0 - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/buildscripts/ps-to-gifs.sh b/buildscripts/ps-to-gifs.sh index a2e9e26be9..675d40e91f 100755 --- a/buildscripts/ps-to-gifs.sh +++ b/buildscripts/ps-to-gifs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # ps-to-gifs, convert PS to multiple gifs usage() diff --git a/configure b/configure index 493ae9c0e3..54964267a4 100755 --- a/configure +++ b/configure @@ -1884,7 +1884,7 @@ fi test -n "$MSGFMT" && break done -test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh" +test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh " echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6 echo "configure:1891: checking whether msgfmt accepts -o" >&5 @@ -1893,7 +1893,7 @@ echo "configure:1891: checking whether msgfmt accepts -o" >&5 echo "$ac_t""yes" 1>&6 else # urg - MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh)" + MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh" echo "$ac_t""no" 1>&6 echo "configure: warning: please install msgfmt from GNU gettext" 1>&2 diff --git a/debian/Makefile b/debian/Makefile index 4c736d9bb6..a72baf011d 100644 --- a/debian/Makefile +++ b/debian/Makefile @@ -3,21 +3,21 @@ depth = .. NAME= debian +BLURBS=BLURB +AT_FILES = $(BLURBS) # +at-dir = $(outdir)/ +at-ext = -include $(depth)/make/Stepmake.make - +EXTRA_DIST_FILES = README.Debian TODO $(CONF_FILES) $(OUT_DIST_FILES) control.foka CONF_FILES=changelog copyright postinst postrm rules watch OUTCONF_FILES=$(addprefix $(outdir)/, $(basename $(CONF_FILES))) $(OUTIN_FILES) OUT_DIST_FILES = $(OUTIN_FILES) -default: $(OUTCONF_FILES) +include $(depth)/make/Stepmake.make -BLURBS=BLURB -AT_FILES = $(BLURBS) # -at-dir = $(outdir)/ -at-ext = -EXTRA_DIST_FILES = README.Debian TODO $(CONF_FILES) $(OUT_DIST_FILES) control.foka +default: $(OUTCONF_FILES) + $(outdir)/%: % rm -f $@ diff --git a/flower/Makefile b/flower/Makefile index e6ef878895..3d71e4e3ef 100644 --- a/flower/Makefile +++ b/flower/Makefile @@ -12,9 +12,9 @@ SUBDIRS = include SCRIPTS = README_FILES = NEWS-1.0 NEWS-1.1.46 README TODO EXTRA_DIST_FILES= VERSION $(README_FILES) $(SCRIPTS) +MAKEFILES=Library C++ + include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make -include $(stepdir)/Library.make diff --git a/flower/include/Makefile b/flower/include/Makefile index 283e1fadcd..8e6af341b3 100644 --- a/flower/include/Makefile +++ b/flower/include/Makefile @@ -2,7 +2,8 @@ depth = ../.. +MAKEFILES=C++ + include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make diff --git a/init/Makefile b/init/Makefile index 8a72a4fd0e..396cea26a9 100644 --- a/init/Makefile +++ b/init/Makefile @@ -2,14 +2,16 @@ depth = .. -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - INI_FILES = $(FLY_FILES) $(LY_FILES) # DIST_FILES = Makefile $(INI_FILES) INSTALLATION_DIR=$(datadir) INSTALLATION_FILES=$(INI_FILES) +LOCALMAKEFILES=Mutopia + +include $(depth)/make/Stepmake.make + + include $(stepdir)/Installfiles.make diff --git a/init/params.ly b/init/params.ly index 888ccbf9b8..677ebbfbc6 100644 --- a/init/params.ly +++ b/init/params.ly @@ -76,6 +76,7 @@ notewidth = (\quartwidth + \wholewidth) / 2.0; % ugh barsize = \staffheight; rulethickness = \staffline; +stemthickness = \staffline; % uhm unitspace = 22.\pt; diff --git a/input/Makefile b/input/Makefile index 1919c9e343..90fade98c1 100644 --- a/input/Makefile +++ b/input/Makefile @@ -4,14 +4,13 @@ depth = .. SUBDIRS=test bugs -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - examples=example-3 twinkle-pop praeludium-fuga-E twinkle flexamples=example-1 example-2 -include $(stepdir)/WWW.make +LOCALMAKEFILES=Mutopia +include $(depth)/make/Stepmake.make + local-check: $(addsuffix .dvi, $(addprefix $(outdir)/, $(examples))) diff --git a/input/bugs/Makefile b/input/bugs/Makefile index 369ff9045a..b6d250531e 100644 --- a/input/bugs/Makefile +++ b/input/bugs/Makefile @@ -2,10 +2,7 @@ depth = ../.. +LOCALMAKEFILES=Mutopia include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make -examples= #beam-bug slur-bug #why would we want to demo Lily's errors? - -include $(stepdir)/WWW.make diff --git a/input/test/Makefile b/input/test/Makefile index e09e760108..4e5503bec8 100644 --- a/input/test/Makefile +++ b/input/test/Makefile @@ -1,11 +1,8 @@ # input/test/Makefile depth = ../.. - -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - examples=font20 hara-kiri grace mark denneboom +LOCALMAKEFILES=Mutopia -include $(stepdir)/WWW.make +include $(depth)/make/Stepmake.make diff --git a/lib/Makefile b/lib/Makefile index 8b95c0a8c1..93e2b14a67 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -6,9 +6,8 @@ NAME = lily SUBDIRS = include # MODULE_LIBS= $(depth)/flower MODULE_CXXFLAGS += -D_REENTRANT +MAKEFILES=Library C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make -include $(stepdir)/Library.make diff --git a/lib/include/Makefile b/lib/include/Makefile index 5dba771ec9..cfe217044e 100644 --- a/lib/include/Makefile +++ b/lib/include/Makefile @@ -1,8 +1,9 @@ # lib/include/Makefile depth = ../.. +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make + diff --git a/lily/Makefile b/lily/Makefile index 7da45565b8..d5464bf147 100644 --- a/lily/Makefile +++ b/lily/Makefile @@ -9,12 +9,9 @@ SUBDIRS = include EXTRA_DIST_FILES = VERSION MODULE_LIBS=$(depth)/lib $(depth)/flower -include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make -include $(stepdir)/Executable.make +MAKEFILES=C++ Executable -include Stable.make -include VERSION +include $(depth)/make/Stepmake.make # force these: Make can't know these have to be generated in advance my-lily-lexer.cc: $(outdir)/parser.hh @@ -26,5 +23,7 @@ $(outdir)/lily-version.o: $(outdir)/version.hh $(outdir)/main.o: $(outdir)/BLURB.hh $(outdir)/COPERTINA.hh $(outdir)/FLAPTEKST.hh +# ugh . -> $(outdir) VERSION: $(depth)/VERSION cp $< $@ + diff --git a/lily/Stable.make b/lily/Stable.make deleted file mode 100644 index 40eaaf2211..0000000000 --- a/lily/Stable.make +++ /dev/null @@ -1,9 +0,0 @@ - - -# a hack to keep exec size under control. -stablecc=meter.cc boxes.cc \ - keyword.cc leastsquares.cc \ - lookup.cc meter.cc\ - parser.cc notename-table.cc lexer.cc\ - template*.cc version.cc tex-stream.cc tex.cc\ - identifier.cc note.cc diff --git a/lily/VERSION b/lily/VERSION index 36dc14b269..7453b04628 100644 --- a/lily/VERSION +++ b/lily/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=2 +PATCH_LEVEL=3 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/lily/include/Makefile b/lily/include/Makefile index 828589fd94..a9ebc88ea5 100644 --- a/lily/include/Makefile +++ b/lily/include/Makefile @@ -1,7 +1,8 @@ # lily/include/Makefile depth = ../.. +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make + diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 7772f0e718..fce50bd7ad 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -179,6 +179,7 @@ Key_engraver::do_post_move_processing () { keyreq_l_ = 0; default_key_b_ = false; + old_accidental_idx_arr_.clear (); } diff --git a/lily/key-item.cc b/lily/key-item.cc index 94645d20c2..58a91cac61 100644 --- a/lily/key-item.cc +++ b/lily/key-item.cc @@ -32,7 +32,7 @@ Key_item::read (Key_engraver const & key_grav_r) { multi_octave_b_ = key_grav_r.key_.multi_octave_b_; const Array &idx_arr = key_grav_r.accidental_idx_arr_; - for (int i = 0 ; i< idx_arr.size(); i++) + for (int i = 0; i < idx_arr.size(); i++) { Musical_pitch m_l =idx_arr[i]; if (multi_octave_b_) diff --git a/lily/lookup.cc b/lily/lookup.cc index 0d21c2c448..7625507554 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -308,10 +308,15 @@ Lookup::stem (Real y1,Real y2) const s.dim_.y() = Interval (y1,y2); Array a; - a.push (print_dimen (y1)); + + + Real stem_width = paper_l_->get_var ("stemthickness"); + a.push (print_dimen (-stem_width /2)); + a.push (print_dimen (stem_width)); a.push (print_dimen (y2)); + a.push (print_dimen (-y1)); - String src = (*symtables_p_)("param")->lookup ("stem").tex_; + String src = "\\kern %\\vrule width % height % depth %"; s.tex_ = substitute_args (src,a); s.font_ = font_; return s; diff --git a/lily/p-score.cc b/lily/p-score.cc index bd7ec060e0..af2300881c 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -131,10 +131,6 @@ Paper_score::set_breaking (Array const &breaking) || !((Score_element*)span_p)->line_l ()) { span_p->unlink (); -#if 0 - int sz = span_p->class_size(); - set_frobnify (span_p,sz); -#endif delete span_p; } else @@ -149,10 +145,6 @@ Paper_score::set_breaking (Array const &breaking) { i_l->unlink (); Score_element * item_p= i.remove_p (); -#if 0 - int sz = item_p->class_size (); - set_frobnify (item_p, sz); -#endif delete item_p; } else diff --git a/make/Lilypond_rules.make b/make/Lilypond_rules.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/make/Lilypond_rules.make @@ -0,0 +1 @@ +#empty diff --git a/make/Lilypond_targets.make b/make/Lilypond_targets.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/make/Lilypond_targets.make @@ -0,0 +1 @@ +#empty diff --git a/make/Lilypond.make b/make/Lilypond_vars.make similarity index 100% rename from make/Lilypond.make rename to make/Lilypond_vars.make diff --git a/make/Makefile b/make/Makefile index 7514481657..dec2c68008 100644 --- a/make/Makefile +++ b/make/Makefile @@ -1,9 +1,13 @@ # file make/Makefile depth = .. +BLURBS=BLURB COPERTINA FLAPTEKST +MAKEFILES=Makedir + include $(depth)/make/Stepmake.make -BLURBS=BLURB COPERTINA FLAPTEKST -include $(stepdir)/Makedir.shared.make + + + diff --git a/make/Mutopia.make b/make/Mutopia.make index db95a60b66..1c541ee636 100644 --- a/make/Mutopia.make +++ b/make/Mutopia.make @@ -1,41 +1,3 @@ # make/Mutopia.make -FLY_FILES = $(wildcard *.fly) -LY_FILES = $(wildcard *.ly) -M4_FILES = $(wildcard *.m4) -LYM4_FILES = $(wildcard *.lym4) -DIST_FILES = Makefile $(EXTRA_DIST_FILES) $(FLY_FILES) $(LY_FILES) $(M4_FILES) $(LYM4_FILES) -# - -include $(depth)/make/Lilypond.make - -OUT_FILES = $(addprefix $(outdir)/,$(M4_FILES:%.m4=%)) \ - $(addprefix $(outdir)/,$(LYM4_FILES:%.lym4=%.ly)) - -all: $(OUT_FILES) - -name-stem= $(notdir $(basename $<)) - -$(outdir)/%.gif: $(outdir)/%.ps - sh $(buildscripts)/ps-to-gifs.sh $< - -mv $(name-stem)-page*.gif $(outdir)/ - touch $@ - -$(outdir)/%.ly.txt: %.ly - ln -f $< $@ - -$(outdir)/%.fly.txt: %.fly - ln -f $< $@ - -# don't junk intermediate .dvi files. They're easier to view than -# .ps or .gif -.PRECIOUS: $(outdir)/%.dvi - -$(outdir)/%.dvi: %.ly - sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $< - -mv $(basename $<).midi $(outdir) - -$(outdir)/%.dvi: %.fly - sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $< - -mv $(basename $<).midi $(outdir) diff --git a/make/Mutopia_rules.make b/make/Mutopia_rules.make new file mode 100644 index 0000000000..0b16e7e68a --- /dev/null +++ b/make/Mutopia_rules.make @@ -0,0 +1,26 @@ + + +$(outdir)/%.gif: $(outdir)/%.ps + sh $(buildscripts)/ps-to-gifs.sh $< + -mv $(name-stem)-page*.gif $(outdir)/ + touch $@ + +$(outdir)/%.ly.txt: %.ly + ln -f $< $@ + +$(outdir)/%.fly.txt: %.fly + ln -f $< $@ + + + +# don't junk intermediate .dvi files. They're easier to view than +# .ps or .gif +.PRECIOUS: $(outdir)/%.dvi + +$(outdir)/%.dvi: %.ly + sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $< + -mv $(basename $<).midi $(outdir) + +$(outdir)/%.dvi: %.fly + sh $(depth)/scripts/ly2dvi.sh -S $(topdir) -o $(outdir) $< + -mv $(basename $<).midi $(outdir) diff --git a/make/Mutopia_targets.make b/make/Mutopia_targets.make new file mode 100644 index 0000000000..4aa51ff017 --- /dev/null +++ b/make/Mutopia_targets.make @@ -0,0 +1,9 @@ + + +all: $(OUT_FILES) + + +local-WWW: $(ly_examples) $(fly_examples) $(ps_examples) $(gif_examples) + (cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --package=$(topdir) --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples)) + $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/$(outdir)/index.html $(outdir)/index.html + echo $^ > $(depth)/wwwlist diff --git a/stepmake/stepmake/WWW.make b/make/Mutopia_vars.make similarity index 50% rename from stepmake/stepmake/WWW.make rename to make/Mutopia_vars.make index b4c2b27c3b..b05154a30c 100644 --- a/stepmake/stepmake/WWW.make +++ b/make/Mutopia_vars.make @@ -1,3 +1,13 @@ + +# 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))) @@ -10,8 +20,8 @@ gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(all_examples))) html_subdirs=$(addprefix --subdirs ,$(SUBDIRS)) -## UGH! lily specific -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 +name-stem= $(notdir $(basename $<)) + +OUT_FILES = $(addprefix $(outdir)/,$(M4_FILES:%.m4=%)) \ + $(addprefix $(outdir)/,$(LYM4_FILES:%.lym4=%.ly)) diff --git a/make/STATE-VECTOR b/make/STATE-VECTOR index 0ed7c75c4e..2f60c33f24 100644 --- a/make/STATE-VECTOR +++ b/make/STATE-VECTOR @@ -62,3 +62,5 @@ 1.0.1.jcn2 1.0.1.jbr2 1.0.2 +1.0.2.hwn1 +1.0.3 diff --git a/make/Stepmake.make b/make/Stepmake.make index 883b34e040..c8c827e18a 100644 --- a/make/Stepmake.make +++ b/make/Stepmake.make @@ -15,12 +15,31 @@ endif include $(depth)/$(configuration).make +ifdef CONFIGSUFFIX +outdir=out-$(CONFIGSUFFIX) +else +outdir=out +endif + + + stepdir = $(depth)/$(stepmake)/stepmake include $(stepdir)/Include.make -# ugh. +MAKEFILES := Generic $(MAKEFILES) + +include $(addprefix $(stepdir)/,$(addsuffix _vars.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _vars.make, $(LOCALMAKEFILES))) +include $(addprefix $(stepdir)/,$(addsuffix _rules.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _rules.make, $(LOCALMAKEFILES))) +include $(addprefix $(stepdir)/,$(addsuffix _targets.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _targets.make, $(LOCALMAKEFILES))) + +# ugh. ugh ugh ugh $(depth)/$(configuration).make: $(depth)/configure @echo "**************************************" @echo "configure changed! You should probably reconfigure manually." @echo "**************************************" (cd $(depth); ./config.status) + + diff --git a/make/Targets.make b/make/Targets.make index 1d7f67bb1c..f2b55fbaeb 100644 --- a/make/Targets.make +++ b/make/Targets.make @@ -2,23 +2,6 @@ # file make/Targets.make -check-dist-deps: - false - -check-html-deps: - false - $(MAKE) -C $(depth)/Documentation html - - -check-mf-deps: - false - $(MAKE) -C $(depth)/mf - -check-texinfo-deps: - false - $(MAKE) -C $(depth)/Documentation texinfo - $(MAKE) -C $(depth)/Documentation/man texinfo - # urg! $(configheader): $(depth)/$(configuration).hh cp $< $@ diff --git a/make/Toplevel.make.in b/make/Toplevel.make.in index 0784604257..b09aa86c77 100644 --- a/make/Toplevel.make.in +++ b/make/Toplevel.make.in @@ -9,7 +9,7 @@ depth = . # descent order into subdirectories: # SUBDIRS = scripts buildscripts flower lib lily mf mi2mu po debian \ - Documentation init input tex make mutopia test intl $(stepmake) + Documentation init input tex make mutopia test intl stepmake # SCRIPTS = configure aclocal.m4 @@ -28,8 +28,6 @@ include $(depth)/make/Stepmake.make # list of distribution files: # - - include $(stepdir)/Toplevel.make aclocal.m4: $(stepdir)/../aclocal.m4 @@ -43,7 +41,7 @@ examples: tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' -czf $(outdir)/examples.tar.gz `find input mutopia -type d -name 'out-www' -print` -localdist: do-top-doc +local-dist: do-top-doc $(package-icon): $(MAKE) -C Documentation/pictures icon diff --git a/make/Variables.make b/make/Variables.make index 82a5199a8c..a547619332 100644 --- a/make/Variables.make +++ b/make/Variables.make @@ -8,12 +8,6 @@ # you do make dist # -# derived names -flowerout = $(buildprefix)/flower/$(outdir) -libout = $(buildprefix)/lib/$(outdir) -lilyout = $(buildprefix)/lily/$(outdir) -mi2muout = $(buildprefix)/mi2mu/$(outdir) - buildscripts = $(depth)/buildscripts @@ -25,32 +19,9 @@ make-dir = $(depth)/make include-lib = $(depth)/lib/include include-flower = $(depth)/flower/include -NO_DOOS_DIST = flower lib lily make mi2mu out - -# dummydeps -# -DUMMYDEPS=\ - $(flowerout)/dummy.dep\ - $(libout)/dummy.dep\ - $(lilyout)/dummy.dep\ - $(mi2muout)/dummy.dep\ - -# - -# version stuff: -# -lily-version = $(lilyout)/version.hh -flower-version = $(flowerout)/version.hh -mi2mu-version = $(mi2muout)/version.hh -# -# custom libraries: -# -LIBFLOWER = $(flowerout)/$(LIB_PREFIX)flower$(LIB_SUFFIX) -LIBLILY = $(libout)/$(LIB_PREFIX)lily$(LIB_SUFFIX) -# -LILYPOND_INCLUDES = -I$(include-lib) -I$(libout) -I$(include-flower) -I$(flowerout) +LILYPOND_INCLUDES = $(include-lib) $(depth)/lib/$(outdir) $(include-flower) $(depth)/flower/$(outdir) LILYPOND_LDFLAGS = -L$(depth)/lib/$(outdir) -L$(depth)/flower/$(outdir) LILYPOND_LIBES = diff --git a/make/lelievijver.lsm.in b/make/lelievijver.lsm.in index 2e25e2a863..f05d79bff1 100644 --- a/make/lelievijver.lsm.in +++ b/make/lelievijver.lsm.in @@ -8,8 +8,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 610k @package@-@TOPLEVEL_VERSION@.tar.gz -Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/ - 610k @package@-@TOPLEVEL_VERSION@.tar.gz + 770k @package@-@TOPLEVEL_VERSION@.tar.gz +Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ + 770k @package@-@TOPLEVEL_VERSION@.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/lilypond.lsm.in b/make/lilypond.lsm.in index b7b4b25bce..efaa469901 100644 --- a/make/lilypond.lsm.in +++ b/make/lilypond.lsm.in @@ -8,8 +8,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 730k @package@-@TOPLEVEL_VERSION@.tar.gz -Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 730k @package@-@TOPLEVEL_VERSION@.tar.gz + 770k @package@-@TOPLEVEL_VERSION@.tar.gz +Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ + 770k @package@-@TOPLEVEL_VERSION@.tar.gz Copying-policy: GPL End diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 44d76f6feb..e093972cad 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -3,8 +3,8 @@ Version: @TOPLEVEL_VERSION@ Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz -Summary: A program for typesetting music. +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz +Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys Icon: @package@-icon.gif diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 6261f091c4..4303590da8 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,7 +1,7 @@ Begin3 Titel: LilyPond -Versie: 1.0.2 -Inschrijf datum: 13AUG98 +Versie: 1.0.3 +Inschrijf datum: 19AUG98 Beschrijving: LilyPond is de muziekzetter van het GNU Project. Dit programma drukt prachtige bladmuziek volgens een muzikaal definitie bestand. Ook kan @@ -15,8 +15,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 lilypond-1.0.2.tar.gz -Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/ - 610k lilypond-1.0.2.tar.gz + 770k lilypond-1.0.3.tar.gz +Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ + 770k lilypond-1.0.3.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 43dcdc13b7..d85b09323d 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.0.2 -Entered-date: 13AUG98 +Version: 1.0.3 +Entered-date: 19AUG98 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,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 lilypond-1.0.2.tar.gz -Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 730k lilypond-1.0.2.tar.gz + 770k lilypond-1.0.3.tar.gz +Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ + 770k lilypond-1.0.3.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index fbb5522752..37498a2490 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,10 +1,10 @@ Name: lilypond -Version: 1.0.2 +Version: 1.0.3 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.2.tar.gz -Summary: A program for typesetting music. +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.0.3.tar.gz +Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys Icon: lilypond-icon.gif diff --git a/make/out/zlilypond-docs.spec b/make/out/zlilypond-docs.spec deleted file mode 100644 index 1757826f70..0000000000 --- a/make/out/zlilypond-docs.spec +++ /dev/null @@ -1,52 +0,0 @@ -# -# The weird name is to persuade RPM to use the other spec for building the -# lilypond rpm from the tarball. -# - -Name: lilypond-docs -Version: 1.0.2 -Release: 1 -Copyright: GPL -Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.2.tar.gz -Summary: A program for typesetting music (documentation) -URL: http://www.cs.uu.nl/~hanwen/lilypond -Packager: Han-Wen Nienhuys -Icon: lelie_icon.gif -BuildRoot: /tmp/lilypond-install -BuildArchitectures: noarch - - -%description - -LilyPond is the GNU Project music typesetter. This program can print -beautiful sheet music from a music definition file. It can also play -mechanical performances to a MIDI file. Features include multiple -staffs, meters, clefs, keys, lyrics, versatile input language, cadenzas, -beams, slurs, triplets, formatting scores, part extraction. It includes -a nice font of musical symbols. - -This package contains the documentation in HTML and PS format. - -%prep -%setup -T -n lilypond-1.0.2 -b0 -%build - -# -# This is actually quite gross. You have to have a working (and up to date) -# LilyPond and Yodl to build the documentation. -# - -make htmldocs - -%install - -# ln /home/hanwen/usr/src/lilypond/out/htmldoc.tar.gz out/ -mkdir -p $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.2 -tar -C $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.2 -xzf out/htmldoc.tar.gz - -%files - -%doc /usr/doc/lilypond-1.0.2 - -%post diff --git a/make/zlilypond-docs.spec.in b/make/zlilypond-docs.spec.in deleted file mode 100644 index 9e893be195..0000000000 --- a/make/zlilypond-docs.spec.in +++ /dev/null @@ -1,46 +0,0 @@ -# -# The weird name is to persuade RPM to use the other spec for building the -# lilypond rpm from the tarball. -# - -Name: lilypond-docs -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 (documentation) -URL: http://www.cs.uu.nl/~hanwen/lilypond -Packager: Han-Wen Nienhuys -Icon: lelie_icon.gif -BuildRoot: /tmp/lilypond-install -BuildArchitectures: noarch - - -%description -@BLURB@ - -This package contains the documentation in HTML and PS format. - -%prep -%setup -T -n lilypond-@TOPLEVEL_VERSION@ -b0 -%build - -# -# This is actually quite gross. You have to have a working (and up to date) -# LilyPond and Yodl to build the documentation. -# - -make htmldocs - -%install - -# ln /home/hanwen/usr/src/lilypond/out/htmldoc.tar.gz out/ -mkdir -p $RPM_BUILD_ROOT/usr/doc/lilypond-@TOPLEVEL_VERSION@ -tar -C $RPM_BUILD_ROOT/usr/doc/lilypond-@TOPLEVEL_VERSION@ -xzf out/htmldoc.tar.gz - -%files - -%doc /usr/doc/lilypond-@TOPLEVEL_VERSION@ - -%post diff --git a/mf/Makefile b/mf/Makefile index 407ce8ea27..11418e32e9 100644 --- a/mf/Makefile +++ b/mf/Makefile @@ -2,10 +2,8 @@ depth = .. -include $(depth)/make/Stepmake.make -include $(stepdir)/Metafont.make +MAKEFILES=Metafont -TEX_FILES = $(wildcard *.tex) EXTRA_DIST_FILES += TODO README FET_FILES = $(wildcard feta[0-9]*.mf) @@ -19,6 +17,8 @@ ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES) OUT_DIST_FILES += $(AFM_FILES) +include $(depth)/make/Stepmake.make + default: $(ALL_GEN_FILES) diff --git a/mi2mu/Makefile b/mi2mu/Makefile index 012024b932..6b6d9552bd 100644 --- a/mi2mu/Makefile +++ b/mi2mu/Makefile @@ -10,9 +10,9 @@ SUBDIRS = include EXTRA_DIST_FILES += TODO MODULE_LIBS=$(depth)/lib $(depth)/flower +MAKEFILES=C++ Executable + include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make -include $(stepdir)/Executable.make # explicit dependencies: (how to do auto?) # diff --git a/mi2mu/include/Makefile b/mi2mu/include/Makefile index b23f26fb30..3f9a0ac423 100644 --- a/mi2mu/include/Makefile +++ b/mi2mu/include/Makefile @@ -1,7 +1,6 @@ # lib/include/Makefile depth = ../.. - +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make diff --git a/mi2mu/include/mudela-staff.hh b/mi2mu/include/mudela-staff.hh index 4608e0859c..4b4fd75c60 100644 --- a/mi2mu/include/mudela-staff.hh +++ b/mi2mu/include/mudela-staff.hh @@ -14,32 +14,28 @@ /// (mudela_staff) class Mudela_staff { public: - Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str); - - void add_item (Mudela_item* mudela_item_p); - void eat_voice (Link_list& items); - String id_str(); - String name_str(); - void output (Mudela_stream& mudela_stream_r); - void process(); - - String copyright_str_; - String instrument_str_; - String name_str_; - Mudela_key* mudela_key_l_; - Mudela_time_signature* mudela_time_signature_l_; - Mudela_tempo* mudela_tempo_l_; - int number_i_; + Mudela_staff (int number_i, String copyright_str, String track_name_str, String instrument_str); + + void add_item (Mudela_item* mudela_item_p); + void eat_voice (Link_list& items); + String id_str(); + String name_str(); + void output (Mudela_stream& mudela_stream_r); + void process(); + + String copyright_str_; + String instrument_str_; + String name_str_; + Mudela_key* mudela_key_l_; + Mudela_time_signature* mudela_time_signature_l_; + Mudela_tempo* mudela_tempo_l_; + int number_i_; private: - void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i); -#if 0 - void output_mudela_rest (Mudela_stream& mudela_stream_r, Moment begin_mom, Moment end_mom); - void output_mudela_rest_remain (Mudela_stream& mudela_stream_r, Moment mom); -#endif - - Pointer_list mudela_voice_p_list_; - Pointer_list mudela_item_p_list_; + void output_mudela_begin_bar (Mudela_stream& mudela_stream_r, Moment now_mom, int bar_i); + + Pointer_list mudela_voice_p_list_; + Pointer_list mudela_item_p_list_; }; #endif // MUDELA_STAFF_HH diff --git a/mi2mu/mudela-score.cc b/mi2mu/mudela-score.cc index 92329cd74d..b7e234b97d 100644 --- a/mi2mu/mudela-score.cc +++ b/mi2mu/mudela-score.cc @@ -110,6 +110,7 @@ Mudela_score::get_column_l (Moment mom) return c; } + void Mudela_score::output (String filename_str) { @@ -138,7 +139,7 @@ Mudela_score::output (String filename_str) && (i == mudela_staff_p_list_.top())) continue; mudela_stream << "\\type Staff = \"" << i->id_str() << "\" "; - mudela_stream << "\\$" << i->id_str() << "\n"; + mudela_stream << String ("\\" + i->id_str ()) << "\n"; } if (mudela_staff_p_list_.size() > 1) mudela_stream << ">\n"; diff --git a/mi2mu/mudela-staff.cc b/mi2mu/mudela-staff.cc index d6995e532a..5b326d966d 100644 --- a/mi2mu/mudela-staff.cc +++ b/mi2mu/mudela-staff.cc @@ -75,12 +75,17 @@ Mudela_staff::eat_voice (Link_list& items) String Mudela_staff::id_str() { - String str = name_str(); - for (int i = 0; i < str.length_i(); i++) - if ( (!i && !isalpha (str[ i ])) - || !isalnum (str[ i ])) - * (str.ch_l() + i) = '_'; - return str; + String id (name_str ()); + char *cp = id.ch_l (); + char *end = cp + id.length_i(); + for (;cp < end; cp++) + { + if (!isalpha (*cp)) + { + *cp = 'X'; + } + } + return id; } String @@ -88,13 +93,15 @@ Mudela_staff::name_str() { if (name_str_.length_i()) return name_str_; - return String ("track") + to_str (number_i_); + return String ("track") + to_str (char ('A' - 1 + number_i_)); } + + void Mudela_staff::output (Mudela_stream& mudela_stream_r) { - mudela_stream_r << "$" << id_str() << " = \\melodic"; + mudela_stream_r << id_str() << " = \\melodic"; mudela_stream_r << (mudela_voice_p_list_.size() > 1 ? "<" : "{"); mudela_stream_r << '\n'; mudela_stream_r << _ ("% midi copyright:") << copyright_str_ << '\n'; diff --git a/mutopia/Coriolan/Makefile b/mutopia/Coriolan/Makefile index 4363beefe8..6fcbed0202 100644 --- a/mutopia/Coriolan/Makefile +++ b/mutopia/Coriolan/Makefile @@ -2,12 +2,11 @@ depth = ../.. -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - # do Coriolan if you have plenty RAM / CPU examples=coriolan oboi-part viola-part # examples= oboi-part viola-part -include $(stepdir)/WWW.make +LOCALMAKEFILES=Mutopia + +include $(depth)/make/Stepmake.make diff --git a/mutopia/J.S.Bach/Makefile b/mutopia/J.S.Bach/Makefile index 2b734e09c6..1c0dfadef2 100644 --- a/mutopia/J.S.Bach/Makefile +++ b/mutopia/J.S.Bach/Makefile @@ -3,12 +3,11 @@ depth = ../.. SUBDIRS = Petites-Preludes Solo-Cello-Suites - -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - EXTRA_DIST_FILES= + +LOCALMAKEFILES=Mutopia examples=wtk1-fugue2 -include $(stepdir)/WWW.make +include $(depth)/make/Stepmake.make + diff --git a/mutopia/J.S.Bach/Petites-Preludes/Makefile b/mutopia/J.S.Bach/Petites-Preludes/Makefile index 1a1020a879..0abaee2e49 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/Makefile +++ b/mutopia/J.S.Bach/Petites-Preludes/Makefile @@ -2,11 +2,9 @@ depth = ../../.. -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - EXTRA_DIST_FILES= examples=preludes-2 +LOCALMAKEFILES=Mutopia -include $(stepdir)/WWW.make +include $(depth)/make/Stepmake.make diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile b/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile index 5f925d1657..95b05a7a44 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/Makefile @@ -2,11 +2,9 @@ depth = ../../.. -include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make - EXTRA_DIST_FILES= examples=scsii-cello +LOCALMAKEFILES=Mutopia -include $(stepdir)/WWW.make +include $(depth)/make/Stepmake.make diff --git a/mutopia/Makefile b/mutopia/Makefile index f788a82724..b4ab368841 100644 --- a/mutopia/Makefile +++ b/mutopia/Makefile @@ -4,13 +4,13 @@ depth = .. SUBDIRS = J.S.Bach Coriolan W.A.Mozart +examples=standchen gallina +LOCALMAKEFILES=Mutopia + include $(depth)/make/Stepmake.make include $(make-dir)/Mutopia.make EXTRA_DIST_FILES += TODO -examples=standchen gallina - -include $(stepdir)/WWW.make diff --git a/mutopia/W.A.Mozart/Makefile b/mutopia/W.A.Mozart/Makefile index 92a284a431..d6b63889f1 100644 --- a/mutopia/W.A.Mozart/Makefile +++ b/mutopia/W.A.Mozart/Makefile @@ -2,9 +2,9 @@ depth = ../.. +examples=cadenza +LOCALMAKEFILES=Mutopia + include $(depth)/make/Stepmake.make -include $(make-dir)/Mutopia.make -examples=cadenza -include $(stepdir)/WWW.make diff --git a/scripts/Makefile b/scripts/Makefile index 17ce13c80c..34f2344189 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -1,15 +1,12 @@ # bin/Makefile depth = .. +SEXECUTABLES=convert-mudela mudela-book ly2dvi +MAKEFILES=Script -include $(depth)/make/Stepmake.make - - -include $(stepdir)/Scripts.make -# want release, make-patch too! -SEXECUTABLES=convert-mudela mudela-book ly2dvi +include $(depth)/make/Stepmake.make -include $(stepdir)/Executable.make +include $(stepdir)/Executable_targets.make diff --git a/scripts/ly2dvi32.py b/scripts/ly2dvi32.py new file mode 100644 index 0000000000..088d94b722 --- /dev/null +++ b/scripts/ly2dvi32.py @@ -0,0 +1,767 @@ +#!@PYTHON@ + +name = 'ly2dvi' +version = '0.0.1' + +import sys +import os +import getopt +import re +import string +import time +import glob + +class Input: + + def __init__(this): + this.__fd = None + + def open(this,file): + for i in [''] + Props.get('include')[0:]: + ifile = os.path.join(i,file) + for j in ['','.ly','.fly']: + jfile = ifile+j + try: + this.__fd = open( jfile, 'r' ) + return + except: + pass + sys.exit('ExitNotFound', file) + + def close(this): + this.__fd.close() + + def type(this): + firstline = this.__fd.readline() + this.__fd.seek(0) + if re.match('% Creator: GNU LilyPond [0-9]+[.0-9]+',firstline ): + return 'output' + else: + return 'source' +# +# Scan file for variable settings +# + def setVars(this): + """Scan source file for variable settings""" + varTable = [ + # regexp set method + # ------ ---------- + ( 'language', Props.setLanguage ), + ( 'latexheaders', Props.setHeader ), + ( 'orientation', Props.setOrientation ), + ( 'paperpapersize', Props.setPaperZize ), + ( 'papertextheight', Props.setTextHeight ), + ( 'paperlinewidth', Props.setLineWidth ), + ( 'filename', Props.setFilename ), + ] + + titles={} + line='prime the pump' # ugh + while line: + line=this.__fd.readline() + m=re.match('\\\\def\\\\mudela([\w]+){(.*)}',line) + if m: + for var in varTable: + if m.group(1) == var[0]: + var[1](m.group(2),'file') + break + for var in Props.get('titledefs'): + if m.group(1) == var: + titles[var]=m.group(2) + break + Props.setTitles(titles,'file') + this.__fd.seek(0) + +class TeXOutput: + + def __init__(this): + this.__fd = None + this.__base = '' + this.__outfile = '' + + def write(this,str): + this.__fd.write(str) + + def start(this,file): + """Start the latex file""" + now=time.asctime(time.localtime(time.time())) + linewidth = Props.get('linewidth') + textheight = Props.get('textheight') + + if Props.get('orientation') == 'landscape': + pagewidth = Props.get('pageheight') + pageheight = Props.get('pagewidth') + else: + pageheight = Props.get('pageheight') + pagewidth = Props.get('pagewidth') + + horizontalMarginArg = ( (pagewidth - linewidth)/2 ) + verticalMarginArg = ( (pageheight - textheight)/2 ) + + top="""\ +%% Creator: %s +%% Automatically generated from %s, %s + +\\documentclass[%s]{article} + +%s +\\usepackage{geometry} +\\usepackage[latin1]{inputenc} +%%\\usepackage[T1]{fontenc} +%s +%%\\addtolength{\\oddsidemargin}{-1cm} +%%\\addtolength{\\topmargin}{-1cm} +%%\\setlength{\\textwidth}{%s} +%%\\setlength{\\textheight}{%s} +\\geometry{width=%spt, left=%spt, height=%spt, top=%spt} +\\input lilyponddefs +\\input titledefs +%s +\\begin{document} +""" % ( program_id(), Props.get('filename'), now, Props.get('papersize'), + Props.get('language'), Props.get('pagenumber'), linewidth, textheight, + linewidth, horizontalMarginArg, textheight, verticalMarginArg, + Props.get('header') ) + + pathcomp = os.path.splitext(file) + this.__base = pathcomp[0] + this.__outfile = '%s.%d%s' % (pathcomp[0], os.getpid(), pathcomp[1]) + try: + this.__fd = open(this.__outfile,"w") + except: + sys.exit('ExitNoWrite', this.__outfile) + this.write(top) + this.__mudelaDefs('') + this.write("""\ +\\cmrtwenty% ugh +\\makelilytitle +""") + + def next(this): + this.write("""\ +\\def\\theopus{}% +\\def\\thepiece{}% +\\def\\mudelaopus{}% +\\def\\mudelapiece{}% +""") + this.__mudelaDefs("\\def") + this.write("""\ +\\def\\theopus{\\mudelaopus}% ugh +\\def\\thepiece{\\mudelapiece}% +\\makelilypiecetitle +""") + + def __mudelaDefs(this,opt): + titles = Props.get('titles') + for key in titles.keys(): + this.write('%s\\mudela%s{%s}%%\n' % (opt,key,titles[key])) + + def end(this): + outfile=this.__base + '.dvi' + if Props.get('output') != '': + outfile = os.path.join(Props.get('output'), outfile ) + + this.write("""\ +\\vfill\\hfill{\\LilyIdString} +\\end{document} +""") + this.__fd.close() + stat = os.system('latex \'\\nonstopmode \\input %s\'' % + (this.__outfile)) + if stat: + sys.exit('ExitBadLatex') + if os.path.isfile(outfile): + os.remove(outfile) + os.rename(this.__base + '.' + str(os.getpid()) + '.dvi', outfile) + +class Properties: + + def __set(this,var,value,requester): + if this.__overrideTable[requester] < this.__data[var][1]: + return 0 + else: + this.__data[var] = [value, this.__overrideTable[requester]] + + def get(this,var): + if var == 'include' or var == 'lilyOutputFiles': + return this.__data[var][0][0:] # return a copy not a ref + else: + return this.__data[var][0] + + def get_texfile_path (this, var): + path ='' + cmd =('kpsewhich tex %s' % var) + pipe = os.popen (cmd, 'r') + path = pipe.readline ()[:-1] # chop off \n + if not path: + path = os.path.join(this.get('root'), 'texmf', 'tex', 'lilypond', var) + + fd = open(path, 'r') + return fd + + def __init__(this): + this.__overrideTable = { + 'init' : 0, + 'environment' : 1, + 'rcfile' : 2, + 'file' : 3, + 'commandline' : 4, + 'program' : 5 + } + + this.__roverrideTable = {} # reverse lookup + for i in this.__overrideTable.items(): + this.__roverrideTable[i[1]]=i[0] + + this.__data = { + 'pagewidth' : [597, this.__overrideTable['init']], + 'pageheight' : [845, this.__overrideTable['init']], + 'papersize' : ['a4paper', this.__overrideTable['init']], + 'textheight' : [0, this.__overrideTable['init']], + 'linewidth' : [0, this.__overrideTable['init']], + 'orientation' : ['portrait', this.__overrideTable['init']], + 'language' : ['%', this.__overrideTable['init']], + 'include' : [[], this.__overrideTable['init']], + 'debug' : [0, this.__overrideTable['init']], + 'keeplilypond' : [0, this.__overrideTable['init']], + 'keeply2dvi' : [0, this.__overrideTable['init']], + 'pagenumber' : ['%', this.__overrideTable['init']], + 'separate' : [0, this.__overrideTable['init']], + 'output' : ['', this.__overrideTable['init']], + 'header' : ['%', this.__overrideTable['init']], + 'dependencies' : [0, this.__overrideTable['init']], + 'root' : ['', this.__overrideTable['init']], + 'tmp' : ['d:\tmp', this.__overrideTable['init']], + 'filename' : ['', this.__overrideTable['init']], + 'titledefs' : [[], this.__overrideTable['init']], + 'titles' : [{}, this.__overrideTable['init']], + 'lilyOutputFiles' : [[], this.__overrideTable['init']], + } + + if os.environ.has_key('LILYINCLUDE'): + tmp=this.get('include') + for s in string.split(os.environ['LILYINCLUDE'],os.pathsep): + tmp.append(s) + this.__set('include', tmp, 'environment') + + if os.environ.has_key('LILYPOND'): + this.__set('root',os.environ['LILYPOND'], 'environment') + else: + p=os.path.split(sys.argv[0]) + p=os.path.split(p[0]) + this.__set('root',p[0],'init') + + if os.environ.has_key ('TEXINPUTS'): + t = os.pathsep + os.environ['TEXINPUTS'] + os.environ['TEXINPUTS'] = os.path.join(this.get('root'), 'texmf', + 'tex', 'lilypond' ) + t + + if os.environ.has_key('TMP'): + this.__set('tmp',os.environ['TMP'],'environment') + + if not os.environ.has_key('HOME'): + if os.environ.has_key('HOMEDRIVE') and \ + os.environ.has_key('HOMEPATH'): + os.environ['HOME'] = os.environ['HOMEDRIVE'] + \ + os.environ['HOMEPATH'] + else: + os.environ['HOME'] = os.curdir + + + fd =this.get_texfile_path ('titledefs.tex') + mudefs=[] + line='prime the pump' # ugh + while line: + line=fd.readline() + m=re.match('\\\\newcommand\*{\\\\mudela([\w]+)}',line) + if m: + mudefs.append(m.group(1)) + fd.close + this.__set('titledefs', mudefs, 'init') + +# +# Read rc file +# + def rcfile(this): + """Read RCfile""" + varTable = [ + # name set method + # ---- ---------- + ( 'LILYPOND', this.setInclude ), + ( 'LANGUAGE', this.setLanguage ), + ( 'LATEXHF', this.setHeader ), + ( 'ORIENTATION', this.setOrientation ), + ( 'OUTPUTDIR', this.setOutput ), + ( 'PAPERSIZE', this.setPaperZize ), + ( 'PHEIGHT', this.setTextHeight ), + ( 'TMP', this.setTmp ), + ( 'PWIDTH', this.setLineWidth ), + ] + + for d in [os.path.join(this.get('root'),'share','lilypond'), \ + os.environ['HOME'], os.curdir ]: + file=os.path.join(d,'.lilyrc') + try: + fd = open( file, 'r' ) + except: + continue + + line='prime the pump' # ugh + while line: + line=fd.readline() + if re.match('#.*',line): + continue + m=re.search('([\w]+)=(.*)',line) + if m: + for var in varTable: + if m.group(1) == var[0]: + var[1](m.group(2),'rcfile') + break + fd.close + +# +# Set paper size +# + def setPaperZize(this,size,requester): + paperTable = [ + # regex width height name + # ----- ----- ------ ---- + ( 'a0.*', 2389, 3381, 'a0paper' ), + ( 'a1$|a1p.*', 1690, 2389, 'a1paper' ), + ( 'a2.*', 1194, 1690, 'a2paper' ), + ( 'a3.*', 845, 1194, 'a3paper' ), + ( 'a4.*', 597, 845, 'a4paper' ), + ( 'a5.*', 423, 597, 'a5paper' ), + ( 'a6.*', 298, 423, 'a6paper' ), + ( 'a7.*', 211, 298, 'a7paper' ), + ( 'a8.*', 305, 211, 'a8paper' ), + ( 'a9.*', 105, 305, 'a9paper' ), + ( 'a10.*', 74, 105, 'a10paper' ), + ( 'b0.*', 2847, 4023, 'b0paper' ), + ( 'b1.*', 2012, 2847, 'b1paper' ), + ( 'b2.*', 1423, 2012, 'b2paper' ), + ( 'b3.*', 1006, 1423, 'b3paper' ), + ( 'b4.*', 712, 1006, 'b4paper' ), + ( 'b5.*', 503, 712, 'b5paper' ), + ( 'archA$', 650, 867, 'archApaper' ), + ( 'archB$', 867, 1301, 'archBpaper' ), + ( 'archC$', 1301, 1734, 'archCpaper' ), + ( 'archD$', 1734, 2602, 'archDpaper' ), + ( 'archE$', 2602, 3469, 'archEpaper' ), + ( 'flsa$|flse$', 614, 940, 'flsapaper' ), + ( 'halfletter$', 397, 614, 'halfletterpaper' ), + ( 'ledger$', 1229, 795, 'ledgerpaper' ), + ( 'legal$', 614, 1012, 'legalpaper' ), + ( 'letter$', 614, 795, 'letterpaper' ), + ( 'note$', 542, 723, 'notepaper' ) + ] + + found=0 + for paper in paperTable: + if re.match(paper[0],size): + found=1 + this.__set('pagewidth',paper[1],requester) + this.__set('pageheight',paper[2],requester) + this.__set('papersize',paper[3],requester) + break + + if not found: + sys.exit('ExitBadPaper',size) + +# +# set Text Height +# + def setTextHeight(this,size,requester): + m=re.match('([0-9][.0-9]*)(cm|mm|pt|$)',size) + if m: + if m.group(2) == 'cm': + this.__set('textheight',\ + float(m.group(1)) * 72.27/2.54, requester ) + elif m.group(2) == 'mm': + this.__set('textheight',\ + float(m.group(1)) * 72.27/25.4, requester ) + elif m.group(2) == 'pt': + this.__set('textheight', float(m.group(1)), requester ) + elif m.group(2) == '': + this.__set('textheight', float(m.group(1)), requester ) + else: + sys.exit('ExitBadHeight', m.group(2)) + else: + sys.exit('ExitBadHeight', size) +# +# set Text Width +# + def setLineWidth(this,size,requester): + m=re.match('([0-9][.0-9]*)(cm|mm|pt|$)',size) + if m: + if m.group(2) == 'cm': + this.__set('linewidth', \ + float(m.group(1)) * 72.27/2.54, requester ) + elif m.group(2) == 'mm': + this.__set('linewidth', \ + float(m.group(1)) * 72.27/25.4, requester ) + elif m.group(2) == 'pt': + this.__set('linewidth', float(m.group(1)), requester ) + elif m.group(2) == '': + this.__set('linewidth', float(m.group(1)), requester ) + else: + sys.exit('ExitBadWidth', m.group(2)) + else: + sys.exit('ExitBadWidth', size) +# +# Set Orientation +# + def setOrientation(this,orient,requester): + if orient == 'landscape' or orient == 'portrait': + this.__set('orientation', orient, requester ) + else: + sys.exit('ExitBadOrient', orient) +# +# Set Language +# + def setLanguage(this,lang,requester): + this.__set('language', '\\usepackage[%s]{babel}' % (lang), requester ) +# +# Append Include +# + def setInclude(this,inc, requester): + tmp = this.get('include') + tmp.append(inc) + this.__set('include', tmp, requester ) +# +# Set debug flag +# + def setDebug(this,requester): + this.__set('debug',1,requester) + +# +# Clear debug flag +# + def clearDebug(this, requester): + this.__set('debug',0,requester) +# +# Set Keeplilypond flag +# + def setKeeplilypond(this, requester): + this.__set('keeplilypond',1,requester) + +# +# Clear Keeplilypond flag +# + def clearKeeplilypond(this, requester): + this.__set('keeplilypond',0,requester) + +# +# Set Keeply2dvi flag +# + def setKeeply2dvi(this, requester): + this.__set('keeply2dvi',1,requester) +# +# Clear Keeply2dvi flag +# + def clearKeeply2dvi(this, requester): + this.__set('keeply2dvi',0,requester) +# +# Set No page number flag +# + def setNonumber(this, requester): + this.__set('pagenumber','\\pagestyle{empty}',requester) + +# +# Clear No page number flag +# + def clearNonumber(this, requester): + this.__set('pagenumber','%',requester) +# +# Set separate flag +# + def setSeparate(this, requester): + this.__set('separate',1,requester) + +# +# Clear separate flag +# + def clearSeparate(this, requester): + this.__set('separate',0,requester) + +# +# Set output directory name +# + def setOutput(this,out,requester): + this.__set('output',out,requester) + +# +# Set latex header name +# + def setHeader(this,head, requester): + this.__set('header',head,requester) +# +# Set Dependencies flag to generate makefile dependencies +# + def setDependencies(this, requester): + this.__set('dependencies',1,requester) + +# +# Clear Dependencies flag +# + def clearDependencies(this, requester): + this.__set('dependencies',0,requester) +# +# Set tmp directory +# + def setTmp(this,dir, requester): + this.__set('tmp',dir,requester) +# +# Set mudela source file name +# + def setFilename(this,file, requester): + this.__set('filename',file,requester) +# +# Set title commands +# + def setTitles(this,titles, requester): + this.__set('titles',titles,requester) + + def addLilyOutputFiles(this,file,requester): + tmp = this.get('lilyOutputFiles') + tmp.append(file) + this.__set('lilyOutputFiles',tmp,requester) + + def printProps(this): + for key in this.__data.keys(): + print "%s <%s>:<%s>" % (key,this.get(key), + this.__roverrideTable[this.__data[key][1]]) + +def getLilyopts(): + inc = '' + if len(Props.get('include')) > 0: + inc = '-I ' + string.join(Props.get('include'),os.pathsep) + else: + + if Props.get('dependencies'): + dep=' -d' + else: + dep='' + return inc + dep + return inc + +def writeLilylog(contents): + if Props.get('keeplilypond'): + file='lilylog.' + str(os.getpid()) + output = Props.get('output') + if output != '': + file = os.path.join( output, file ) + try: + fd = open( file, 'w' ) + except: + sys.exit('ExitNoWrite', file) + fd.write(contents) + fd.close() + +def getTeXFile(contents): + m = re.search('^TeX output to (.+)\.tex', contents,re.M) + if m: + return ( m.group(1)+'.tex' ) + else: + sys.exit('ExitNoTeXName') + +def program_id (): + return name + ' ' + version; + + +def mailaddress(): + try: + return os.environ['MAILADDRESS'] + except KeyError: + return '(address unknown)' + + +def identify (): + sys.stderr.write (program_id () + '\n') + +def help (): + sys.stderr.write ( + 'Generate dvi file from mudela or lilypond output\n' + 'Usage: ' + name + ' [OPTION]... [FILE]...\n' + '\n' + 'Options:\n' + ' -D,--debug increase verbosity\n' + ' -F,--headers= name of additional LaTeX headers file\n' + ' -H,--Height= set paper height (points) (see manual page)\n' + ' -I,--include=DIR add DIR to LilyPond\'s search path\n' + ' -K,--keeplilypond keep lilypond output files\n' + ' -L,--landscape set landscape orientation\n' + ' -N,--nonumber switch off page numbering\n' + ' -O,--orientation= set orientation (obsolete - use -L instead)\n' + ' -W,--Width= set paper width (points) (see manual page)\n' + ' -d,--dependencies tell lilypond make a dependencies file\n' + ' -h,--help this help text\n' + ' -k,--keeply2dvi keep ly2dvi output files\n' + ' -l,--language= give LaTeX language (babel)\n' + ' -o,--output= set output directory\n' + ' -p,--papersize= give LaTeX papersize (eg. a4)\n' + ' -s,--separate run all files separately through LaTeX\n' + '\n' + 'files may be (a mix of) input to or output from lilypond(1)\n' + ) + + +def main(): + """Generate dvi files from lilypond source/output""" + + infile = Input() + outfile = TeXOutput() + texInputFiles=[] + + Props.rcfile() + (options, files) = getopt.getopt (sys.argv[1:], + 'DF:H:I:KLNW:dhkl:o:p:s', + ['debug', 'headers=', 'Height=', + 'include=', 'keeplilypond', 'landscape', + 'nonumber', 'Width=', 'dependencies', + 'help', 'keeply2dvi', 'language=', + 'output=', 'papersize=', 'separate']) + for opt in options: + o = opt[0] + a = opt[1] + if o == '--debug' or o == '-D': + Props.setDebug('commandline') + elif o == '--headers' or o == '-F': + Props.setHeader(a,'commandline') + elif o == '--include' or o == '-I': + Props.setInclude(a,'commandline') + elif o == '--Height' or o == '-H': + Props.setTextHeight(a,'commandline') + elif o == '--keeplilypond' or o == '-K': + Props.setKeeplilypond('commandline') + elif o == '--landscape' or o == '-L': + Props.setOrientation('landscape','commandline') + elif o == '--nonumber' or o == '-N': + Props.setNonumber('commandline') + elif o == '--Width' or o == '-W': + Props.setLineWidth(a,'commandline') + elif o == '--dependencies' or o == '-d': + Props.setDependencies('commandline') + elif o == '--help' or o == '-h': + help() + return 0 + elif o == '--keeply2dvi' or o == '-k': + Props.setKeeply2dvi('commandline') + elif o == '--language' or o == '-l': + Props.setLanguage(a,'commandline') + elif o == '--output' or o == '-o': + Props.setOutput(a,'commandline') + elif o == '--papersize' or o == '-p': + Props.setPaperZize(a,'commandline') + elif o == '--separate' or o == '-s': + Props.setSeparate('commandline') + + if len(files): + for file in files: + infile.open(file) + type = infile.type() + infile.close() + if type == 'source': + cmd = 'lilypond %s %s 2>&1' % (getLilyopts(), file) + fd = os.popen( cmd , 'r' ) + log = fd.read() + stat = fd.close() + print log + if stat: + sys.exit('ExitBadLily', cmd ) + texFile=getTeXFile(log) + writeLilylog(log) + Props.addLilyOutputFiles(texFile,'program') + texInputFiles.append(texFile) + else: + texInputFiles.append(file) + + firstfile=1 + for file in texInputFiles: + infile.open(file) + infile.setVars() # first pass set variables + infile.close() + Props.printProps() + if firstfile: + outfile.start(file) + else: + outfile.next() + outfile.write("""\ +\\input{%s} +""" % (file)) + if Props.get('separate'): + outfile.end() + else: + firstfile=0 + if not Props.get('separate'): + outfile.end() + else: + help() + sys.exit('ExitBadArgs','No files specified') + +# +# Exit values +# +ExitTable = { + 'ExitInterupt' : ['Ouch!', 1 ], + 'ExitBadArgs' : ['Wrong number of arguments', 2 ], + 'ExitNotFound' : ['File not found', 3 ], + 'ExitBadPaper' : ['Unknown papersize', 4 ], + 'ExitBadHeight' : ['Invalid Height specification', 5 ], + 'ExitBadWidth' : ['Invalid Width specification', 6 ], + 'ExitBadOrient' : ['Invalid Orientation specification', 7 ], + 'ExitNoWrite' : ['Permission denied', 8 ], + 'ExitNoTeXName' : ['hmm, I could not find an output file name', 9 ], + 'ExitBadLily' : ['Lilypond failed', 10 ], + 'ExitBadLatex' : ['Latex failed', 11 ], + 'ExitUnknown' : ['Unknown Exit Code', 20 ], + } + +def cleanup(): + lilyfiles = [] + tmpfiles = [] + if not Props.get('keeplilypond'): + lilyfiles = Props.get('lilyOutputFiles') + if not Props.get('keeply2dvi'): + tmpfiles = glob.glob('*.' + str(os.getpid()) + '.*' ) + for file in lilyfiles + tmpfiles: + if os.path.isfile(file): + os.remove(file) + + + + + + + +identify() +Props = Properties() + +try: + main() + +except KeyboardInterrupt: + print ExitTable['ExitInterupt'][0] + cleanup() + sys.exit(ExitTable['ExitInterupt'][1]) + +except SystemExit, errno: + if ExitTable.has_key(errno.args[0]): + msg = ExitTable[errno.args[0]] + else: + msg = ExitTable['ExitUnknown'] + if len(errno.args) > 1: + sys.stderr.write( '%s: %s: %s\n' % (name, msg[0], errno.args[1])) + else: + sys.stderr.write( '%s %s\n' % (name, msg[0])) + cleanup() + sys.exit(msg[1]) +else: + cleanup() + + + + + + + diff --git a/stepmake/Documentation/Makefile b/stepmake/Documentation/Makefile index 0c43e2f1a8..6eacb8bf01 100644 --- a/stepmake/Documentation/Makefile +++ b/stepmake/Documentation/Makefile @@ -2,15 +2,15 @@ depth = .. -include $(depth)/make/Stepmake.make OUTTXT_FILES = $(OUTYO_FILES:.yo=.txt) $(OUTIN_FILES:.yo=.txt) EXTRA_DIST_FILES = SUBDIRS=topdocs -include $(stepdir)/Documentation.vars.make -include $(stepdir)/Documentation_rules.make +MAKEFILES=Documentation + +include $(depth)/make/Stepmake.make default: do-doc diff --git a/stepmake/Documentation/topdocs/Makefile b/stepmake/Documentation/topdocs/Makefile index 64f14835a2..45af32d7f0 100644 --- a/stepmake/Documentation/topdocs/Makefile +++ b/stepmake/Documentation/topdocs/Makefile @@ -7,16 +7,17 @@ BLURBS=BLURB #COPERTINA FLAPTEKST AT_FILES = $(BLURBS) # at-dir = $(doc-dir)/ at-ext = .in +BLURBS=BLURB COPERTINA FLAPTEKST -include $(depth)/make/Stepmake.make +TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES)) -default: do-doc +MAKEFILES=Documentation + +include $(depth)/make/Stepmake.make -BLURBS=BLURB COPERTINA FLAPTEKST -# INFO_FILES = $(outdir)/$(package).info -include $(stepdir)/Documentation.shared.make +default: do-doc # urg $(outdir)/%.html: %.yo @@ -28,8 +29,6 @@ $(outdir)/%.html: %.yo local-WWW: -cp $(outdir)/*gif $(outdir)/index.html $(depth) # don't fail if not making website - -TO_TOP_FILES=$(addprefix $(outdir)/, $(README_TOP_FILES)) copy-to-top: $(foreach i, $(TO_TOP_FILES), \ cp $(i) $(depth)/ && ) true diff --git a/stepmake/NEWS b/stepmake/NEWS index 5d3ecc36f7..5578428a8c 100644 --- a/stepmake/NEWS +++ b/stepmake/NEWS @@ -1,3 +1,5 @@ +pl 43 + - grand split up in targets/rules/variables. The vars should be before rules!! pl 42 - fake-msgfmt.sh; urg copied from fake-yodl diff --git a/stepmake/VERSION b/stepmake/VERSION index 89e1366795..eea0d29e8b 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=StepMake MAJOR_VERSION=0 MINOR_VERSION=1 -PATCH_LEVEL=41 +PATCH_LEVEL=43 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index dbcb4d30d2..f7e18136b6 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -354,14 +354,14 @@ AC_DEFUN(AC_STEPMAKE_MAN, [ AC_DEFUN(AC_STEPMAKE_MSGFMT, [ # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt) - AC_CHECK_PROGS(MSGFMT, msgfmt, \$(SHELL) \$(step-bindir)/fake-msgfmt.sh) + AC_CHECK_PROGS(MSGFMT, msgfmt, \$(SHELL) \$(step-bindir)/fake-msgfmt.sh ) AC_MSG_CHECKING(whether msgfmt accepts -o) msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`" if test "$msgfmt_output" = ""; then AC_MSG_RESULT(yes) else # urg - MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh)" + MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh" AC_MSG_RESULT(no) AC_STEPMAKE_WARN(please install msgfmt from GNU gettext) fi diff --git a/stepmake/bin/Makefile b/stepmake/bin/Makefile index 5ef2288376..918a59c1bc 100644 --- a/stepmake/bin/Makefile +++ b/stepmake/bin/Makefile @@ -2,9 +2,9 @@ depth = .. -include $(depth)/make/Stepmake.make - EXTRA_DIST_FILES = install-sh config.sub config.guess +MAKEFILES=Script + +include $(depth)/make/Stepmake.make -include $(stepdir)/Scripts.make diff --git a/stepmake/make/Makefile b/stepmake/make/Makefile index 719d05f303..324c7971d2 100644 --- a/stepmake/make/Makefile +++ b/stepmake/make/Makefile @@ -1,9 +1,10 @@ # file make/Makefile depth = .. +MAKEFILES=Makedir +BLURBS=BLURB # COPERTINA FLAPTEKST include $(depth)/make/Stepmake.make -BLURBS=BLURB # COPERTINA FLAPTEKST -include $(stepdir)/Makedir.shared.make + diff --git a/stepmake/make/Stepmake.make b/stepmake/make/Stepmake.make index a1e6cdbe92..078bc3749e 100644 --- a/stepmake/make/Stepmake.make +++ b/stepmake/make/Stepmake.make @@ -15,6 +15,22 @@ endif include $(depth)/$(configuration).make +ifdef CONFIGSUFFIX +outdir=out-$(CONFIGSUFFIX) +else +outdir=out +endif + + stepdir = $(depth)/$(stepmake)/stepmake -include $(stepdir)/Include.make +MAKEFILES := Generic $(MAKEFILES) + +include $(addprefix $(stepdir)/,$(addsuffix _vars.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _vars.make, $(LOCALMAKEFILES))) +include $(addprefix $(stepdir)/,$(addsuffix _rules.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _rules.make, $(LOCALMAKEFILES))) +include $(addprefix $(stepdir)/,$(addsuffix _targets.make, $(MAKEFILES))) +include $(addprefix $(depth)/make/,$(addsuffix _targets.make, $(LOCALMAKEFILES))) + diff --git a/stepmake/make/Toplevel.make.in b/stepmake/make/Toplevel.make.in index 244f56d24e..67555b6665 100644 --- a/stepmake/make/Toplevel.make.in +++ b/stepmake/make/Toplevel.make.in @@ -13,7 +13,6 @@ SUBDIRS = bin make stepmake Documentation # bootstrap stepmake: # -include $(depth)/make/Stepmake.make # # list of distribution files: @@ -26,11 +25,12 @@ NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES) # +include $(depth)/make/Stepmake.make include $(stepdir)/Toplevel.make -localdist: do-top-doc +local-dist: do-top-doc do-top-doc: -$(MAKE) -C Documentation/topdocs/ README_TOP_FILES="$(README_TXT_FILES)" copy-to-top diff --git a/stepmake/make/out/stepmake.lsm b/stepmake/make/out/stepmake.lsm index 4d16f1cce6..695e585333 100644 --- a/stepmake/make/out/stepmake.lsm +++ b/stepmake/make/out/stepmake.lsm @@ -1,15 +1,15 @@ Begin3 Title: StepMake -Version: 0.1.41 -Entered-date: 10AUG98 +Version: 0.1.43 +Entered-date: 19AUG98 Description: Keywords: music notation typesetting midi fonts engraving Author: janneke@gnu.org (Jan Nieuwenhuizen) hanwen@cs.ruu.nl (Han-Wen Nienhuys) Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 40k stepmake-0.1.41.tar.gz + 40k stepmake-0.1.43.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 40k stepmake-0.1.41.tar.gz + 40k stepmake-0.1.43.tar.gz Copying-policy: GPL End diff --git a/stepmake/make/out/stepmake.spec b/stepmake/make/out/stepmake.spec index 60ebe82c78..fd9b7f9744 100644 --- a/stepmake/make/out/stepmake.spec +++ b/stepmake/make/out/stepmake.spec @@ -1,9 +1,9 @@ Name: stepmake -Version: 0.1.41 +Version: 0.1.43 Release: 1 Copyright: GPL Group: Development -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.41.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.43.tar.gz Summary: generic make package Packager: janneke@gnu.org (Jan Nieuwenhuizen) Buildroot: /tmp/stepmake-install diff --git a/stepmake/stepmake/C++.make b/stepmake/stepmake/C++.make index 8f39b4e0ad..3e4b58dee1 100644 --- a/stepmake/stepmake/C++.make +++ b/stepmake/stepmake/C++.make @@ -1,4 +1,3 @@ include $(stepdir)/C++_rules.make include $(stepdir)/C++_vars.make -include $(stepdir)/C++_files.make diff --git a/stepmake/stepmake/C++_files.make b/stepmake/stepmake/C++_files.make index d61a475a63..8b13789179 100644 --- a/stepmake/stepmake/C++_files.make +++ b/stepmake/stepmake/C++_files.make @@ -1,14 +1 @@ -# -# template files: -TCC_FILES := $(wildcard *.tcc) -HH_FILES := $(wildcard *.hh) -CC_FILES := $(wildcard *.cc) -INL_FILES := $(wildcard *.icc) -YY_FILES := $(wildcard *.yy) -LL_FILES := $(wildcard *.ll) - -SOURCE_FILES+=$(YY_FILES) $(CC_FILES) $(INL_FILES) $(TCC_FILES) $(HH_FILES) $(LL_FILES) -OBJECT_FILES+=$(YY_FILES:.yy=.o) $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o) - -TAGS_FILES += $(TCC_FILES) $(HH_FILES) $(INL_FILES) $(CC_FILES) diff --git a/stepmake/stepmake/C++_targets.make b/stepmake/stepmake/C++_targets.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/C++_targets.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/C++_vars.make b/stepmake/stepmake/C++_vars.make index 889b3f6c21..f3d84a90ac 100644 --- a/stepmake/stepmake/C++_vars.make +++ b/stepmake/stepmake/C++_vars.make @@ -7,8 +7,19 @@ EXTRA_CXXFLAGS= -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wconversion -CXXFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS) +CXXFLAGS = $(ICFLAGS) $(DEFINES) $(addprefix -I,$(INCLUDES)) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) $(USER_CXXFLAGS) $(EXTRA_CXXFLAGS) $(MODULE_CXXFLAGS) CXX_OUTPUT_OPTION = $< -o $@ DO_CXX_COMPILE=$(DODEP) $(CXX) -c $(CXXFLAGS) $(CXX_OUTPUT_OPTION) +# template files: +TCC_FILES := $(wildcard *.tcc) +HH_FILES := $(wildcard *.hh) +CC_FILES := $(wildcard *.cc) +INL_FILES := $(wildcard *.icc) +YY_FILES := $(wildcard *.yy) +LL_FILES := $(wildcard *.ll) +SOURCE_FILES+=$(YY_FILES) $(CC_FILES) $(INL_FILES) $(TCC_FILES) $(HH_FILES) $(LL_FILES) +OBJECT_FILES+=$(YY_FILES:.yy=.o) $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o) + +TAGS_FILES += $(TCC_FILES) $(HH_FILES) $(INL_FILES) $(CC_FILES) diff --git a/stepmake/stepmake/C.make b/stepmake/stepmake/C.make index 2548c77b55..795296f6f0 100644 --- a/stepmake/stepmake/C.make +++ b/stepmake/stepmake/C.make @@ -1,24 +1,6 @@ -# header files: -H_FILES := $(wildcard *.h) -C_FILES := $(wildcard *.c) -Y_FILES := $(wildcard *.y) -L_FILES := $(wildcard *.l) - -SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES) -OBJECT_FILES+=$(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o) - -TAGS_FILES += C_FILES H_FILES -# C/C++ -# - -ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES) +include $(stepdir)/C_vars.make include $(stepdir)/C_rules.make -# compiler: -# -DO_C_COMPILE = $(DODEP) $(CC) -c $(CFLAGS) $(C_OUTPUT_OPTION) -C_OUTPUT_OPTION = $< -o $@ -CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) diff --git a/stepmake/stepmake/C_targets.make b/stepmake/stepmake/C_targets.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/C_targets.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/C_vars.make b/stepmake/stepmake/C_vars.make new file mode 100644 index 0000000000..47d2eb7f41 --- /dev/null +++ b/stepmake/stepmake/C_vars.make @@ -0,0 +1,22 @@ + +# header files: +H_FILES := $(wildcard *.h) +C_FILES := $(wildcard *.c) +Y_FILES := $(wildcard *.y) +L_FILES := $(wildcard *.l) + +SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES) +OBJECT_FILES+=$(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o) + +TAGS_FILES += C_FILES H_FILES +# C/C++ +# + +ALL_C_SOURCES += $(H_FILES) $(C_FILES) $(Y_FILES) + +# compiler: +# +DO_C_COMPILE = $(DODEP) $(CC) -c $(CFLAGS) $(C_OUTPUT_OPTION) +C_OUTPUT_OPTION = $< -o $@ + +CFLAGS = $(ICFLAGS) $(DEFINES) $(INCLUDES) $(USER_CFLAGS) $(EXTRA_CFLAGS) $(MODULE_CFLAGS) diff --git a/stepmake/stepmake/Documentation.shared.make b/stepmake/stepmake/Documentation.shared.make index 1a29861d79..772bf32586 100644 --- a/stepmake/stepmake/Documentation.shared.make +++ b/stepmake/stepmake/Documentation.shared.make @@ -5,44 +5,5 @@ ### below here is shared between lily/yodl/Documentation and topdocs... -AT_FILES = $(BLURBS) # -at-dir = $(doc-dir)/ -at-ext = .in - -include $(stepdir)/Documentation.vars.make +include $(stepdir)/Documentation_vars.make include $(stepdir)/Documentation_rules.make - -do-doc: $(OUTTXT_FILES) - -# ugh. FIXME -ifeq ($(strip $(README_TOP_FILES)),) -readme-top_FILES-html: -else - -readme-top_FILES-html: - for i in $(README_TOP_FILES); do \ - $(SHELL) $(step-bindir)/text2html.sh $(outdir)/$$i.txt $(outdir)/$$i.html; \ - $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/../index.html $(outdir)/$$i.html; \ - done -endif - -local-WWW: readme-top_FILES-html $(OUTHTML_FILES) $(OUTREADME_HTML_FILES) - -doc: do-doc - -# what to do here? -ifneq ($(strip $(INFO_FILES)),) - -INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_FILES)" -f $(stepdir)/Install_outfiles.sub.make $@ - -$(outdir)/$(package).info: check-texinfo-deps $(OUTTEXINFO_FILES) - $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo - -localinstall: # $(INFO_FILES) - -$(INSTALL) -d $(infodir) - $(INFOINSTALL) -localuninstall: - $(INFOINSTALL) - -endif - diff --git a/stepmake/stepmake/Documentation_targets.make b/stepmake/stepmake/Documentation_targets.make new file mode 100644 index 0000000000..cdf708b10e --- /dev/null +++ b/stepmake/stepmake/Documentation_targets.make @@ -0,0 +1,37 @@ + + +do-doc: $(OUTTXT_FILES) + +# ugh. FIXME +ifeq ($(strip $(README_TOP_FILES)),) +readme-top_FILES-html: +else + +readme-top_FILES-html: + for i in $(README_TOP_FILES); do \ + $(SHELL) $(step-bindir)/text2html.sh $(outdir)/$$i.txt $(outdir)/$$i.html; \ + $(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/../index.html $(outdir)/$$i.html; \ + done +endif + +local-WWW: readme-top_FILES-html $(OUTHTML_FILES) $(OUTREADME_HTML_FILES) + echo $^ > $(depth)/wwwlist + +doc: do-doc + +# what to do here? +ifneq ($(strip $(INFO_FILES)),) + +INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_FILES)" -f $(stepdir)/Install_outfiles.sub.make $@ + +$(outdir)/$(package).info: check-texinfo-deps $(OUTTEXINFO_FILES) + $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo + +localinstall: # $(INFO_FILES) + -$(INSTALL) -d $(infodir) + $(INFOINSTALL) +localuninstall: + $(INFOINSTALL) + +endif + diff --git a/stepmake/stepmake/Documentation.vars.make b/stepmake/stepmake/Documentation_vars.make similarity index 93% rename from stepmake/stepmake/Documentation.vars.make rename to stepmake/stepmake/Documentation_vars.make index a12f31ef99..465ab3d5b5 100644 --- a/stepmake/stepmake/Documentation.vars.make +++ b/stepmake/stepmake/Documentation_vars.make @@ -1,4 +1,9 @@ # Documentation files +AT_FILES = $(BLURBS) # +at-dir = $(doc-dir)/ +at-ext = .in + + # YO_FILES := $(wildcard *.yo) POD_FILES := $(wildcard *.pod) diff --git a/stepmake/stepmake/Executable.make b/stepmake/stepmake/Executable.make index 3feadc553a..ae4493f720 100644 --- a/stepmake/stepmake/Executable.make +++ b/stepmake/stepmake/Executable.make @@ -1,34 +1,3 @@ # Executable.make -# dependency list of executable: -# - -default: $(EXECUTABLE) - -$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh $(MODULE_LIBES) - $(foreach a, $(MODULE_LIBS), $(MAKE) -C $a && ) true - $(LD_COMMAND) $(O_FILES) $(LOADLIBES) - -exe: $(EXECUTABLE) - - - -localinstall: installexe - -localuninstall: uninstallexe - -installexe: all - -$(INSTALL) -d $(bindir) - $(foreach a, $(EXECUTABLES), \ - $(INSTALL) -m 755 $(outdir)/$(a)$(DOTEXE) $(bindir)/$(a)$(DOTEXE) && \ - strip $(bindir)/$(a)$(DOTEXE) && ) true - $(foreach a, $(SEXECUTABLES), \ - $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true - -uninstallexe: - $(foreach a, $(EXECUTABLES), rm -f $(bindir)/$(a)$(DOTEXE) &&) true - $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true - - -%/$(outdir)/library.a: - $(MAKE) -C $(dir $@)/.. default +include $(stepdir)/Executable_targets.make diff --git a/stepmake/stepmake/Executable_rules.make b/stepmake/stepmake/Executable_rules.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Executable_rules.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Executable_targets.make b/stepmake/stepmake/Executable_targets.make new file mode 100644 index 0000000000..3feadc553a --- /dev/null +++ b/stepmake/stepmake/Executable_targets.make @@ -0,0 +1,34 @@ +# Executable.make + +# dependency list of executable: +# + +default: $(EXECUTABLE) + +$(EXECUTABLE): $(configheader) $(O_FILES) $(outdir)/version.hh $(MODULE_LIBES) + $(foreach a, $(MODULE_LIBS), $(MAKE) -C $a && ) true + $(LD_COMMAND) $(O_FILES) $(LOADLIBES) + +exe: $(EXECUTABLE) + + + +localinstall: installexe + +localuninstall: uninstallexe + +installexe: all + -$(INSTALL) -d $(bindir) + $(foreach a, $(EXECUTABLES), \ + $(INSTALL) -m 755 $(outdir)/$(a)$(DOTEXE) $(bindir)/$(a)$(DOTEXE) && \ + strip $(bindir)/$(a)$(DOTEXE) && ) true + $(foreach a, $(SEXECUTABLES), \ + $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true + +uninstallexe: + $(foreach a, $(EXECUTABLES), rm -f $(bindir)/$(a)$(DOTEXE) &&) true + $(foreach a, $(SEXECUTABLES), rm -f $(bindir)/$(a) &&) true + + +%/$(outdir)/library.a: + $(MAKE) -C $(dir $@)/.. default diff --git a/stepmake/stepmake/Executable_vars.make b/stepmake/stepmake/Executable_vars.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Executable_vars.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Files.make b/stepmake/stepmake/Files.make index 2c2ede8dac..0d42a59707 100644 --- a/stepmake/stepmake/Files.make +++ b/stepmake/stepmake/Files.make @@ -1,23 +1,17 @@ # Files.make -# list of object _FILES: -# -SOURCE_FILES = - O_FILES = $(addprefix $(outdir)/,$(OBJECT_FILES)) -# -DEP_FILES := $(wildcard $(depdir)/*.dep) +DEP_FILES := $(wildcard $(outdir)/*.dep) # (Why not Makefile too?) # -MAKE_FILES := $(wildcard *.make) # IN_FILES := $(wildcard *.in) SOURCE_FILES += $(IN_FILES) -SOURCE_FILES += $(MAKE_FILES) + # Preprocessed .in documentation _FILES: # OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%)) diff --git a/stepmake/stepmake/Generic_rules.make b/stepmake/stepmake/Generic_rules.make new file mode 100644 index 0000000000..97e210c959 --- /dev/null +++ b/stepmake/stepmake/Generic_rules.make @@ -0,0 +1,39 @@ +# title generic make rules +# file make/Rules.make + +# this is supposed to clear all suffixes: +.SUFFIXES: + +$(outdir)/%: %.m4 + $(M4) $< > $@ + +%.dep: + touch $@ + +%.gz: % + gzip -c9 $< > $@ + +# bit docrules, these... +$(outdir)/%.dvi: $(outdir)/%.tex + (cd $(outdir); tex \\nonstopmode \\input $( $@ + diff --git a/stepmake/stepmake/Generic_targets.make b/stepmake/stepmake/Generic_targets.make new file mode 100644 index 0000000000..f701a37f47 --- /dev/null +++ b/stepmake/stepmake/Generic_targets.make @@ -0,0 +1,173 @@ +# title generic make targets +# file make/Targets.make + +.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\ + po + +# target all: +# +all: default + $(LOOP) + + +# be careful about deletion. +clean: localclean + -rm -f $(outdir)/* + $(LOOP) + +distclean: clean + $(LOOP) + $(MAKE) local-distclean + +maintainerclean: + $(LOOP) + $(MAKE) local-maintainerclean + $(MAKE) local-distclean + +include $(stepdir)/Po.make + + +# configure: +# +config: + ./$(depth)/configure +# + + +# target help: +# +generic-help: + @echo -e "\ +Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\ +Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\ +\n\ +Targets:\n" + +help: generic-help local-help + @echo -e "\ + all update everything\n\ + clean remove all genated stuff in $(oudir)\n\ + config rerun configure\n\ + deb build Debian package\n\ + default same as the empty target\n\ + diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\ + . Options:\n\ + . from=0.1.74\n\ + . help==\n\ + . release==\n\ + . to=0.1.74.jcn2\n\ + distclean cleaner than clean (duh)\n\ + doc update all documentation\n\ + doc++ make doc++ documentation\n\ + exe update all executables\n\ + help this help\n\ + install install programs and data (prefix=$(prefix))\n\ + lib update all libraries\n\ + release roll tarball and generate patch\n\ + rpm build RedHat package\n\ + tar same as dist\n\ + TAGS genarate tagfiles\n\ + zip build binary doze distribution\n\ +\n\ +Make may be invoked from any subdirectory\n\ +Note that all commands recurse into SUBSDIRS\n\ +"\ +# + +local-help: + +doc: +# $(MAKE) -C $(depth)/Documentation do-doc + $(MAKE) -C $(depth)/Documentation all + + +# Ugh. C++ specific. +doc++: + (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz) + + + +check-state-vector: + if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\ + echo $(TOPLEVEL_VERSION) >> $(state-vector); \ + fi + + +local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) + mkdir $(distdir)/$(localdir) + $(LN) $(DIST_FILES) $(distdir)/$(localdir) + +#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion) +# + if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \ + $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \ + fi + + if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \ + mkdir $(distdir)/$(localdir)/out; \ + $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \ + fi + $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true + + + +html: $(HTML_FILES) + +TAGS: + -if [ "$(TAGS_FILES)" != "" ]; then \ + etags -CT $(TAGS_FILES) || \ + ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ + fi + + $(LOOP) + +$(outdir)/version.hh: VERSION + sh ./$(step-bindir)/make-version.sh > $@ + + +# should this be in Rules? +configure: configure.in aclocal.m4 + autoconf - < $<> $@ + chmod +x configure + +localclean: + +local-distclean: + +local-maintainerclean: + +install-strip: + $(MAKE) INSTALL="$(INSTALL) -s" install + +install: localinstall + $(LOOP) + +localinstall: + +uninstall: localuninstall + $(LOOP) + +localuninstall: + +installextradoc: + -$(INSTALL) -d $(prefix)/doc/$(package) + $(foreach i, $(EXTRA_DOC_FILES),\ + cp -r $(i) $(prefix)/doc/$(package) &&) true + +WWW: local-WWW + $(LOOP) + +include $(stepdir)/Package.make +include $(make-dir)/Targets.make + +include $(outdir)/dummy.dep $(DEP_FILES) + +$(outdir)/dummy.dep: + -mkdir $(outdir) + touch $(outdir)/dummy.dep + + +check: local-check + $(LOOP) + +local-check: diff --git a/stepmake/stepmake/Generic_vars.make b/stepmake/stepmake/Generic_vars.make new file mode 100644 index 0000000000..b10f737237 --- /dev/null +++ b/stepmake/stepmake/Generic_vars.make @@ -0,0 +1,153 @@ +# title generic variables +# file make/Variables.make +# +# do not change this file for site-wide extensions; please use +# make/$(outdir)/Site.make; +# +# Any change in files in this directory (make/) would be distributed, if +# you do make dist + +# directory names: + +# depth from group-dir +# not eh, normally used +DEPTH = $(depth)/$(package-depth) + +topdir := $(shell cd $(depth); pwd) +pwd := $(shell pwd) + + +# derived names +ifeq ($(distdir),) + distdir = $(depth)/$(outdir)/$(DIST_NAME) + DIST_NAME = $(package)-$(TOPLEVEL_VERSION) +endif +distname = $(package)-$(TOPLEVEL_VERSION) + + + + +# obsolete? +makeout = $(depth)/make/$(outdir) +docout = $(depth)/Documentation/$(outdir) +binout = $(depth)/bin/$(outdir) + +doc-dir = $(depth)/Documentation +make-dir = $(depth)/make +po-dir = $(depth)/po + +# -c is for copying (now set in config.make) +# INSTALL = $(stepdir)/../bin/install-sh -c + +# user settings: +# +include $(make-dir)/Variables.make +include $(make-dir)/User.make +# + +# urg +# sort-out which of these are still needed +# +$(package)_bindir = $(depth)/bin +step-bindir = $(depth)/$(stepmake)/bin +abs-step-bindir = $(topdir)/$(stepmake)/bin +# +group-dir = $(shell cd $(DEPTH)/..; pwd) +release-dir = $(group-dir)/releases +patch-dir = $(group-dir)/patches +# +# i have in $HOME/.rpmrc +# topdir: /home/fred/usr/src/Redhat +# +rpm-sources = $(release-dir) +rpm-build = $(group-dir)/RedHat/BUILD +# + +# hmm +configheader=$(outdir)/config.hh + +# need to be defined in local Makefiles: +# +FOOBAR = +# the version: +# +ifneq ($(MY_PATCH_LEVEL),$(FOOBAR)) +VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL).$(MY_PATCH_LEVEL) +else +VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL) +endif + +ifneq ($(TOPLEVEL_MY_PATCH_LEVEL),$(FOOBAR)) +TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL).$(TOPLEVEL_MY_PATCH_LEVEL) +else +TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL) +endif +state-vector = $(make-dir)/STATE-VECTOR +# + +# clean file lists: +# +ERROR_LOG = 2> /dev/null +SILENT_LOG = 2>&1 > /dev/null +date := $(shell date +%x) #duplicated? + +# compile and link options: +# +ARFLAGS = ru + +INCLUDES = include $(outdir) $($(PACKAGE)_INCLUDES) +LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) $($(PACKAGE)_LDFLAGS) + +MODULE_LIBES=$(addsuffix /$(outdir)/library.a, $(MODULE_LIBS)) +LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) +# urg: for windows ? +# LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -lstdc++ +# + +# macro compiler: +# +M4 = m4 +# + +# +LD_COMMAND = $(LD) $(LDFLAGS) -o $@ +# + +# dependencies: +# +depfile = $(outdir)/$(subst .o,.dep,$(notdir $@))# +DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)" +# + + +# generic target names: +# +ifdef NAME +EXECUTABLE = $(outdir)/$(NAME)$(EXE) +else +EXECUTABLE = +endif + +EXECUTABLES = $(notdir $(EXECUTABLE)) + + +# + +#replace to do stripping of certain objects +STRIPDEBUG=true + +DIST_FILES=$(EXTRA_DIST_FILES) Makefile $(ALL_SOURCES) +DOCDIR=$(depth)/$(outdir) + + +STRIP=strip --strip-debug +ifdef stablecc + STABLEOBS=$(addprefix $(outdir)/,$(stablecc:.cc=.o)) +endif + +# substitute $(STRIP) in Site.make if you want stripping +DO_STRIP=true + + +LOOP=$(foreach i, $(SUBDIRS), $(MAKE) -C $(i) $@ &&) true + diff --git a/stepmake/stepmake/Include.make b/stepmake/stepmake/Include.make index 61f6eff329..5566cc802c 100644 --- a/stepmake/stepmake/Include.make +++ b/stepmake/stepmake/Include.make @@ -1,7 +1,5 @@ # Include.make -include $(stepdir)/Variables.make + include $(stepdir)/Files.make -include $(stepdir)/Targets.make -include $(stepdir)/Rules.make diff --git a/stepmake/stepmake/Library_rules.make b/stepmake/stepmake/Library_rules.make new file mode 100644 index 0000000000..1bb8bf6d7f --- /dev/null +++ b/stepmake/stepmake/Library_rules.make @@ -0,0 +1 @@ +# empty diff --git a/stepmake/stepmake/Library_vars.make b/stepmake/stepmake/Library_vars.make index f488bfb07e..c749adb538 100644 --- a/stepmake/stepmake/Library_vars.make +++ b/stepmake/stepmake/Library_vars.make @@ -1,3 +1,5 @@ + +#ugh ugh . ifndef LIB_SUFFIX LIB_SUFFIX = .a endif @@ -9,12 +11,9 @@ LIB_PREFIX = lib AR = ar AR_COMMAND = $(AR) $(ARFLAGS) $@ -# -ifeq ($(RANLIB),error) -RANLIB_COMMAND=$(AR) ts $@ -else -RANLIB_COMMAND=$(RANLIB) $@ -endif +# thanks to Nelson Beebe for this trick. +RANLIB_COMMAND=$(RANLIB) || $(AR) || true + # linker: LIBRARY = $(outdir)/library.a SHAREDLIBRARY=$(outdir)/$(LIB_PREFIX)$(NAME).so diff --git a/stepmake/stepmake/Makedir.shared.make b/stepmake/stepmake/Makedir.shared.make index aee95bf5ee..a693a1e16d 100644 --- a/stepmake/stepmake/Makedir.shared.make +++ b/stepmake/stepmake/Makedir.shared.make @@ -1,31 +1,3 @@ # stepmake/Makedir.shared.make -# urg: stuff shared between yodl/lily/stepmake - -LSM_FILES:= $(wildcard *.lsm.in) -OUTLSM_FILES=$(addprefix $(outdir)/,$(basename $(LSM_FILES), .in)) -SPEC_FILES:= $(wildcard *.spec.in) -OUTSPEC_FILES=$(addprefix $(outdir)/,$(basename $(SPEC_FILES), .in)) - -EXTRA_DIST_FILES = $(state-vector) - -# these two outdir FILES are distributed, since they make sense to have -# without running configure and make. -OUT_DIST_FILES= $(OUTLSM_FILES) $(OUTSPEC_FILES) - - -spec: $(OUTSPEC_FILES) -$(OUTSPEC_FILES): $(depth)/VERSION -$(OUTLSM_FILES): $(depth)/VERSION - -AT_FILES = $(BLURBS) # -at-dir = $(doc-dir)/ -at-ext = .in - -# is this still used? -rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README -rpmdvis=$(rpmmudocs:.doc=.dvi) -rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.ly))) - - -localdist: $(OUTSPEC_FILES) $(OUTLSM_FILES) +# urg: stuff shared between yodl/lily/stepmake diff --git a/stepmake/stepmake/Makedir_rules.make b/stepmake/stepmake/Makedir_rules.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/Makedir_rules.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/Makedir_targets.make b/stepmake/stepmake/Makedir_targets.make new file mode 100644 index 0000000000..341229447c --- /dev/null +++ b/stepmake/stepmake/Makedir_targets.make @@ -0,0 +1,6 @@ + + +spec: $(OUTSPEC_FILES) + +$(OUTSPEC_FILES): $(depth)/VERSION +$(OUTLSM_FILES): $(depth)/VERSION diff --git a/stepmake/stepmake/Makedir_vars.make b/stepmake/stepmake/Makedir_vars.make new file mode 100644 index 0000000000..adb1733f4c --- /dev/null +++ b/stepmake/stepmake/Makedir_vars.make @@ -0,0 +1,27 @@ + + +# stepmake/Makedir.shared.make +# urg: stuff shared between yodl/lily/stepmake + +MAKE_FILES := $(wildcard *.make) +LSM_FILES:= $(wildcard *.lsm.in) +OUTLSM_FILES=$(addprefix $(outdir)/,$(basename $(LSM_FILES))) +SPEC_FILES:= $(wildcard *.spec.in) +OUTSPEC_FILES=$(addprefix $(outdir)/,$(basename $(SPEC_FILES))) +OUT_DIST_FILES= $(strip $(OUTLSM_FILES) $(OUTSPEC_FILES)) + +EXTRA_DIST_FILES += $(state-vector) $(MAKE_FILES) + +# these two outdir FILES are distributed, since they make sense to have +# without running configure and make. + +AT_FILES = $(BLURBS) # +at-dir = $(doc-dir)/ +at-ext = .in + +# is this still used? +rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README +rpmdvis=$(rpmmudocs:.doc=.dvi) +rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.ly))) + + diff --git a/stepmake/stepmake/Makefile b/stepmake/stepmake/Makefile index a27042129c..b363430b36 100644 --- a/stepmake/stepmake/Makefile +++ b/stepmake/stepmake/Makefile @@ -10,10 +10,12 @@ depth = .. SUBDIRS = # +MAKEFILES=Makedir + + # bootstrap stepmake: # -include $(depth)/make/Stepmake.make -# # gory hack: stepmake itself is a stepmake package. default: diff --git a/stepmake/stepmake/Metafont.make b/stepmake/stepmake/Metafont_rules.make similarity index 65% rename from stepmake/stepmake/Metafont.make rename to stepmake/stepmake/Metafont_rules.make index ed0e227779..304512da5e 100644 --- a/stepmake/stepmake/Metafont.make +++ b/stepmake/stepmake/Metafont_rules.make @@ -1,6 +1,3 @@ -MF_FILES = $(wildcard *.mf) -FONT_FILES = $(wildcard *[0-9].mf) -EXTRA_DIST_FILES += $(MF_FILES) $(outdir)/%.dvi: %.mf mf $< diff --git a/stepmake/stepmake/Metafont_targets.make b/stepmake/stepmake/Metafont_targets.make new file mode 100644 index 0000000000..ea30561d83 --- /dev/null +++ b/stepmake/stepmake/Metafont_targets.make @@ -0,0 +1 @@ +#empty diff --git a/stepmake/stepmake/Metafont_vars.make b/stepmake/stepmake/Metafont_vars.make new file mode 100644 index 0000000000..67600b84bf --- /dev/null +++ b/stepmake/stepmake/Metafont_vars.make @@ -0,0 +1,5 @@ + +MF_FILES = $(wildcard *.mf) +FONT_FILES = $(wildcard *[0-9].mf) +EXTRA_DIST_FILES += $(MF_FILES) + diff --git a/stepmake/stepmake/Rules.make b/stepmake/stepmake/Rules.make index 97e210c959..503401be6b 100644 --- a/stepmake/stepmake/Rules.make +++ b/stepmake/stepmake/Rules.make @@ -1,39 +1,2 @@ -# title generic make rules -# file make/Rules.make - -# this is supposed to clear all suffixes: -.SUFFIXES: - -$(outdir)/%: %.m4 - $(M4) $< > $@ - -%.dep: - touch $@ - -%.gz: % - gzip -c9 $< > $@ - -# bit docrules, these... -$(outdir)/%.dvi: $(outdir)/%.tex - (cd $(outdir); tex \\nonstopmode \\input $( $@ +include $(stepdir)/Generic_rules.make diff --git a/stepmake/stepmake/STATE-VECTOR b/stepmake/stepmake/STATE-VECTOR new file mode 100644 index 0000000000..845eee732c --- /dev/null +++ b/stepmake/stepmake/STATE-VECTOR @@ -0,0 +1,19 @@ +0.1.26 +0.1.26.jcn1 +0.1.26.hwn1 +0.1.26.jcn2 +0.1.26.jcn3 +0.1.27 +0.1.28 +0.1.29 +0.1.30 +0.1.32 +0.1.33 +0.1.34 +0.1.35 +0.1.36 +0.1.37 +0.1.38 +0.1.39 +0.1.40 +0.1.41 diff --git a/stepmake/stepmake/Scripts.make b/stepmake/stepmake/Script_rules.make similarity index 73% rename from stepmake/stepmake/Scripts.make rename to stepmake/stepmake/Script_rules.make index a0e79f74e0..1dca17b995 100644 --- a/stepmake/stepmake/Scripts.make +++ b/stepmake/stepmake/Script_rules.make @@ -1,9 +1,7 @@ # Scripts.make -include $(stepdir)/Script_files.make -all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS) $(outdir)/%: %.pl cat $< | $(sed-atvariables) > $@ diff --git a/stepmake/stepmake/Script_targets.make b/stepmake/stepmake/Script_targets.make new file mode 100644 index 0000000000..1ba75cdf04 --- /dev/null +++ b/stepmake/stepmake/Script_targets.make @@ -0,0 +1,2 @@ + +all: $(PERL_SCRIPTS) $(PYTHON_SCRIPTS) $(SH_SCRIPTS) diff --git a/stepmake/stepmake/Script_files.make b/stepmake/stepmake/Script_vars.make similarity index 100% rename from stepmake/stepmake/Script_files.make rename to stepmake/stepmake/Script_vars.make diff --git a/stepmake/stepmake/Targets.make b/stepmake/stepmake/Targets.make index ed386b70e8..ef3225b762 100644 --- a/stepmake/stepmake/Targets.make +++ b/stepmake/stepmake/Targets.make @@ -1,172 +1,2 @@ -# title generic make targets -# file make/Targets.make -.PHONY : all clean config default dist doc doc++ exe help html lib TAGS\ - po - -# target all: -# -all: default - $(LOOP) - - -# be careful about deletion. -clean: localclean - -rm -f $(outdir)/* - $(LOOP) - -distclean: clean - $(LOOP) - $(MAKE) local-distclean - -maintainerclean: - $(LOOP) - $(MAKE) local-maintainerclean - $(MAKE) local-distclean - -include $(stepdir)/Po.make - - -# configure: -# -config: - ./$(depth)/configure -# - - -# target help: -# -generic-help: - @echo -e "\ -Makefile for $(PACKAGE_NAME) $(TOPLEVEL_VERSION)\n\ -Usage: $(MAKE) ["VARIABLE=value"]... [TARGET]\n\ -\n\ -Targets:\n" - -help: generic-help local-help - @echo -e "\ - all update everything\n\ - clean remove all genated stuff in $(oudir)\n\ - config rerun configure\n\ - deb build Debian package\n\ - default same as the empty target\n\ - diff generate patch: $(package)-$(TOPLEVEL_VERSION).diff.gz\n\ - . Options:\n\ - . from=0.1.74\n\ - . help==\n\ - . release==\n\ - . to=0.1.74.jcn2\n\ - distclean cleaner than clean (duh)\n\ - doc update all documentation\n\ - doc++ make doc++ documentation\n\ - exe update all executables\n\ - help this help\n\ - install install programs and data (prefix=$(prefix))\n\ - lib update all libraries\n\ - release roll tarball and generate patch\n\ - rpm build RedHat package\n\ - tar same as dist\n\ - TAGS genarate tagfiles\n\ - zip build binary doze distribution\n\ -\n\ -Make may be invoked from any subdirectory\n\ -Note that all commands recurse into SUBSDIRS\n\ -"\ -# - -local-help: - -doc: -# $(MAKE) -C $(depth)/Documentation do-doc - $(MAKE) -C $(depth)/Documentation all - - -# Ugh. C++ specific. -doc++: - (cd $(outdir); sh ../$(step-bindir)/tar-docxx.sh $(package)-$(TOPLEVEL_VERSION).tar.gz) - - - -check-state-vector: - if [ "`tail -1 $(state-vector)`" != "$(TOPLEVEL_VERSION)" ]; then\ - echo $(TOPLEVEL_VERSION) >> $(state-vector); \ - fi - - -local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) - mkdir $(distdir)/$(localdir) - $(LN) $(DIST_FILES) $(distdir)/$(localdir) - -#UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion) -# - if [ "$(NON_ESSENTIAL_DIST_FILES)x" != "x" ] ; then \ - $(LN) $(NON_ESSENTIAL_DIST_FILES) $(distdir)/$(localdir); \ - fi - if [ "$(OUT_DIST_FILES)x" != "x" ] ; then \ - mkdir $(distdir)/$(localdir)/out; \ - $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \ - fi - $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true - - - -html: $(HTML_FILES) - -TAGS: - -if [ "$(TAGS_FILES)" != "" ]; then \ - etags -CT $(TAGS_FILES) || \ - ctags -h ".h.hh.tcc.icc" $(TAGS_FILES) $(ERROR_LOG); \ - fi - - $(LOOP) - -$(outdir)/version.hh: VERSION - sh ./$(step-bindir)/make-version.sh > $@ - - -# should this be in Rules? -configure: configure.in aclocal.m4 - autoconf - < $<> $@ - chmod +x configure - -localclean: - -local-distclean: - -local-maintainerclean: - -install-strip: - $(MAKE) INSTALL="$(INSTALL) -s" install - -install: localinstall - $(LOOP) - -localinstall: - -uninstall: localuninstall - $(LOOP) - -localuninstall: - -installextradoc: - -$(INSTALL) -d $(prefix)/doc/$(package) - $(foreach i, $(EXTRA_DOC_FILES),\ - cp -r $(i) $(prefix)/doc/$(package) &&) true - -WWW: local-WWW - $(LOOP) - -include $(stepdir)/Package.make -include $(make-dir)/Targets.make - -include $(outdir)/dummy.dep $(DEP_FILES) - -$(outdir)/dummy.dep: - -mkdir $(outdir) - touch $(outdir)/dummy.dep - - -check: local-check - $(LOOP) - -local-check: +include $(stepdir)/Generic_targets.make diff --git a/stepmake/stepmake/Toplevel.make b/stepmake/stepmake/Toplevel.make index 00ae42bf77..57049f02d6 100644 --- a/stepmake/stepmake/Toplevel.make +++ b/stepmake/stepmake/Toplevel.make @@ -27,7 +27,10 @@ htmldoc: $(MAKE) CONFIGSUFFIX='www' local-WWW $(MAKE) CONFIGSUFFIX='www' -C Documentation WWW rm -f `find . -name \*.html~ -print` - tar cfz $(outdir)/htmldoc.tar.gz `find Documentation -type d -name 'out-www' -print` index.html $(shell ls *.gif $(ERRORLOG)) + find `find Documentation -type d -name 'out-www'` -not -name '*dvi' -not -name '*ly' -not -name '*tex' -not -name '*.ps' -not -name 'out-www' > wwwlist + + tar cfz $(outdir)/htmldoc.tar.gz `cat wwwlist` $(shell ls *.gif $(ERRORLOG)) + # if you fix this, please fix yodl too! diff --git a/stepmake/stepmake/Variables.make b/stepmake/stepmake/Variables.make index 16b227db45..fdff8195e9 100644 --- a/stepmake/stepmake/Variables.make +++ b/stepmake/stepmake/Variables.make @@ -1,160 +1,2 @@ -# title generic variables -# file make/Variables.make -# -# do not change this file for site-wide extensions; please use -# make/$(outdir)/Site.make; -# -# Any change in files in this directory (make/) would be distributed, if -# you do make dist - -# directory names: - -# depth from group-dir -# not eh, normally used -DEPTH = $(depth)/$(package-depth) - -topdir := $(shell cd $(depth); pwd) -pwd := $(shell pwd) - - -ifdef CONFIGSUFFIX -outdir=out-$(CONFIGSUFFIX) -else -outdir=out -endif - -# derived names -ifeq ($(distdir),) - distdir = $(depth)/$(outdir)/$(DIST_NAME) - DIST_NAME = $(package)-$(TOPLEVEL_VERSION) -endif -distname = $(package)-$(TOPLEVEL_VERSION) - -depdir = $(outdir) - - - -# obsolete? -makeout = $(depth)/make/$(outdir) -docout = $(depth)/Documentation/$(outdir) -binout = $(depth)/bin/$(outdir) - -doc-dir = $(depth)/Documentation -make-dir = $(depth)/make -po-dir = $(depth)/po - -# -c is for copying (now set in config.make) -# INSTALL = $(stepdir)/../bin/install-sh -c - -# user settings: -# -include $(make-dir)/Variables.make -include $(make-dir)/User.make -# - -# urg -# sort-out which of these are still needed -# -$(package)_bindir = $(depth)/bin -step-bindir = $(depth)/$(stepmake)/bin -abs-step-bindir = $(topdir)/$(stepmake)/bin -# -group-dir = $(shell cd $(DEPTH)/..; pwd) -release-dir = $(group-dir)/releases -patch-dir = $(group-dir)/patches -# -# i have in $HOME/.rpmrc -# topdir: /home/fred/usr/src/Redhat -# -rpm-sources = $(release-dir) -rpm-build = $(group-dir)/RedHat/BUILD -# - -# hmm -configheader=$(outdir)/config.hh - -# need to be defined in local Makefiles: -# -FOOBAR = -# the version: -# -ifneq ($(MY_PATCH_LEVEL),$(FOOBAR)) -VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL).$(MY_PATCH_LEVEL) -else -VERSION=$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL) -endif - -ifneq ($(TOPLEVEL_MY_PATCH_LEVEL),$(FOOBAR)) -TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL).$(TOPLEVEL_MY_PATCH_LEVEL) -else -TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_PATCH_LEVEL) -endif -state-vector = $(make-dir)/STATE-VECTOR -# - -# clean file lists: -# -ERROR_LOG = 2> /dev/null -SILENT_LOG = 2>&1 > /dev/null -date := $(shell date +%x) #duplicated? - -# compile and link options: -# -ARFLAGS = ru - -INCLUDES = -Iinclude -I$(outdir) $($(PACKAGE)_INCLUDES) -LDFLAGS = $(ILDFLAGS) $(USER_LDFLAGS) $(EXTRA_LDFLAGS) $(MODULE_LDFLAGS) $($(PACKAGE)_LDFLAGS) - -MODULE_LIBES=$(addsuffix /$(outdir)/library.a, $(MODULE_LIBS)) -LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -# urg: for windows ? -# LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) -lstdc++ -# - -# macro compiler: -# -M4 = m4 -# - -# -LD_COMMAND = $(LD) $(LDFLAGS) -o $@ -# - -# dependencies: -# -depfile = $(depdir)/$(subst .o,.dep,$(notdir $@))# -DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(outdir)/$(notdir $@)" -# - - -# generic target names: -# -ifdef NAME -EXECUTABLE = $(outdir)/$(NAME)$(EXE) -else -EXECUTABLE = -endif - -EXECUTABLES = $(notdir $(EXECUTABLE)) - - -# - -#replace to do stripping of certain objects -STRIPDEBUG=true - -DIST_FILES=$(EXTRA_DIST_FILES) Makefile $(ALL_SOURCES) -DOCDIR=$(depth)/$(outdir) - - -STRIP=strip --strip-debug -ifdef stablecc - STABLEOBS=$(addprefix $(outdir)/,$(stablecc:.cc=.o)) -endif - -# substitute $(STRIP) in Site.make if you want stripping -DO_STRIP=true - - -LOOP=$(foreach i, $(SUBDIRS), $(MAKE) -C $(i) $@ &&) true +include $(stepdir)/Generic_vars.make diff --git a/test/Makefile b/test/Makefile index 3b22c6a630..e6215a3732 100644 --- a/test/Makefile +++ b/test/Makefile @@ -7,11 +7,9 @@ NAME = lily-test MODULE_NAME = lily-test MODULE_CXXFLAGS = -I$(depth)/flower/include -I$(depth)/flower -I$(depth)/lily/include -I$(depth)/lily +MAKEFILES=C++ include $(depth)/make/Stepmake.make -include $(stepdir)/C++.make - -EXTRA_DIST_FILES = VERSION # default: $(EXECUTABLE) diff --git a/test/VERSION b/test/VERSION deleted file mode 100644 index 97cdc4da2f..0000000000 --- a/test/VERSION +++ /dev/null @@ -1,6 +0,0 @@ -MAJOR_VERSION = 0 -MINOR_VERSION = 0 -PATCH_LEVEL = 0 -# use to send patches, always empty for released version: -MY_PATCH_LEVEL = -# diff --git a/tex/Makefile b/tex/Makefile index 13480c8146..e38e51491e 100644 --- a/tex/Makefile +++ b/tex/Makefile @@ -2,13 +2,13 @@ depth = .. -include $(depth)/make/Stepmake.make TEX_FILES = $(wildcard *.tex) -DIST_FILES = Makefile $(TEX_FILES) +EXTRA_DIST_FILES = $(TEX_FILES) INSTALLATION_DIR=$(TEXDIR)/lilypond INSTALLATION_FILES=$(TEX_FILES) +include $(depth)/make/Stepmake.make include $(stepdir)/Installfiles.make diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 08ad2b5190..3f73f0d079 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -269,9 +269,6 @@ \def\fatdoublebar#1{\hbox{\phantom{\repeatcolon\kern2\smallspace}\thickbar{#1}\kern\smallspace\thickbar{#1}}} -\def\stem#1#2{\hbox{\kern -.5\stemthickness - \vrule width\stemthickness height#2 depth-#1}} - % ugh % see e.g. input/test/beam-pos.ly -- 2.39.2