On Thu, Mar 10, 2011 at 10:56:01AM +0100, John Mandereau wrote: > Il giorno ven, 04/03/2011 alle 12.16 +0000, Graham Percival ha scritto: > > There is widespread dissatisfaction with our current build system. > > Replacing it is estimated to take at least 200 hours, but that's a > > total shot in the dark. However, a few people have expressed interest > > in working on this. > > I'm not sure how time can be spent on this in a wise way.
Well, some people /want/ to work on this, so I'm going to do my best to find an efficient way of working on this. Understanding the website build process should "only" take 10-15 hours. If they complete that, they'll have a much better sense of the situation, and we can have a much more informed discussion at that point. If they decide that their time is better spent elsewhere after seeing how much effort went into the website build alone, that's fine! At least we'll have better docs for the build system, so any further effort can work from that point onwards. > If I may, quoting makefile code > should concentrate on the most difficult portions and features, although > there is not a definition of what's difficult (maybe constructs you > don't understand immediately after having read Make manual?). IMO $(outdir)/%.gif: %.xpm xpmtoppm $< | ppmtogif > $@ counts as "difficult". So does ls $(OUT)/$$l/*.html | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(OUT)/'$$l'/!!g' | xargs $(MASS_LINK) --prepend-suffix="$$langsuf" hard $(OUT)/$$l/ $(OUT)/website/ ; \ and that's one that I wrote myself! Look, I know that old-school unix people will look at those and say "wow, that's pretty trivial", but we just don't have old-school unix people working on these. We have two windows users, plus me. I might be considered a medium-school unix person (I can understand the above lines), but I'm not going to claim that they're not difficult! Memorizing stupid stuff like what $< does is stupid. Our new build system should be in python, using sensible variables names like target_filename and source_filename. And not using utterly idiodic python constructions like **args. ("let's make a readable language! Great! Now let's add some random double star operators -- everybody knows what those do, right? I mean, whenever I see a star, I think about unpacking stuff!") But unfortunately, before we can switch to a new build system, we need to know what the current system does. That means decyphering all that difficult syntax. > > To that end, I've just added a new CG 12 Build system notes. The goal > > is to have a "wiki-like" dump of whatever info we suspect about the > > build system. If you think you have some info that you can add, just > > add it. > > How much interest is there in having a very general picture (possibly > without quoting directly the makefiles) about the stepmake layer (i.e. > makefiles build, recursive make (both inside same directory and in > dubdirectories)), about the flaws (and desired improvements) of doc > build? It certainly couldn't hurt! > I'm going away for a few days and will be busy until > Sunday, but I should find some time next week. This will be a multi-month process; don't worry at all about specific days or months. :) Cheers, - Graham _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel