-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
So building (compiling and linking + some extra glue) is that "OS intense" even with the same compiler (and associated tools), the same language, and, not the least, on the same architecture?
When you write an application on Linux, you at least implicitly use the C library that comes with your system. The C library in turn maps your requests to the Linux kernel's system call interface.
If you want to run the same application on Fiasco, of course you need a C library as well. And of course this library needs to map your calls to Fiasco/L4Re primitives. So, yes, you need a new C library for a new OS. Same goes for other stuff, such as C++ STL, dynamic loading etc. This is a large part of what gets build when you compile L4Re.
The other part is L4Re-specific libraries that define all the nice L4 abstractions so that you can actually make use of those fancy L4 servers that provide system functionality.
Also, is the "support functionality" persistent (not application/source dependent), i.e., will the process be much faster the next time I do it? (Actually I'll try this in one second, but I ask anyway.)
Sure, that's what an automated build system (e.g., GNU/Make) is there for. To only build things once and when you don't touch them, you don't rebuild.
What is the rationale for all those trees with Makefiles on each level, not seeming to do much (to the untrained eye, though I know the syntax) while sometimes they are *immense*?
Please read about build systems, especially the GNU/Make manual or a tutorial.
Except for the usual stuff (target, libraries, and sources), there are a couple of recurring things, like
include $(L4DIR)/mk/prog.mk
Yep, all the make magic in L4Re is hidden in l4/mk/*.mk. Not very nice for the untrained eye, though. ;)
(and more) that perhaps would make more sense (to me) if you could provide me with a "hit list" what must be done to build an application. If I know "what" must be done, I think I could identify the "how" by just looking at other Makefiles.
Did you already have a look at http://wiki.tudos.org/HOWTOs#Introduction_to_Fiasco.OC_and_L4Re ? The slides at http://www.inf.tu-dresden.de/index.php?node_id=1315 might also be of interest for you.
Cheers, Bjoern - -- Dipl.-Inf. Bjoern Doebel Mail: doebel@tudos.org TU Dresden, OS Chair Phone: +49 351 463 38 799 Noethnitzer Str. 46 Fax: +49 351 463 38 284 01187 Dresden, Germany WWW: http://www.tudos.org/~doebel - -- "When the seagulls follow the trawler, it's because they think sardines will be thrown into the sea." (Eric Cantona)