Am 25.09.2010 12:24, schrieb Stefan Reinauer:
Alternatively, we could collect object lists for gcc based builds and for romcc based builds we create a list of source files and include them in an autogenerated file. Same effect, but much more readable. i.e.
Brilliant plan! It requires a switch over for the *obj* variables to source files - should we do that for all of them as a first step?
Also, what should we call them? This is a brilliant opportunity to rename them - we have: initobj (rename to romstage-src?) obj (rename to ramstage-src?) driver (rename to driver-src?) smmobj (rename to smm-src?)
After that is done and settled, the romcc part of the build system could be adapted to work the way you lined out.
So avoid issues with incorrect #include-order, the files should, in romcc mode, include their dependencies and guard against multiple inclusions.
and it'll be even easier. Plus, it will allow GCC to do better optimization, too (Especially for size even though it starts being less of an issue than it used to be)
This optimization could come afterwards - you're thinking of -combine, right? That should also speed up the build on mingw (where process creation is relatively slow)
Patrick