I forgot to tell you that
a newer GNU make that can handle order-only prerequisites is needed (3.80
should do). I have been unable to find a solution for older makes.
From:
ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Casper Hornstrup
Sent: 19. maj 2005 22:33
To: 'ReactOS Development List'
Subject: [ros-dev] New build
system ready for trunk
Hi.
I believe the new build system is ready to replace
the current build system in trunk. Unless there are objections, I plan on
merging the branch to trunk in the weekend of 27 – 29 of may.
I’d like to take the opportunity to thank
everyone that helped make this possible - especially Royce Mitchell III, Ge van
Geldorp, and Steven Edwards.
It would be nice if you could checkout the branch and
check that the features you can’t live without are still there so we can
have them ready before the merge. If you have major new feature requests that
are not essential, I’d like to put them on hold until after the merge. To
checkout the branch do a:
svn co
svn://svn.reactos.com/branches/xmlbuildsystem/reactos
For a list of environment variables that controls the
build see:
http://svn.reactos.com/viewcvs/*checkout*/branches/xmlbuildsystem/reactos/Makefile
For more technical information see:
http://svn.reactos.com/viewcvs/*checkout*/branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.txt
This is not a 100% solution to our dependency
problems though. There can still be corner-cases where it is needed to manually
clean some files, but it will be needed a lot less than today. Also in order to
have acceptable performance, we cannot check dependencies on every included
file on each make invocation. Therefore, this is currently only checked each
time the automatically generated makefile (makefile.auto) is regenerated.
Makefile.auto is regenerated each time a build system file (*.xml) is modified.
If you need to check the dependencies on files not specified in the build
system files “automatic dependencies”, then delete makefile.auto
and run make again.