From owner-freebsd-current Sat Jun 22 12:43:10 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA04769 for current-outgoing; Sat, 22 Jun 1996 12:43:10 -0700 (PDT) Received: from time.cdrom.com (time.cdrom.com [204.216.27.226]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA04764 for ; Sat, 22 Jun 1996 12:43:08 -0700 (PDT) Received: from time.cdrom.com (localhost [127.0.0.1]) by time.cdrom.com (8.7.5/8.6.9) with ESMTP id MAA02287; Sat, 22 Jun 1996 12:42:49 -0700 (PDT) To: Bruce Evans cc: current@FreeBSD.ORG Subject: Re: OK, here it is! [was Re: Whoops! That was a mite premature..] In-reply-to: Your message of "Sun, 23 Jun 1996 04:53:49 +1000." <199606221853.EAA08924@godzilla.zeta.org.au> Date: Sat, 22 Jun 1996 12:42:49 -0700 Message-ID: <2285.835472569@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > It works now. Don't break it. I think the way to do it is to go back to > ... > ${.CURDIR}/../cc_int/obj # same as before > ${.CURDIR:S/foo/bar/:S/obj$//}/../cc_int # new I'm not sure that's any less gross than the special case handling we have now. Can we look at this in a second pass? I've got the cases for cc and friends all working just fine using the *existing* `make world framework' and if we want to make it possible for things to start moving around or be selectively "obj'd" then I think that's a separate challenge. The changes I made to cc do work, they just don't allow you to do something which is poorly supported in the tree as it is. > >What's wrong with `cd ${.OBJDIR}'? > > To begin with, it's a syntax error. Shell identifiers can't begin with > a `.'. Huh? Make defines this and expands it before the shell ever gets to it. > Urk. The semantics of ${.OBJDIR} must not change since foreign makefiles > might depend on them. It is more usefule than before since there are now > 3 places where the object directory might be and the new place isn't > obvious. Well, I remain to be convinced that any foreign Makefiles depend on this (I've never seen a single application example), but it's not required to be different in more than 2 places so I'll just add a new variable, .TARGETOBJDIR, which always points to the "desired" obj direcory and .OBJDIR will either point there or at .CURDIR if there's no .TARGETOBJDIR. Jordan