Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!mcsun!unido!fbihh!ludwiga From: ludwiga@fbihh.UUCP (Arne Ludwig) Newsgroups: comp.sources.d Subject: Re: Looking for a make version to better support software versions Message-ID: <334@fbihh.UUCP> Date: 2 Jan 90 14:24:02 GMT References: <1440@jimi.cs.unlv.edu> Organization: University of Hamburg, FB Informatik, W-Germany Lines: 49 jack@stevie.cs.unlv.edu (Jack Alexander) writes: >I have a need for a make-type program that will allow recompilations >to be dependent on the changing of compiler definitions (i.e., "-DVERSIONB") This is just one of the capabilities of the shape toolkit and the AFS (Attributed file system) that has been posted in comp.sources.unix Volume 19 some months ago. With shape, however, you can/must define the dependencies explicitly. AFS/Shape will also handle version control. (as in sccs or rather rcs) (This is the way the conditional recompilation is actually done!) Note that the CSU distribution is not a production release. For further info or newer releases read the README file in the dist. Example of a "Shapefile": # Parts Copyright (C) 1989, 1990 W. Koch, A. Lampen, A. Mahler, W. Obst, # and U. Pralle FOO = versionb # changing here will generate new version OBJECTS = file1.o file2.o prog : +$(FOO) $(OBJECTS) $(CC) $(CFLAGS) $(LDFLAGS) -o prog $(OBJECTS) #% VARIANT-SECTION vclass foo ::= (versiona, versionb, versionc) versiona: CFLAGS = -g -pg -DDEBUG versionb: CFLAGS = -O -DVERSIONB LDFLAGS = -s versionc: CC = gcc CFLAGS = -O -g -finline-functions -fkeep-inline-functions \ -fcombine-regs #% END-VARIANT-SECTION --- Arne Ludwig ludwig@fbihh.informatik.uni-hamburg.de tmpmbx!tchh!rrzbu!arne -- Arne Ludwig ludwig@fbihh.informatik.uni-hamburg.de tmpmbx!tchh!rrzbu!arne