[oe] Getting Started -Makefile
mwester at dls.net
Tue Nov 20 16:32:18 CET 2007
> From: "Richard Purdie" <rpurdie at rpsys.net>
> I think Holger's point and the general feeling of other OE devs, me
> included is that the current wave of makefiles hide too much. I had to
> solve this problem with Poky and I did it with a script you source which
> sets up a magic environment. I don't expect users to know/care about
> what the script does. I do want users to end up typing "bitbake xyz"
> though. Why?
> Users end up realising that everything is either an SCM command ("svn
> up" for Poky) or a bitbake one. Neither are complicated programs to
> learn. Yes monotone is more complex than svn but all you really need to
> know is "mtn pull;mtn up" and even then, understanding why there are two
> commands actually teaches you something important about the SCM. Hiding
> them from the user just creates a phobia of using the real tools.
I know bitbake. I use bitbake. I debug bitbake (more often than I want to,
Yet I also type "make all" to build things.
Not because I have a "phobia of using the real tools." Not because I'm
stupid. Not because I'm philisophically opposed to bitbake. It might
perhaps be because I'm so old that I have moss growing on me, and that I've
been typing "make <target>" since rocks were young and dirt was just
invented. It's true that my brain thinks "bitbake <thing>" and my fingers
type "make <thing>".
I ask the OE team why are they are philosophically opposed to driving
bitbake with make? Make has driven software development since near the dawn
of time. Make has been used to set up environment variables, adjust for
unusual or tricky build environments, and generally to ease the life of a
developer for eons. It works very well for its purpose. So why would
anyone encourage a development approach that throws out such a useful tools
and forces a user to manually set environment variables, and remember an
obscure command to invoke a build? Of course a serious developer should
know generally what goes on underneath, but that doesn't mean that they
should do all the steps manually!
Unless it is the intent to create a barrier to entry?
More information about the Openembedded-devel