In a fully-built source tree:
$ cd pgsql/src/backend/parser
$ make
make: Nothing to be done for `all'.
... okay so far ...
$ rm gram.o
rm: remove regular file `gram.o'? y
$ make
make: Nothing to be done for `all'.
WTF?
If I also remove objfiles.txt then make wakes up and remembers it's
supposed to do something.
I can reproduce this with both make 3.81 and 3.82, so I think it's a bug
in our makefiles not make. I don't immediately see where the problem
is though.
regards, tom lane