[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[rules] "config:" -> "build:" -> "stage:" -> "binary:"

 Thought I'd run this by yous...  (It proves I'm not a total
 "non-researcher" and that I don't spend all of my time reading email
 lists, playing video games, chatting on IRC or masturbating in
 USENET.  I actually indend to become a professional GNU/Linux
 programmer as things progress around me faster than I can assimilate
 all of "grep -vf flippancy < debian-*@lists.debian.org".)

 I like to have a "debian/rules config" target distinct from the
 "build" target.  It could save a lot of time during testing and
 development.  Here's how I've begun to solve that problem for the
 XEmacs 21 packages, in the form of a mockup of a rules script.  In
 the process of creating this, I've discovered many really neato
 things about GNU `make'.  We're probably spoiled...  It sounds like
 "other" versions of `make' are rather lame by comparison to the
 athletic and brawny GNU rendition.

 (I have NOT read all of the `autoconf' or `automake' manuals yet.  I
 plan to; I promise.  What else should I read that may not be

 How could this scheme be improved, generalized or extended, as you
 see it?  Should I develop it further for Debian?  Will anyone else
 utilize this if I spend the time it will take on it?  (I likely won't 
 get paid for that time...)

 Is there anything wrong with it?  What?  Detail... and how could that
 be remedied?

 The $(${pkg}-stage-commands) could easily become sets of debhelper
 commands or whatever, rather than relying on the upstream makefile's
 "install" target.  I guess that's obvious.

 I went as far as "config", "build" and "stage", but did not complete
 it with "binary-arch" and "binary-indep" or "clean".  Obviously the
 real thing will have those important targets included.  I think they
 will follow a similar (if not the exact same) pattern.  I'll make a
 separate target for each package (using the demonstrated technique),
 and then a global one calling those.

 I hope this proves to be instructional or thought inspiring to a few
 of yous. :-)  It's time to get it off my desk before I write a book.

 See also: `Recursive Make Considered Harmful', the GNU Make manual,
           `autoconf', `automake', ...?  What else, folks?  Point the
           way please.  What else do I need to read?  Where can I find
           examples of similar things?

Attachment: rules.mockup
Description: Binary data

Reply to: