Jim Menard said:
> I'm not. If I'm not mistaken, Make and Ant both assume that you are
> running the makefile/Ant build file from the directory in which the
> file exists. All path names are relative to that file, not to the file
> in which you happen to be running the script.

Make (and I believe Ant) will not change the current directory to the
build file directory when doing a build.  Since (by default) both programs
look for a build file in the current directory, there is rarely a
difference between the two.  However, you can override this default
behavior with a -f flag, in which case make runs in your current directory
with a Makefile (possibly) in a different directory.

Rake works differently in this regard.  It will search up the directory
tree for a Rakefile if it does not find one locally (inspired by ant's
-find flag).  This allows you to fire off rake from anywhere in the
project source tree and have it do the right thing.  And since Rake aways
cd's to the location of the Rakefile, you just write your build tasks
assuming that.  It makes everything very easy.

However, Jim Freeze *wanted* location specific behavior.  (Are there too
many Jims in this conversation?).

> I always write my {rm}akefiles and build.xml files so that everything
> happens relative to the top-level directory where the file lives.

Yes, the difference is that make/ant require you to cd into that top level
directory before running.  Rake does not.

-- 
-- Jim Weirich     jim / weirichhouse.org    http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)