Support for building directories outside the repo
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 26 Jan 2014 22:20:59 +0000 (14:20 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sun, 26 Jan 2014 22:53:01 +0000 (14:53 -0800)
commitfd15ecc2ca64465e30a4d71c60f6096640b0cdba
tree4b381a58189034483b1295d4984c2937fb22daad
parent66ef12a77caf0ca3ff2692c43928e01a7a5d1d55
Support for building directories outside the repo

If you have a directory, say a custom device, that you want compiled and
linked into the kernel, you can either set up an environment variable or
simply pass a variable to make:

$ export AKAROS_EXTERNAL_DIRS="../some-path/outside-repo/"
$ make

Run make from the usual place, in the Akaros repo.  Kbuild will build
that directory and link it into the final kernel binary.

You can have more than one directory.  They must be space separated.
You can do something like:

$ AKAROS_EXTERNAL_DIRS=$AKAROS_EXTERNAL_DIRS" ~/another-dir"

All directories must have a Kbuild file, and must produce at least one
.o file.  Whatever CONFIG variables are in the main kernel work here,
though I didn't build in Kconfig support.

Whatever functions you have in external directories won't get called
automatically.  Use linker function macros to get your initialization
routines run, and hopefully that's enough.  It should be for most plan9
style devices.
Makefile