b2g-gonk system build should include kernel build (on sgs2)
The b2g-gonk system image is useless without the b2g-gonk kernel. We should build the kernel along with the userspace image.
A nop |make kernel| takes 10s on my machine (it builds all kinds of stuff).
Our |make flash| build wastes a lot more time than this, but that's not an excuse to add on more wasted time.
That's not a valid argument for having a totally broken |make flash|. There are other ways to micromanage rebuild times (or if the right one doesn't exist yet, add it).
Is |make flash| totally broken? I don't understand.
At issue here is what "make" should mean, it seems. I think "make" should mean "do the most common set of things I need to do to push to the device." It seems that you think "make" should mean "do everything I could possibly need to push to the device." Is that fair?
I think that the latter is covered by our INSTALL file. But if we redefine "make" without considering how long it takes, people will develop a complex set of hacks to work around the slowness. I'd rather eat the cost of a complex set of hacks occasionally, when I need to re-flash the kernel, rather than every time I build.
|make flash| leaves you with a useless device.
|make| should absolutely default to a build of the complete b2g image. That's been the convention in every other project I've used make for. That's what m-c make does, e.g.
In general, if you're reflashing a lot, you're probably doing it wrong. Unless you're hacking around in gonk internals, |make install-gecko| should usually be what you need. What is the set of things you usually need?
|make flash| leaves you with a useless device.
...if you don't follow the instructions in INSTALL, which seems perfectly reasonable to me. Not to be pedantic, but |make| in the m-c srcdir doesn't work. You have to add a .mozconfig and run |make -f client.mk|. IOW, you have to rtfm.
make install-gecko is new? If that works, I'm very happy, and we can make |make| check out the media visualization repo for all I care. :)