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 obvious?) 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