Hello Stefan,
I've put some effort into doing at least the initial configuration, and
kernel building outside of the source tree. I'll propose Tobias to
incorporate that in his Genode/Spartan amalgam.
Nevertheless, it might be helpful for you too? Although the 'uspace' and
'boot' targets aren't covered by this patch, it might serve as a
starting point to put things further. At least I always felt comfortable
to build different platform targets from the same source tree.
Thanks for your contribution, but I'd have a few comments to your patch.
For example, the joining of path components in the Python scripts is
implemented in a fragile way (os.path.join should be used instead of
plain concatenation).
The patch is unfortunately rather intrusive due to the passing of the
$(O) variable around and the need to have the additional $(BUILD_DIR)
and $(ROOT_DIR) variables in the makefiles. I'll try to reimplement it
in multiple phases and create individual changesets for each one.
What is still somehow puzzling for me is the whole motivation for this.
Why a complete out-of-source-tree build when you are mostly interested
only in the end result (i.e. kernel.bin, kernel.raw, etc.)?
And if you really need a complete out-of-source-tree build, why not use
a method that can keep the makefiles intact and simple? I mean either
the trivial source tree copy method or the well-known VPATH method (of
course, the "call from target directory" VPATH method, not the broken
variants).
M.D.
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel