Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!mcvax!unido!iaoobelix!wagner From: wagner@iaoobelix.UUCP Newsgroups: comp.unix.questions Subject: Re: Strange SYSV Makefile - (nf) Message-ID: <8200020@iaoobelix.UUCP> Date: Sat, 12-Sep-87 10:18:00 EDT Article-I.D.: iaoobeli.8200020 Posted: Sat Sep 12 10:18:00 1987 Date-Received: Fri, 18-Sep-87 04:15:32 EDT Lines: 20 Nf-ID: #N:iaoobelix:8200020:000:771 Nf-From: iaoobelix!wagner Sep 12 15:18:00 1987 On Suns with SunOS3.2 (essentially a mixture of 4.2BSD and SYSV) this feature is documented in the manpage for make: "Substitutions within macros can be made as follows: $(name:str1=str2) where str1 is either a suffix, or a word to be replaced in the macro definition, and str2 is the replacement suffix or word." If you take this together with the information that $? represents "the list of dependencies with respect to which the target is out of date", it becomes clear what $(?:.o=.c) does: It recompiles all .c files corresponding to the out-of-date .o files listed in the dependency list for the target, producing the necessary object files. Juergen Wagner, (USENET) ...seismo!unido!iaoobel!wagner ("Gandalf") Fraunhofer Institute IAO, Stuttgart