I am seeing a very strange situation where doing:
make -C dir all
does not rebuild anything in dir, even though stuff is stale. This command is what the recursive makefile uses to walk the directory structure.
The really strange thing is that:
cd dir; make all
does rebuild stuff.
Does anyone have any idea what is going on here? I thought they were identical.
make -d -C dir all >run1
cd dir; make -d all >../run2
diff -udb run1 run2 | less
But maybe you don't have GNU make, but some Apple (BSD-derived)
make which doesn't have the "-d" switch ...
An even better way to track down these kinds of problem is to use remake:
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
At least it claims to be a GNU make...