|
|
On 4/23/2011 2:51, andrel wrote:
> Things might have changed a lot since then. What IDE are you using?
Visual Studio 2010 at the moment. It's all XML files.
Indeed, I have a data processor that you can say "this file compiles with
the manifest processor", and each time you run the compile, the manifest
processor parses the makefile to figure out what files go into the final
build and sticks their names into a text file which it adds to the final
build. The sort of thing you'd normally use directory enumeration at runtime
to fetch, if you weren't sandboxed out of the directory access
functionality. So I stick in a file with the name "manifest", say "compile
this with the manifest processor". The manifest processor gets compiled,
then runs and looks at the makefile, pulls out the list of dependencies
marked as "to be copied to the final distribution directory", and stores
that into the manifest file, which then gets copied into the destination
directory also (while leaving the manifest processor behind, mind).
The makefiles are all XML of dependencies and what commands to run, but
there are few if any dependencies in the makefile on actual files per se.
For each directory, there's a list of "these files should be compiled with
those compilers" and a list of "this entire project depends on that antire
project." It's mildly funky because before you can (conveniently) say
"compile manifest.txt with the manifest processor" you must have already
compiled the manifest processor once. Obviously that's an IDE limitation and
not a makefile limitation, tho, since you can delete all the results and
still do the recompile.
But most of the dependency analysis is done by the actual compiler as it
compiles. For example, if you say "I want a house model, and it depends on
the bricks texture and the wood texture", you don't put that information in
the makefile. You put that information in the house model. When the
processor processes the house model, it tells the build system that the
house model depends on the textures, so if you change a texture after you've
built the house, it rebuilds the house too. But you don't do that stuff
manually - that's just silly.
--
Darren New, San Diego CA, USA (PST)
"Coding without comments is like
driving without turn signals."
Post a reply to this message
|
|