Hi Stefan (and Tobias),
there is a new out-of-source-tree compilation tool in the HelenOS
mainline branch as of changeset 1519. It creates a symlink farm in the
destination directory and builds HelenOS there without touching the
original source tree. It is pretty easy to use, just run (from anywhere)
the tool dest_build.py by supplying the path to the source tree as the
first argument and the path to the build/destination tree as the second
argument. You can also append any Make arguments as you wish.
The benefit of this solution is that it is completely non-intrusive, no
modification of our makefiles was necessary (except one minor bug fix).
Modifying the tool to be able to build also individual components
(kernel, uspace, etc.) should not be an issue.
I have also spent some time investigating the use of VPATH, but this is
a dead end. The VPATH search algorithm in GNU Make is simply not strong
enough for our complex makefiles. Many things could be solved by
slightly twisting our makefiles, but for example sourcing files from
upper-level directories (e.g. requiring ../version from the makefile in
kernel/) unfortunately didn't cooperate with VPATH at all and I really
don't like the idea of manually prefixing the paths with some variable
all over the place.
I hope this helps Tobias, I am certainly open to any suggestions. For
the ultimate and most elegant solution we'll have to wait for the
complete rewrite the HelenOS build system in Waf.
M.D.
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel