Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!mit-eddie!uw-beaver!fluke!lowell From: lowell@tc.fluke.COM (Lowell Skoog) Newsgroups: comp.software-eng Subject: Re: Anyone know of a "better" 'make' than vanilla System-V's?. Message-ID: <1990Oct12.171347.28996@tc.fluke.COM> Date: 12 Oct 90 17:13:47 GMT References: <1990Oct3.000440.5275@hades.ausonics.oz.au> Organization: John Fluke Mfg. Co., Inc., Everett, WA Lines: 35 In article <1990Oct3.000440.5275@hades.ausonics.oz.au> greyham@hades.ausonics.oz.au (Greyham Stoney) writes: > We have well over 100 Makefiles in > one project; most of which contain basically the same information; but > with minor differences. Several respondents have mentioned the "include" directive of make. I second this recommendation. I recently developed a set of include files for SunOS make that we use at Fluke to maintain local software. These include files define our basic software maintenance process. The working makefiles in each software package inherit the basic process definition and adapt it as needed, usually by just specifying input files and destination directories (using make macros). The include files have all sorts of defaults built in, which can be overridden by any working makefile. If we need to change a default in the future, all working makefiles will automatically be updated. This approach has been a real boon. >* Dependancies must be explicitly listed in the Makefile; and they are never > kept up to date SunOS 4.0 make has a `.KEEP_STATE' feature, which I have seen in no other version of make (unfortunately). When you enable this feature, make automatically creates a state file that records include file dependencies during the make run. It also records command dependencies, so if you run make with CFLAGS=-g, then run it again with CFLAGS=-O, every target that depended on the previous setting of CFLAGS will be automatically rebuilt. I think this is a great feature. ---------------------------------------------------------------------- Lowell Skoog M/S 223B lowell@tc.fluke.COM John Fluke Mfg. Co. Inc. {uw-beaver,microsoft,sun}!fluke!lowell P.O. Box 9090 Everett, WA, USA 98206-9090 (206) 356-5283