DragonFly kernel List (threaded) for 2005-01
Re: bug or feature
:we have an interesting function in make, which I finally can easily
:reproduce. Go to src/bin/expr/Makefile and change the expr.y to expr.c.
:Compile and wonder. This is the reason why the parallel gcc 3.4 build
:failed earlier and as far as I know this is not documented.
There's nothing wrong with make. The make clean target is not removing
the temporary expr.c file generated by previous runs of make before you
changed expr.y to expr.c, and it is that expr.c that it is finding.
If you do that you will see that the standard conversion rules will
cause yacc to be run to generate the .c file from the .y file. That's
documented conversion rule behavior for make.
So the bug is simply that the Makefile is missing a CLEANFILES= expr.c
line (or one of the .mk files is).