POV-Ray : Newsgroups : povray.off-topic : Old fart? : Re: Old fart? Server Time
30 Jul 2024 04:10:51 EDT (-0400)
  Re: Old fart?  
From: Darren New
Date: 23 Apr 2011 12:42:11
Message: <4db30163$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.