From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1b025ce92247869d,start X-Google-Attributes: gid103376,public From: smize@news.imagin.net (Samuel Mize) Subject: "make" tool request Date: 1997/03/20 Message-ID: <5grui2$1805@prime.imagin.net>#1/1 X-Deja-AN: 227046918 Organization: ImagiNet Communications Ltd, Arlington, Texas Reply-To: smize@imagin.net (Samuel Mize) Newsgroups: comp.lang.ada Date: 1997-03-20T00:00:00+00:00 List-Id: [ I posted this before, but with a bad reply address. Sorry. ] [ If you tried to reply, please try again. Thanks! - SMize ] Greetings, all, I am using the GNAT/gcc compilation system. However, gnatmake doesn't quite suit my needs. Are there any freeware/copyleft tools available that manage compilation across multiple directories? I'm digging through the online repositories, but would appreciate any pointers, suggestions or personal experiences with one tool or another. The ideal would be a perl or shell-script system with capabilities like gnatmake or the VADS library management commands. This would let me extend it and build in exactly the capabilities we need. Here's the types of function I need. Assume that I have many Unix directories of code. Some of this code depends on code in other directories, in a directed graph (like a group of Rational subsystems, where no cross-dependencies are allowed). I would like to: * Define a set of directories to comprise a build * Do basic management functions like listing everything that goes into a given build, check that no code unit appears twice in it, check whether everything is fully compiled and ready to link * Automate linking executables out of a build, including linking in C files, object files, dynamic shared objects, etc. * Compile everything in a given directory, in a valid order, but without compiling anything in other directories (if a depended-on unit in another directory needs compilation, the compilation in this directory should just fail). * Compile everything in a given directory, and all directories that it depends on -- putting the object files into the same directory as the source files. gnatmake comes close, but doesn't quite support how I want to manage code in multiple directories. The file structure used by gcc, and the cross-reference data provided by gnatf, would let me automate such functions with PERL without a lot of difficulty, but it would take a good bit of time. I don't want to re-do it if it has already been done. I'd greatly appreciate e-mail replies -- I'll post a summary. Thanks, Samuel Mize -- Samuel Mize -- smize@imagin.net -- Team Ada (personal net account)