Robert Haas <robertmhaas@gmail.com> writes:
>> On 11/09/2011 11:35 AM, Tom Lane wrote:
>>> I think you have a broken version of "make". ecpg/preproc/Makefile
>>> is perfectly clear that parser.o depends on preproc.h.
> Either make 3.82 is broken, or there's something about it's behavior
> we don't understand. We've had other reports of problems with that
> version (by me, just a week or two ago, at least).
I wonder whether it's related to the dummy rule for preproc.h:
preproc.h: preproc.c ;
preproc.c: preproc.y
ifdef BISON$(BISON) -d $(BISONFLAGS) -o $@ $<
else@$(missing) bison $< $@
endif
I'd be tempted to try a non-empty rule for that, perhaps
preproc.h: preproc.c@echo "preproc.c rebuilt"
and see if that makes any difference.
BTW, didn't we establish that it makes a difference whether you launch
the make run from the top level or locally in ecpg/preproc/? That seems
to me to be prima facie evidence of a make bug.
regards, tom lane