From: Jan Nieuwenhuizen Date: Thu, 15 Jul 2004 01:33:10 +0000 (+0000) Subject: * SConstruct: Further development. X-Git-Tag: release/2.3.7~50 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9458fa215af0294e9c38d62cc3a237a85fe50509;p=lilypond.git * SConstruct: Further development. * input/test/SConscript: * input/template/SConscript: * input/regression/SConscript: * Documentation/bibliography/SConscript: * Documentation/bibliography/index.html.in: New file. * Documentation/bibliography/GNUmakefile (local-WWW): Remove index generation. * buildscripts/builder.py: Add new builders. * make/stepmake.make: * stepmake/stepmake/*.make: * configure.in: * lily/*: * flower*: Use config.hh (Was config.h). * scm/encoding.scm (get-coding): Print friendly error message when no encoding is found, rather than crashing. --- diff --git a/ChangeLog b/ChangeLog index 5c05f0d1d0..4ca033668e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2004-07-15 Jan Nieuwenhuizen + + * SConstruct: Further development. + + * input/test/SConscript: + * input/template/SConscript: + * input/regression/SConscript: + * Documentation/bibliography/SConscript: + * Documentation/bibliography/index.html.in: New file. + + * Documentation/bibliography/GNUmakefile (local-WWW): Remove index + generation. + + * buildscripts/builder.py: Add new builders. + + * make/stepmake.make: + * stepmake/stepmake/*.make: + * configure.in: + * lily/*: + * flower*: Use config.hh (Was config.h). + + * scm/encoding.scm (get-coding): Print friendly error message when + no encoding is found, rather than crashing. + 2004-07-15 Han-Wen Nienhuys * lily/new-slur.cc (score_slopes): strong sloping score only when diff --git a/Documentation/bibliography/GNUmakefile b/Documentation/bibliography/GNUmakefile index af96676e1b..1aac8d62e8 100644 --- a/Documentation/bibliography/GNUmakefile +++ b/Documentation/bibliography/GNUmakefile @@ -21,11 +21,7 @@ default: GENHTMLS = engraving colorado computer-notation OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html)) - -local-WWW: $(addprefix $(outdir)/, $(BIB_FILES:.bib=.html)) - $(PYTHON) $(step-bindir)/ls-latex.py --title 'References on Music Notation' \ - $(YO_FILES) $(OUTYO_FILES:.yo=.latex) $(BIB_FILES) $(DOC_FILES) $(TEX_FILES) \ - | sed "s!$(outdir)/!!g" > $(outdir)/index.html +local-WWW: $(addprefix $(outdir)/, $(BIB_FILES:.bib=.html) index.html) $(outdir)/%.bib: %.bib ln -f $< $@ diff --git a/Documentation/bibliography/SConscript b/Documentation/bibliography/SConscript new file mode 100644 index 0000000000..c115efc026 --- /dev/null +++ b/Documentation/bibliography/SConscript @@ -0,0 +1,9 @@ +# -*-python-*- + +Import ('env') +bibs = env['src_glob'] (env, '*.bib') +env.AT_COPY ('index.html.in') + +map (env.BIB2HTML, bibs) +env.Alias ('doc', bibs) + diff --git a/Documentation/bibliography/index.html.in b/Documentation/bibliography/index.html.in new file mode 100644 index 0000000000..22eba0890e --- /dev/null +++ b/Documentation/bibliography/index.html.in @@ -0,0 +1,28 @@ +References on Music Notation + +

References on Music Notation

+
    +
  • colorado.bib: + University of Colorado Engraving music bibliography +

    + by Alyssa Lamb (edited & converted to bibtex by HWN) +

    + (HTML) +
  • +
  • computer-notation.bib: + The music notation with computer bibliography +

    + by Han-Wen Nienhuys +

    + (HTML) +
  • +
  • engraving.bib: + The engraving bibliography +

    + by Han-Wen Nienhuys +

    + (HTML) +
  • +
+ + diff --git a/Documentation/user/SConscript b/Documentation/user/SConscript index 3c1d1d5b9e..cc9c31808f 100644 --- a/Documentation/user/SConscript +++ b/Documentation/user/SConscript @@ -13,7 +13,12 @@ env.Depends ('lilypond.texi', 'lilypond-internals.texi') epss = map (env.Png2eps, pngs) env.Depends ('lilypond.texi', epss) -env.Command ('lilypond-internals.texi', env['LILYPOND_BIN'], +e = env.Copy ( + LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) \#t)'"''', + __verbose = ' --verbose', + ) + +e.Command ('lilypond-internals.texi', env['LILYPOND_BIN'], 'cd ${TARGET.dir} \ && LILYPONDPREFIX=$LILYPONDPREFIX $LILYPOND_BIN $__verbose \ $srcdir/ly/generate-documentation') @@ -26,14 +31,13 @@ infos = map (env.INFO, telys) def file_subst (file_name, find, subst): s = open (file_name).read () - t = string.replace (find, subst, s) + t = string.replace (s, find, subst) if s != t: os.rename (file_name, file_name + '~') h = open (file_name, "w") h.write (t) h.close () -e = env.Copy () e['usersrc'] = Dir ('.').srcnode ().abspath def url_fixup (target, source, env): file_subst (str (target[0]), @@ -52,6 +56,7 @@ e.Command ('lilypond/lilypond.html', 'lilypond.texi', a) e.Command ('lilypond-internals/lilypond-internals.html', 'lilypond-internals.texi', a) +#Hmm -- why not just mv ./Documentation/{*,*/*} ./doc :-) env.Alias ('doc', texis) env.Alias ('doc', dvis) env.Alias ('doc', pss) diff --git a/SConstruct b/SConstruct index 167ac25638..edb2701849 100644 --- a/SConstruct +++ b/SConstruct @@ -1,32 +1,47 @@ # -*-python-*- ''' -Experimental scons (www.scons.org) building: +Experimental scons (www.scons.org) building. -scons TARGET builds from source directory ./TARGET (not recursive) +Usage + scons TARGET -Usage: - scons - scons lily # build lily +build from source directory ./TARGET (not recursive) - LILYPONDPREFIX=out-scons/usr/share/lilypond lily/out-scons/lilypond-bin - scons doc # build web doc +Configure, build -? scons fonts # build all font stuff (split this? ) + scons [config] # configure + scons # build all - scons config # reconfigure +Run from build tree - scons / # builds all possible targets + run=$(pwd)/out-scons/usr + export LOCALE=$run/share/locale + export TEXMF='{'$run/share/lilypond,$(kpsexpand '$TEXMF')'}' + PATH=$run/bin:$PATH - scons install - scons -c # clean - scons -h # help + #optionally, if you do not use custom.py below + #export LILYPONDPREFIX=$run/share/lilypond - scons build=DIR # scrdir build, write to new tree =build - scons out=DIR # write output to deeper dir DIR + lilypond-bin input/simple -Optionally, make a custom.py. I have +Other targets + scons mf-essential # build minimal mf stuff + + scons doc # build web doc + scons config # reconfigure + scons install # install + scons -c # clean + scons -h # help + + scons / # build *everything* (including installation) + +Options (see scons -h) + scons build=DIR # clean scrdir build, output below DIR + scons out=DIR # write output for alterative config to DIR + +Optional custom.py import os out='out-scons' @@ -40,18 +55,17 @@ prefix=os.path.join (os.environ['HOME'], 'usr', 'pkg', 'lilypond') # TODO: -# * add missing dirs -# * cleanup +# * add missing dirs: +# - input/mutopia +# - vim +# * more program configure tests (mfont, ...?) -# * separate environments? -# - compile environment checks headers and libraries -# - doc environment checks doc stuff +# * more fine-grained config.hh -- move lilypondprefix to version.hh? +# - config.hh: changes after system upgrades, affects all files +# - version.hh: prefix, version etc? affects few + +# * grep FIXME $(find . -name 'S*t') -# * commandline targets: -# - clean => -c ? -# * more fine-grained config.h -- move lilypondprefix to version.hh? -# - config.h: changes after system upgrades, affects all files -# - version.hh: prefix, version etc? affects few import re import glob @@ -61,26 +75,26 @@ import sys import stat import shutil -# faster but scary: when changing #includes, do scons --implicit-deps-changed -# SetOption ('implicit_cache', 1) +# duh, we need 0.95.1 +EnsureSConsVersion (0, 95) # SConscripts are only needed in directories where something needs # to be done, building or installing -# TODO: Documentation/*, input/*/*, vim, po -# rename Documentation/* to ./doc? - -# somethin's broken wrt config.h checksums? -FOOSUMS = 1 +subdirs = ['flower', 'lily', 'mf', 'scm', 'ly', + 'scripts', 'elisp', 'buildscripts', 'po', + 'Documentation', 'Documentation/user', 'Documentation/topdocs', + 'Documentation/bibliography', + 'input', 'input/regression', 'input/test', 'input/template', + 'cygwin', 'debian', + ] -subdirs = ['flower', 'lily', 'mf', 'scm', 'ly', 'Documentation', - 'Documentation/user', 'Documentation/topdocs', - 'input', 'scripts', 'elisp', - 'buildscripts', 'cygwin', 'debian', 'po'] usage = r'''Usage: -scons [KEY=VALUE].. [TARGET].. +scons [KEY=VALUE].. [TARGET|DIR].. + +TARGETS: clean, config, doc, dist, install, mf-essential, po-update, + realclean, release, tar, TAGS -where TARGET is config|lily|all|fonts|doc|tar|dist|release ''' @@ -93,13 +107,13 @@ config_vars = ( 'CXXFLAGS', 'DEFINES', 'LIBS', + 'LINKFLAGS', 'METAFONT', 'PERL', 'PYTHON', ) # Put your favourite stuff in custom.py -CacheDir ("buildcache") opts = Options ([config_cache, 'custom.py'], ARGUMENTS) opts.Add ('prefix', 'Install prefix', '/usr/') opts.Add ('out', 'Output directory', 'out-scons') @@ -133,7 +147,7 @@ version = packagepython.version_tuple_to_str (package.version) ENV = { 'PATH' : os.environ['PATH'] } for key in ['LD_LIBRARY_PATH', 'GUILE_LOAD_PATH', 'PKG_CONFIG_PATH']: - if os.environ.has_key(key): + if os.environ.has_key (key): ENV[key] = os.environ[key] env = Environment ( @@ -163,12 +177,25 @@ env = Environment ( Help (usage + opts.GenerateHelpText (env)) +# Add all config_vars to opts, so that they will be read and saved +# together with the other configure options. map (lambda x: opts.AddOptions ((x,)), config_vars) opts.Update (env) +env['checksums'] = 1 if env['checksums']: SetOption ('max_drift', 0) +absbuild = Dir (env['build']).abspath +outdir = os.path.join (Dir (env['build']).abspath, env['out']) +run_prefix = os.path.join (absbuild, os.path.join (env['out'], 'usr')) + +CacheDir (os.path.join (outdir, 'build-cache')) + +if env['debugging']: + # No need to set $LILYPONDPREFIX to run lily, but cannot install... + env['prefix'] = run_prefix + prefix = env['prefix'] bindir = os.path.join (prefix, 'bin') sharedir = os.path.join (prefix, 'share') @@ -192,48 +219,50 @@ env.Append ( sharedir_package_version = sharedir_package_version, ) -env.CacheDir (os.path.join (env['build'], '=build-cache')) - if env['debugging']: env.Append (CFLAGS = '-g') env.Append (CXXFLAGS = '-g') if env['optimising']: env.Append (CFLAGS = '-O2') - env.Append (CXXFLAGS = '-O2') - env.Append (CXXFLAGS = '-DSTRING_UTILS_INLINED') + env.Append (CXXFLAGS = ['-O2', '-DSTRING_UTILS_INLINED']) if env['warnings']: - env.Append (CFLAGS = '-W ') - env.Append (CFLAGS = '-Wall') - # what about = ['-W', '-Wall', ...]? - env.Append (CXXFLAGS = '-W') - env.Append (CXXFLAGS = '-Wall') - env.Append (CXXFLAGS = '-Wconversion') + env.Append (CFLAGS = ['-W', '-Wall']) + # CXXFLAGS = $CFLAGS ... + env.Append (CXXFLAGS = ['-W', '-Wall', '-Wconversion']) +env.Append (LINKFLAGS = ['-Wl,--export-dynamic']) if env['verbose']: - env['__verbose'] = '--verbose' + env['__verbose'] = ' --verbose' + env['set__x'] = 'set -x;' -# Hmm -#env.Append (ENV = {'PKG_CONFIG_PATH' : string.join (env['PKG_CONFIG_PATH'], -# os.pathsep), -# 'LD_LIBRARY_PATH' : string.join (env['LD_LIBRARY_PATH'], -# os.pathsep), -# 'GUILE_LOAD_PATH' : string.join (env['GUILE_LOAD_PATH'], -# os.pathsep), }) - -outdir = os.path.join (Dir (env['build']).abspath, env['out']) - -# This is interesting, version.hh is generated automagically, just in -# time. Is this a .h /.hh issue? It seems to be, using config.hh (in -# flower/file-name.cc) works. Bug report to SCons or rename to -# config.hh or both? -# config_h = os.path.join (outdir, 'config.hh') -config_h = os.path.join (outdir, 'config.h') -version_h = os.path.join (outdir, 'version.hh') +config_hh = os.path.join (outdir, 'config.hh') +version_hh = os.path.join (outdir, 'version.hh') env.Alias ('config', config_cache) -## Explicit dependencies +## Explicit target and dependencies +if 'clean' in COMMAND_LINE_TARGETS: + # ugh: prevent reconfigure instead of clean + os.system ('touch %s' % config_cache) + + command = sys.argv[0] + ' -c .' + sys.stdout.write ('Running %s ... ' % command) + sys.stdout.write ('\n') + s = os.system (command) + if os.path.exists (config_cache): + os.unlink (config_cache) + Exit (s) + +if 'realclean' in COMMAND_LINE_TARGETS: + command = 'rm -rf $(find . -name "out-scons" -o -name ".scon*")' + sys.stdout.write ('Running %s ... ' % command) + sys.stdout.write ('\n') + s = os.system (command) + if os.path.exists (config_cache): + os.unlink (config_cache) + Exit (s) + # Without target arguments, build lily only if not COMMAND_LINE_TARGETS: env.Default ('lily') @@ -243,10 +272,8 @@ env.Alias ('doc', 'Documentation/user', 'Documentation/topdocs']) -env.Depends (['lily', 'flower', 'all', '.'], config_h) env.Depends ('doc', ['lily', 'mf']) env.Depends ('input', ['lily', 'mf']) -env.Depends ('doc', ['lily', 'mf']) def list_sort (lst): @@ -389,7 +416,7 @@ def configure (target, source, env): print 'Please install required packages' for i in required: print '%s: %s-%s or newer (found: %s %s)' % i - sys.exit (1) + Exit (1) if optional: print @@ -405,26 +432,7 @@ def config_header (target, source, env): for i in list_sort (env['DEFINES'].keys ()): config.write ('#define %s %s\n' % (i, env['DEFINES'][i])) config.close () - -if os.path.exists (config_cache) and 'config' in COMMAND_LINE_TARGETS: - os.unlink (config_cache) -# WTF? -# scons: *** Calling Configure from Builders is not supported. -# env.Command (config_cache, None, configure) -if not os.path.exists (config_cache) \ - or (os.stat ('SConstruct')[stat.ST_MTIME] - > os.stat (config_cache)[stat.ST_MTIME]): - env = configure (None, None, env) - - # We 'should' save opts each time, but that makes config.h - # always out of date, and that triggers recompiles, even when - # using checksums? - if FOOSUMS: #not env['checksums']: - ## FIXME: Is this smart, using option cache for saving - ## config.cache? I cannot seem to find the official method. - map (lambda x: opts.AddOptions ((x,)), config_vars) - opts.Save (config_cache, env) - env.Command (config_h, config_cache, config_header) +env.Command (config_hh, config_cache, config_header) # hmm? def xuniquify (lst): @@ -448,23 +456,55 @@ def uniquify (lst): n -= 1 return lst -for i in config_vars: - if env.has_key (i) and type (env[i]) == type ([]): - env[i] = uniquify (env[i]) -if not FOOSUMS: #env['checksums']: +def save_config_cache (env): ## FIXME: Is this smart, using option cache for saving ## config.cache? I cannot seem to find the official method. - map (lambda x: opts.AddOptions ((x,)), config_vars) - + for i in config_vars: + if env.has_key (i) and type (env[i]) == type ([]): + env[i] = uniquify (env[i]) opts.Save (config_cache, env) - env.Command (config_h, config_cache, config_header) -env.Command (version_h, '#/VERSION', - '$PYTHON ./stepmake/bin/make-version.py VERSION > $TARGET') + ## FIXME: Something changes in the ENVironment that triggers + ## rebuild of everything if we continue after configuring. + ## Maybe there's a variable missing from config_vars? + + ## How to print and debug the reasons scons has for rebuilding + ## a target (make --debug)? -absbuild = Dir (env['build']).abspath -run_prefix = os.path.join (absbuild, os.path.join (env['out'], 'usr')) + ## heet van de naald: + ## - Add a --debug=explain option that reports the reason(s) why SCons + + if 'config' in COMMAND_LINE_TARGETS: + sys.stdout.write ('\n') + sys.stdout.write ('LilyPond configured') + sys.stdout.write ('\n') + sys.stdout.write ('now run') + sys.stdout.write ('\n') + sys.stdout.write (' scons [TARGET|DIR]...') + sys.stdout.write ('\n') + Exit (0) + elif 1: #not env['checksums']: + command = sys.argv[0] + ' ' + string.join (COMMAND_LINE_TARGETS) + sys.stdout.write ('Running %s ... ' % command) + sys.stdout.write ('\n') + s = os.system (command) + Exit (s) + + +if os.path.exists (config_cache) and 'config' in COMMAND_LINE_TARGETS: + os.unlink (config_cache) +# WTF? +# scons: *** Calling Configure from Builders is not supported. +# env.Command (config_cache, None, configure) +if not os.path.exists (config_cache) \ + or (os.stat ('SConstruct')[stat.ST_MTIME] + > os.stat (config_cache)[stat.ST_MTIME]): + env = configure (None, None, env) + save_config_cache (env) + +env.Command (version_hh, '#/VERSION', + '$PYTHON ./stepmake/bin/make-version.py VERSION > $TARGET') # post-config environment update env.Append ( @@ -514,31 +554,46 @@ def symlink_tree (target, source, env): frm = os.path.join (srcdir, src[1:]) else: depth = len (string.split (dir, '/')) - frm = os.path.join ('../' * depth, src, env['out']) + if src.find ('@') > -1: + frm = os.path.join ('../' * depth, + string.replace (src, '@', + env['out'])) + else: + frm = os.path.join ('../' * depth, src, + env['out']) + if src[-1] == '/': + frm = os.path.join (frm, os.path.basename (dst)) + if env['verbose']: + print 'ln -s %s -> %s' % (frm, os.path.basename (dst)) os.symlink (frm, os.path.basename (dst)) shutil.rmtree (run_prefix) prefix = os.path.join (env['out'], 'usr') map (lambda x: symlink (x[0], os.path.join (prefix, x[1])), - (('python', 'lib/lilypond/python'), - # UGHR, lilypond.py uses lilypond-bin from PATH - ('lily', 'bin'), - ('#mf', 'share/lilypond/fonts/mf'), - ('mf', 'share/lilypond/fonts/afm'), - ('mf', 'share/lilypond/fonts/tfm'), - ('mf', 'share/lilypond/fonts/type1'), - ('#tex', 'share/lilypond/tex/source'), - ('mf', 'share/lilypond/tex/generate'), - ('#ly', 'share/lilypond/ly'), - ('#scm', 'share/lilypond/scm'), - ('#ps', 'share/lilypond/ps'), - ('elisp', 'share/lilypond/elisp'))) + # ^# := source dir + # @ := out + # /$ := add dst file_name + (('python', 'lib/lilypond/python'), + ('lily/', 'bin/lilypond-bin'), + ('scripts/', 'bin/lilypond'), + ('scripts/', 'bin/lilypond-book'), + ('#mf', 'share/lilypond/fonts/mf'), + ('mf', 'share/lilypond/fonts/afm'), + ('mf', 'share/lilypond/fonts/tfm'), + ('mf', 'share/lilypond/fonts/type1'), + ('#tex', 'share/lilypond/tex/source'), + ('mf', 'share/lilypond/tex/generate'), + ('#ly', 'share/lilypond/ly'), + ('#scm', 'share/lilypond/scm'), + ('#ps', 'share/lilypond/ps'), + ('po/@/nl.mo', 'share/locale/nl/LC_MESSAGES/lilypond.mo'), + ('elisp', 'share/lilypond/elisp'))) os.chdir (srcdir) if env['debugging']: stamp = os.path.join (run_prefix, 'stamp') env.Command (stamp, 'SConstruct', [symlink_tree, 'touch $TARGET']) env.Depends ('lily', stamp) - + #### dist, tar def plus (a, b): a + b @@ -598,6 +653,12 @@ patch = env.PATCH (patch_name, tar_ball) env.Depends (patch_name, dist_ball) env.Alias ('release', patch) +env.Append ( + ETAGSFLAGS = ["""--regex='{c++}/^LY_DEFINE *(\([^,]+\)/\1/'""", + """--regex='{c++}/^LY_DEFINE *([^"]*"\([^"]+\)"/\1/'"""]) +# filter-out some files? +env.Command ('TAGS', src_files, 'etags $ETAGSFLAGS $SOURCES') + for d in subdirs: if os.path.exists (os.path.join (d, 'SConscript')): b = os.path.join (env['build'], d, env['out']) diff --git a/buildscripts/builder.py b/buildscripts/builder.py index 93b811300c..876eb580d4 100644 --- a/buildscripts/builder.py +++ b/buildscripts/builder.py @@ -41,7 +41,7 @@ env.PrependENVPath ('PATH', if os.environ.has_key ('TEXMF'): env.Append (ENV = {'TEXMF' : os.environ['TEXMF']}) -env.Append (ENV = {'TEXMF' : '{' + env['LILYPONDPREFIX'] + ',' \ +env.Append (ENV = {'TEXMF' : '{$LILYPONDPREFIX,' \ + os.popen ('kpsexpand \$TEXMF').read ()[:-1] + '}' }) if os.environ.has_key ('LD_LIBRARY_PATH'): @@ -56,7 +56,7 @@ env.Append (PYTHONPATH = [os.path.join (env['absbuild'], env['out'], env.Append (ENV = { 'PYTHONPATH' : string.join (env['PYTHONPATH'], os.pathsep) } ) -a = ['rm -f $$(grep -LF "\lilypondend" ${TARGET.dir}/lily-*.tex 2>/dev/null);', +a = ['${__set_x}rm -f $$(grep -LF "\lilypondend" ${TARGET.dir}/lily-*.tex 2>/dev/null);', 'LILYPONDPREFIX=$LILYPONDPREFIX \ $PYTHON $LILYPOND_BOOK $__verbose \ --include=${TARGET.dir} $LILYPOND_BOOK_INCLUDES \ @@ -88,19 +88,15 @@ def add_ps_target (target, source, env): base = os.path.splitext (str (target[0]))[0] return (target + [base + '.ps'], source) -#debug = 'echo "PATH=$$PATH";' -debug = '' -a = debug + 'LILYPONDPREFIX=$LILYPONDPREFIX \ -$PYTHON $LILYPOND_PY $__verbose \ +a = '${set__x}LILYPONDPREFIX=$LILYPONDPREFIX \ +$PYTHON $LILYPOND_PY${__verbose}\ --include=${TARGET.dir} \ --output=${TARGET.base} $SOURCE' lilypond = Builder (action = a, suffix = '.pdf', src_suffix = '.ly') ## emitter = add_ps_target) env.Append (BUILDERS = {'LilyPond': lilypond}) -#verbose = verbose_opt (env, ' --verbose') -verbose = '' -a = debug + 'LILYPONDPREFIX=$LILYPONDPREFIX $PYTHON $ABC2LY_PY \ +a = '${set__x}LILYPONDPREFIX=$LILYPONDPREFIX $PYTHON $ABC2LY_PY \ --strict --output=${TARGET} $SOURCE' ABC = Builder (action = a, suffix = '.ly', src_suffix = '.abc') env.Append (BUILDERS = {'ABC': ABC}) @@ -212,23 +208,35 @@ def at_copy (target, source, env): if os.path.basename (os.path.dirname (str (target[0]))) == 'bin': os.chmod (t, 0755) -AT_COPY = Builder (action = at_copy) +AT_COPY = Builder (action = at_copy, src_suffix = ['.in', '.py', '.sh',]) env.Append (BUILDERS = {'AT_COPY': AT_COPY}) -MO = Builder (action = '$MSGFMT -o $TARGET $SOURCE', +MO = Builder (action = 'msgfmt -o $TARGET $SOURCE', suffix = '.mo', src_suffix = '.po') env.Append (BUILDERS = {'MO': MO}) -a = 'xgettext --default-domain=lilypond --join \ +ugh = 'ln -f po/lilypond.pot ${TARGET.dir}/lilypond.po; ' +a = ugh + 'xgettext --default-domain=lilypond --join \ --output-dir=${TARGET.dir} --add-comments \ --keyword=_ --keyword=_f --keyword=_i $SOURCES' -POT = Builder (action = a, suffix = '.pot') -#env.Append (BUILDERS = {'POT': POT}) -#env.Command(env['absbuild'] + '/po/' + env['out'] + '/lilypond.pot', -env['pottarget'] = os.path.join (env['absbuild'], 'po', env['out'], - 'lilypond.pot') -env['potcommand'] = a - -a = 'msgmerge ${SOURCE} ${TARGET.dir}/lilypond.pot -o ${TARGET}' +PO = Builder (action = a, suffix = '.pot', + src_suffix = ['.cc', '.hh', '.py'], multi = 1) +##env.Append (BUILDERS = {'PO': PO}) +##env.Command(env['absbuild'] + '/po/' + env['out'] + '/lilypond.pot', +env['potarget'] = os.path.join (env['absbuild'], 'po', env['out'], + 'lilypond.pot') +env['pocommand'] = a + +ugh = '; mv ${TARGET} ${SOURCE}' +a = 'msgmerge ${SOURCE} ${SOURCE.dir}/lilypond.pot -o ${TARGET}' + ugh POMERGE = Builder (action = a, suffix = '.pom', src_suffix = '.po') env.Append (BUILDERS = {'POMERGE': POMERGE}) + +a = '$PYTHON $srcdir/buildscripts/bib2html.py -o $TARGET $SOURCE' +BIB2HTML = Builder (action = a, suffix = '.html', src_suffix = '.bib') +env.Append (BUILDERS = {'BIB2HTML': BIB2HTML}) + +a = '$PYTHON $srcdir/buildscripts/lys-to-tely.py \ +--name=${TARGET.base} --title="$TITLE" $SOURCES' +LYS2TELY = Builder (action = a, suffix = '.tely', src_suffix = '.ly') +env.Append (BUILDERS = {'LYS2TELY': LYS2TELY}) diff --git a/configure.in b/configure.in index 371d75db0c..cedc9459bc 100644 --- a/configure.in +++ b/configure.in @@ -19,7 +19,7 @@ STEPMAKE_INIT AC_CONFIG_SRCDIR([lily/main.cc]) # Move to aclocal.m4? -AC_CONFIG_HEADER([$CONFIGFILE.h:config.hh.in]) +AC_CONFIG_HEADER([$CONFIGFILE.hh:config.hh.in]) # Uncomment the configuration options your package needs. diff --git a/flower/SConscript b/flower/SConscript index 8b7d6e9866..db20306d48 100644 --- a/flower/SConscript +++ b/flower/SConscript @@ -16,7 +16,5 @@ if env['static']: if not env['static'] or env['shared']: e.SharedLibrary (name, sources) -#pot = env.POT (sources + includes) -#map (lambda x: e.Depends -pot = env.Command (env['pottarget'], sources + includes, env['potcommand']) -env.Alias ('pot', pot) +po = env.Command ('lilypond.po', sources + includes, env['pocommand']) +env.Alias ('po-update', po) diff --git a/flower/file-name.cc b/flower/file-name.cc index 8043fabc14..5c848efd74 100644 --- a/flower/file-name.cc +++ b/flower/file-name.cc @@ -7,12 +7,12 @@ Jan Nieuwenhuizen */ -//#include "config.hh" -#include "config.h" #include #include #include +#include "config.hh" + #if HAVE_SYS_STAT_H #include #endif diff --git a/flower/file-path.cc b/flower/file-path.cc index c6bd1248aa..125cf5844b 100644 --- a/flower/file-path.cc +++ b/flower/file-path.cc @@ -7,11 +7,11 @@ Jan Nieuwenhuizen */ -#include "config.h" #include #include #include +#include "config.hh" #if HAVE_SYS_STAT_H #include #endif diff --git a/flower/getopt-long.cc b/flower/getopt-long.cc index 643527c91a..feb655ab2e 100644 --- a/flower/getopt-long.cc +++ b/flower/getopt-long.cc @@ -11,7 +11,7 @@ #include -#include "config.h" +#include "config.hh" #include "getopt-long.hh" #include "international.hh" #include "string-convert.hh" diff --git a/flower/include/libc-extension.hh b/flower/include/libc-extension.hh index a5385b4b01..906e64a4d4 100644 --- a/flower/include/libc-extension.hh +++ b/flower/include/libc-extension.hh @@ -6,17 +6,15 @@ (c) 1997--2004 Han-Wen Nienhuys */ - #ifndef LIBC_EXTENSION_HH #define LIBC_EXTENSION_HH -#include "flower-proto.hh" -#include "config.h" - - #include #include +#include "config.hh" +#include "flower-proto.hh" + char* strnlwr (char* start ,int n); char* strnupr (char* start, int n); diff --git a/flower/international.cc b/flower/international.cc index 9e66e5c69b..a7d09733cb 100644 --- a/flower/international.cc +++ b/flower/international.cc @@ -8,7 +8,8 @@ */ #include -#include "config.h" + +#include "config.hh" #include "string-convert.hh" #include "international.hh" diff --git a/input/SConscript b/input/SConscript index d497dd2e88..39e024c25b 100644 --- a/input/SConscript +++ b/input/SConscript @@ -1,13 +1,6 @@ # -*-python-*- -import os - Import ('env') -#sources = env['src_glob'] (env, '*.ly') -#abc_sources = env['src_glob'] (env, '*.abc') -#abc = map (lambda x: os.path.splitext (x)[0], abc_sources) -#lys = map (env.Abc2ly, abc) - abcs = env['glob'] (env, '*.abc') lys = env['glob'] (env, '*.ly') + map (env.ABC, abcs) pdfs = map (env.LilyPond, lys) diff --git a/input/regression/SConscript b/input/regression/SConscript new file mode 100644 index 0000000000..42e8c4c188 --- /dev/null +++ b/input/regression/SConscript @@ -0,0 +1,21 @@ +# -*-python-*- + +Import ('env') +#lys = env['src_glob'] (env, '*.ly') +lys = env['glob'] (env, '*.ly') + +e = env.Copy ( + TITLE = 'LilyPond Regression Tests', + LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''', + __verbose = ' --verbose', + ) + +tely = e.LYS2TELY ('collated-files', lys) +texi = e.TEXI (tely) +pdf = e.PDF (texi) +html = e.PDF (texi) + +env.Alias ('doc', pdf) +env.Alias ('doc', html) + + diff --git a/input/template/SConscript b/input/template/SConscript new file mode 100644 index 0000000000..ee2f171547 --- /dev/null +++ b/input/template/SConscript @@ -0,0 +1,21 @@ +# -*-python-*- + +Import ('env') +#lys = env['src_glob'] (env, '*.ly') +lys = env['glob'] (env, '*.ly') + +e = env.Copy ( + TITLE = 'LilyPond Template Files', + LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''', + __verbose = ' --verbose', + ) + +tely = e.LYS2TELY ('collated-files', lys) +texi = e.TEXI (tely) +pdf = e.PDF (texi) +html = e.PDF (texi) + +env.Alias ('doc', pdf) +env.Alias ('doc', html) + + diff --git a/input/test/SConscript b/input/test/SConscript new file mode 100644 index 0000000000..fd39ce4a2c --- /dev/null +++ b/input/test/SConscript @@ -0,0 +1,21 @@ +# -*-python-*- + +Import ('env') +#lys = env['src_glob'] (env, '*.ly') +lys = env['glob'] (env, '*.ly') + +e = env.Copy ( + TITLE = 'LilyPond Tips and Tricks', + LILYPOND_BOOK_FLAGS = '''--process="lilypond-bin --header=texidoc -I$srcdir/input/test -e '(ly:set-option (quote internal-type-checking) #t)'"''', + __verbose = ' --verbose', + ) + +tely = e.LYS2TELY ('collated-files', lys) +texi = e.TEXI (tely) +pdf = e.PDF (texi) +html = e.PDF (texi) + +env.Alias ('doc', pdf) +env.Alias ('doc', html) + + diff --git a/lily/SConscript b/lily/SConscript index 224b8a4236..2da49d683a 100644 --- a/lily/SConscript +++ b/lily/SConscript @@ -1,18 +1,29 @@ # -*-python-*- Import ('env') -sources = env['src_glob'] (env, '*.cc') + ['parser.yy', 'lexer.ll'] -includes = env['src_glob'] (env, 'include/*.hh') + outdir = Dir ('.').abspath +cc_sources = env['src_glob'] (env, '*.cc') +sources = cc_sources + ['parser.yy', 'lexer.ll'] +includes = env['src_glob'] (env, 'include/*.hh') e = env.Copy () -e.Append (YACCFLAGS = '-d') e.Append (CPPPATH = [outdir, '#/lily/include', '#/flower/include']) +e.Append (LEXFLAGS = ['-Cfe', '-p', '-p']) + +# SCons builds parser.cc and parser.hh automagically with this but +# keeps removing and rebuilding parser.cc because it wants parser.hpp. +# e.Append (YACCFLAGS = '-d') +# e.Depends ('lexer.cc', 'parser.cc') +# e.Depends ('my-lily-lexer.o', 'parser.cc') +# e.Depends ('my-lily-parser.o', 'parser.cc') -e.Depends ('lexer.cc', 'parser.cc') -e.Depends ('my-lily-lexer.o', 'parser.cc') -e.Depends ('my-lily-parser.o', 'parser.cc') -map (e.Precious, ['parser.cc', 'lexer.cc', 'parser.hh']) +# Adding an explicit Builder works well, we do not even need to list +# header dependencies. +HH = Builder (action = 'bison -d -o ${TARGET.base}.cc $SOURCE', + suffix = '.hh', src_suffix = '.yy') +e.Append (BUILDERS = {'HH' : HH}) +e.HH ('parser.hh', 'parser.yy') e.Append (LIBS = ['flower']) e.ParseConfig ('guile-config link') @@ -21,5 +32,5 @@ lily = e.Program (name, sources) env.Install (env['bindir'], lily) env.Alias ('install', env['bindir']) -#po = e.PO (sources + includes) -#env.Alias ('po', po) +po = env.Command ('lilypond.po', cc_sources + includes, env['pocommand']) +env.Alias ('po-update', po) diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 94655c48c8..52c4bccae2 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -8,7 +8,7 @@ */ -#include "config.h" +#include "config.hh" #include "main.hh" #include "all-font-metrics.hh" #include "warn.hh" diff --git a/lily/bezier.cc b/lily/bezier.cc index 85208ade07..d46e63638b 100644 --- a/lily/bezier.cc +++ b/lily/bezier.cc @@ -8,7 +8,7 @@ #include -#include "config.h" +#include "config.hh" #include "warn.hh" #include "libc-extension.hh" #include "bezier.hh" diff --git a/lily/includable-lexer.cc b/lily/includable-lexer.cc index f6d2774400..cb8dc7d9cb 100644 --- a/lily/includable-lexer.cc +++ b/lily/includable-lexer.cc @@ -8,7 +8,7 @@ #include -#include "config.h" +#include "config.hh" #include "includable-lexer.hh" #include "file-path.hh" diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 0b5e2a0163..7c91a85a89 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -13,7 +13,7 @@ /* GUILE only includes version in headers (libguile/version.h) as of 1.5.x. For some strange reason, they call it SCM.*VERSION. - Not including config.h here, saves a lot of unnecessary + Not including config.hh here, saves a lot of unnecessary recompiles. */ #include @@ -23,7 +23,7 @@ #define GUILE_MINOR_VERSION SCM_MINOR_VERSION #define GUILE_PATCH_LEVEL SCM_MICRO_VERSION #else -#include "config.h" +#include "config.hh" #endif #endif diff --git a/lily/include/pangofc-afm-decoder.hh b/lily/include/pangofc-afm-decoder.hh index cde2830b0b..45a4e48fa9 100644 --- a/lily/include/pangofc-afm-decoder.hh +++ b/lily/include/pangofc-afm-decoder.hh @@ -26,7 +26,7 @@ #ifndef __PANGOFC_AFM_DECODER_H__ #define __PANGOFC_AFM_DECODER_H__ -#include "config.h" +#include "config.hh" #if HAVE_PANGO_FC_FONT_MAP_ADD_DECODER_FIND_FUNC /* Note: in C and with explicit header for use outside of LilyPond. */ diff --git a/lily/kpath.cc b/lily/kpath.cc index 85e1d14127..2db7be8ee1 100644 --- a/lily/kpath.cc +++ b/lily/kpath.cc @@ -21,7 +21,7 @@ I found a somewhat more elegant patch for this: Just #include */ #include -#include "config.h" +#include "config.hh" #define popen REALLYUGLYKLUDGE #define pclose ANOTHERREALLYUGLYKLUDGE diff --git a/lily/lily-version.cc b/lily/lily-version.cc index 5d31b39342..6bee35d852 100644 --- a/lily/lily-version.cc +++ b/lily/lily-version.cc @@ -6,7 +6,7 @@ (c) 1999--2004 Jan Nieuwenhuizen */ -#include "config.h" +#include "config.hh" #include "version.hh" #include "lily-version.hh" diff --git a/lily/main.cc b/lily/main.cc index 74ac10ecd4..e171dfff82 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -12,7 +12,7 @@ #include #include -#include "config.h" +#include "config.hh" #if HAVE_GETTEXT #include diff --git a/lily/pangofc-afm-decoder.cc b/lily/pangofc-afm-decoder.cc index c6a587c5ca..4f569d2939 100644 --- a/lily/pangofc-afm-decoder.cc +++ b/lily/pangofc-afm-decoder.cc @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "config.h" +#include "config.hh" #if HAVE_PANGO_FC_FONT_MAP_ADD_DECODER_FIND_FUNC /* Need to access to PangoFcFont.full_pattern. */ diff --git a/lily/source-file.cc b/lily/source-file.cc index d735fd26ff..f083fedfd3 100644 --- a/lily/source-file.cc +++ b/lily/source-file.cc @@ -7,7 +7,7 @@ Han-Wen Nienhuys */ -#include "config.h" +#include "config.hh" #include #include diff --git a/make/stepmake.make b/make/stepmake.make index dee7d04835..666099ee2e 100644 --- a/make/stepmake.make +++ b/make/stepmake.make @@ -46,7 +46,7 @@ include $(config_make) outdir=$(outroot)/$(outbase) # why not generic ?? -config_h=$(builddir)/config$(CONFIGSUFFIX).h +config_h=$(builddir)/config$(CONFIGSUFFIX).hh # The outdir that was configured for: best guess to find binaries outconfbase=out$(CONFIGSUFFIX) diff --git a/mf/SConscript b/mf/SConscript index 8f7b6017b2..e016524368 100644 --- a/mf/SConscript +++ b/mf/SConscript @@ -1,49 +1,43 @@ # -*-python-*- -import glob import os -import string -import sys - Import ('env') -here = os.getcwd () -reldir = str (Dir ('.').srcnode ()) -os.chdir (reldir) -sources = glob.glob ('*.mf') -outdir = os.path.join (env['build'], reldir, env['out']) - -#mf_sources = reduce (+, -mf_sources = reduce (lambda x, y: x + y, - map (glob.glob, - ('feta[0-9]*.mf', - 'feta-braces-[a-z].mf', - 'feta-din*[0-9].mf', - 'feta-nummer*[0-9].mf', - 'parmesan[0-9]*.mf',))) -os.chdir (here) - -#mf_sources = ('feta16.mf',) -#mf_sources = ('feta-braces-a.mf',) -font_stems = map (lambda x: os.path.splitext (x)[0], mf_sources) - -t = map (env.TFM, font_stems) -a = map (env.AFM, font_stems) -p = map (env.PFA, font_stems) - -map (lambda x: env.Depends (x + '.pfa', x + '.enc'), font_stems) -#map (lambda x: env.Depends (x + '.pfa', x + '.log'), font_stems) +#sources = env['src_glob'] (env, '*.mf') +sources = env['glob'] (env, '*.mf') + +fonts = reduce (lambda x, y: x + y, + map (lambda x: env['glob'] (env, x), + ('feta[0-9]*.mf', + 'feta-braces-[a-z].mf', + 'feta-din*[0-9].mf', + 'feta-nummer*[0-9].mf', + 'parmesan[0-9]*.mf',))) + +env.Depends ('mf', 'mf-essential') +stems = fonts #map (lambda x: os.path.splitext (x)[0], fonts) + +t = map (env.TFM, stems) +a = map (env.AFM, stems) +p = map (env.PFA, stems) + +map (lambda x: env.Depends (x + '.pfa', x + '.enc'), stems) + +mf_essential = ['feta16', 'feta20', 'parmesan16', ] +pfa_essential = map (env.PFA, mf_essential) +env.Alias ('mf-essential', pfa_essential) + +env.Alias ('mf', 'mf-essential') + +env.Command ('cmr.enc', 'cmr.enc.in', 'cp $SOURCE $TARGET') +env.Alias ('mf', 'cmr.enc') +env.Alias ('mf', p) tfmdir = os.path.join (env['lilypondprefix'], 'fonts/tfm') afmdir = os.path.join (env['lilypondprefix'], 'afm') pfadir = os.path.join (env['lilypondprefix'], 'fonts/type1') -#ti = map (lambda x: env.Install (tfmdir, x[0]), t) ti = map (lambda x: env.Install (tfmdir, x), t) ai = map (lambda x: env.Install (afmdir, x), a) pi = map (lambda x: env.Install (pfadir, x), p) env.Alias ('install', tfmdir) env.Alias ('install', afmdir) env.Alias ('install', pfadir) - -map (lambda x: env.Alias ('fonts', x), t + a + p) -env.Command ('cmr.enc', 'cmr.enc.in', 'cp $SOURCE $TARGET') -env.Alias ('fonts', 'cmr.enc') diff --git a/po/SConscript b/po/SConscript index 07696b6244..d18c53cdab 100644 --- a/po/SConscript +++ b/po/SConscript @@ -2,21 +2,15 @@ Import ('env') pos = env['glob'] (env, '*.po') -#pot = env['glob'] (env, '*.pot') -#pot = 'lilypond' mos = map (env.MO, pos) dir = env['localedir'] env.Install (dir, mos) env.Alias ('install', dir) - - -outdir = Dir ('.').abspath -env.Depends ('po', 'pot') -env.Depends ('po', env['pottarget']) - -#pots = map (lambda x: outdir + '/' + x + '.po', pos) -map (lambda x: env.Depends (outdir + '/lilypond.pot', x), pos) +env.Depends ('po', 'po-update') +# map (lambda x: env.Depends (x + '.mo', x + '.pom'), pos) poms = map (env.POMERGE, pos) -env.Alias ('po', poms) +env.Alias ('po-update', poms) +env.Alias ('po', mos) +#env.Alias ('all', mos) diff --git a/python/GNUmakefile b/python/GNUmakefile index b1a0d05439..fbf7aed985 100644 --- a/python/GNUmakefile +++ b/python/GNUmakefile @@ -13,4 +13,4 @@ INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/python INSTALLATION_OUT_FILES1=$(OUT_PY_MODULES) $(OUT_PYC_MODULES) -$(outdir)/midi.lo: $(outdir)/config.h +$(outdir)/midi.lo: $(outdir)/config.hh diff --git a/scm/encoding.scm b/scm/encoding.scm index baec2cd2cb..0bd6fc9146 100644 --- a/scm/encoding.scm +++ b/scm/encoding.scm @@ -100,7 +100,15 @@ vector of symbols." (define (get-coding coding-name) (let ((entry (assoc-get coding-name coding-alist))) - (cons (car entry) (force (cdr entry))))) + (if entry (cons (car entry) (force (cdr entry))) + (if (equal? coding-name "feta-music") + (begin + (ly:warn "installation problem: deprecated encoding requested: ~S" coding-name) + (exit 1)) + (let ((fallback "latin1")) + (ly:warn "programming error: no such encoding: ~S" coding-name) + (ly:warn "programming error: cross thumbs, using: ~S:" fallback) + (get-coding fallback)))))) (define-public (get-coding-filename coding-name) (car (get-coding coding-name))) diff --git a/scripts/SConscript b/scripts/SConscript index 859c7b7cc1..65e1719d14 100644 --- a/scripts/SConscript +++ b/scripts/SConscript @@ -1,13 +1,11 @@ # -*-python-*- -import os - Import ('env') sources = env['src_glob'] (env, '*.py') -gen_files = map (lambda x: os.path.splitext (x)[0], sources) gens = map (env.AT_COPY, sources) dir = env['bindir'] -env.Install (dir, gen_files) +env.Install (dir, gens) +env.Alias ('install', env['bindir']) -#pot = env.POT (sources) -#env.Alias ('pot', pot) +po = env.Command ('lilypond.po', sources, env['pocommand']) +env.Alias ('po-update', po) diff --git a/stepmake/stepmake/executable-rules.make b/stepmake/stepmake/executable-rules.make index 5d25e923f5..00b9fa8497 100644 --- a/stepmake/stepmake/executable-rules.make +++ b/stepmake/stepmake/executable-rules.make @@ -1,4 +1,4 @@ -$(EXECUTABLE): $(outdir)/config.h $(O_FILES) $(outdir)/version.hh +$(EXECUTABLE): $(outdir)/config.hh $(O_FILES) $(outdir)/version.hh $(foreach a, $(MODULE_LIBS), $(MAKE) -C $(a) && ) true $(LD) -o $@ $(O_FILES) $(LOADLIBES) $(ALL_LDFLAGS) diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index 73715910e6..a152e28e0b 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -103,7 +103,7 @@ local-tags: $(outdir)/version.hh: $(depth)/VERSION $(config_make) $(PYTHON) $(step-bindir)/make-version.py $< > $@ -$(outdir)/config.h: $(config_h) +$(outdir)/config.hh: $(config_h) cp -p $< $@ configure: configure.in aclocal.m4 diff --git a/stepmake/stepmake/library-rules.make b/stepmake/stepmake/library-rules.make index 03f93fba2a..942c4f01df 100644 --- a/stepmake/stepmake/library-rules.make +++ b/stepmake/stepmake/library-rules.make @@ -1,5 +1,5 @@ -$(LIBRARY): $(outdir)/config.h $(O_FILES) +$(LIBRARY): $(outdir)/config.hh $(O_FILES) $(AR) $(ARFLAGS) $@ $(O_FILES) # thanks to Nelson Beebe for this trick. $(RANLIB) $@ || $(AR) ts $@ || true diff --git a/stepmake/stepmake/shared-library-rules.make b/stepmake/stepmake/shared-library-rules.make index 7a1a3e5c49..62b2db26d2 100644 --- a/stepmake/stepmake/shared-library-rules.make +++ b/stepmake/stepmake/shared-library-rules.make @@ -1,4 +1,4 @@ -$(SHARED_LIBRARY): $(outdir)/config.h $(LO_FILES) +$(SHARED_LIBRARY): $(outdir)/config.hh $(LO_FILES) $(LD) $(SHARED_FLAGS) -o $@ $(LO_FILES) $(ALL_LDFLAGS) diff --git a/stepmake/stepmake/toplevel-targets.make b/stepmake/stepmake/toplevel-targets.make index fe29adffbf..4633f8be1a 100644 --- a/stepmake/stepmake/toplevel-targets.make +++ b/stepmake/stepmake/toplevel-targets.make @@ -2,9 +2,8 @@ include $(stepdir)/www-targets.make local-dist: configure -# urg!: this gets into every package (ie: yodl) local-distclean: - rm -f config.h config.hh config.make Makefile GNUmakefile \ + rm -f config.hh config.make Makefile GNUmakefile \ config.cache config.status config.log index.html \ stepmake/stepmake/stepmake stepmake/stepmake/bin