Okay, I think it's time to abstract out how the build system's handled a bit. I'm not sure how much we need, but filling in a template makefile's not going to cut it, I think.
We've a couple of things we need to do generically: *) Compile C code to an object module and put that module in a library *) Link an executable *) Link a shared library with a list of exported routines (Yes, we are *not* going to export everything) *) Delete things for cleanup *) General "X depends on Y, run perl program Z to do it" things *) Run build in directory X All filenames with paths can be specified in Unix format, but need to go through a to_native routine that puts them in platform-native format. (Generally just an issue on VMS and MVS, alas, but I think we might have issues on Win32) Of course, how you invoke the compiler, librarian, linker, linker for shared libraries, delete files, and actually fire off a make is horribly platform-dependent, as to be otherwise would make things too easy for us. Any takers? The source dependency files don't have to look anything like a Makefile if you don't want 'em to... Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk