help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: VPATH question - Gnu make vs. Lucent nmake


From: Paul D. Smith
Subject: RE: VPATH question - Gnu make vs. Lucent nmake
Date: Wed, 31 Aug 2005 09:21:43 -0400

%% "Meinecke, Jon" <address@hidden> writes:

  >> Just a second: You try to use vpath/VPATH 'for locating
  >> ... targets'? Maybe there's the root of your problems.

  >> VPATH/vpath find sources, not targets.

Actually, the method Jon is trying to use works fine and is how make is
designed to behave.  The basic model he's trying to implement is what
vpath was supposed to be used for.

Because those (remote) targets are not meant to be rebuilt themselves,
vpath will work OK.  It's only when you're trying to rebuild the remote
targets that you run into problems, because they won't be rebuilt
"there", they'll be rebuilt "here".  Which is what Jon wants, actually.

  mj> Yes.  This is likely the issue.  However, I don't want to "place
  mj> targets" using VPATH, but rather "find" intermediate targets if
  mj> they exist "upstream".  The placement of targets built is always
  mj> specific (local) and not viewpathed.  Much of this actually works
  mj> in gmake, just no direct way to force a local source file to be
  mj> used when there's an upstream intermediate target that is newer.

Yes, there's no generic way to do this that I can think of.  GNU make
always computes out-of-dateness strictly by timestamps.  It won't
rebuild a target if the prerequisites are older, _regardless_ of whether
they exist locally or are found via vpath.

Of course, for specific files you can use command-line options like -W
<local-file> to get make to pretend the local file is newer.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]