[Toybox] Out of tree build support
Patrick Oppenlander
pattyo.lists at gmail.com
Tue Dec 19 16:25:06 PST 2017
On 20/12/17 09:24, Rob Landley wrote:
> Really what I need to do is come up with a way to build toybox sed and
> toysh standalone from a canned script with no config step, and then
> build the rest with that.
Makes sense.
> Speaking of which, did I ever point you at the cp -s trick?
>
> $ cp -rs "$PWD"/toybox walrus
> $ cd walrus
> $ make distclean && make defconfig && make
>
> (I taught toybox to work with relative rather than absolute paths. The
> gnu/dammit version complains about relative paths, and yes that means
> even "cp -rs toybox walrus" won't work unless you're using toybox cp.
> It's because they don't bother to calculate the dynamic ../ stack.)
That is a neat trick. First time I've seen it, thanks!
> One of my todo items is writing a new kconfig to replace the kernel
> plumbing I borrowed way back when. (Which is from 2.6.12.)
Even before that the issue is that there's no way to build kconfig from a script, so the *config targets depend on make.
>> I've pushed the current state of affairs to
>> https://github.com/pattop/toybox if you're interested in taking a look.
>
> Hmmmm... I see what you're doing, but you're adding complexity to the
> Makefile and I want to strip it out and move it into the scripts.
I think the changes to the top level Makefile aren't too bad. They really just boil down to teaching make where to find sources & scripts by sprinkling in a few $(SRCDIR)s and don't change any of the logic at all.
kconfig/Makefile probably needs to be replaced by a script so the hackery in there is fairly moot. Would you be interested in a script that replaces this?
Are you happy with the direction of the changes to the scripts in general?
It might be worth considering passing $(MAKECMDGOALS) to make.sh (or a higher level driver script) at some point. It could then call single.sh or test.sh and eliminate the requirement for .singlemake. You could then call make.sh from a catch all rule in the top level makefile and really turn the makefile into a trivial wrapper.
>> The symlinks in kconfig are a bit nasty (they really should go in the
>> build directory to avoid polluting the source dir, but as they're always
>> the same...). I got this working with vpaths earlier but wasn't too
>> thrilled with the result.
What's the reason for the symlinks in kconfig anyway? I had a quick look through the history and couldn't find anything obvious.
>> CC'ing you as I don't seem to be getting list emails at the moment.
>
> I seem to be, but I think I've been cc'd on everything the past couple
> days anyway?
I'm not receiving emails for this thread. Maybe the mailing list is smart enough to know you're CC'ing me?
Patrick
More information about the Toybox
mailing list