tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make: ignore stale .depend



>Can we please instead try to figure out the real issue underlying the
>overtly visible problem, and come up with a proper fix for that?

The problem is that 'mkdep' puts the path of .c files into .depend
eg.

foo.o foo.ln: /homes/sjg/make-tests/stale/stale0/foo.c \
  /homes/sjg/make-tests/stale/stale0/foo.h

and there's nothing wrong with that.

The problem happens when someone moves that directory, to stale2.
Or, changes the directory that a reachover build is being done from
eg.

- .PATH: ${SRCTOP}/dist/something-v1/
+ .PATH: ${SRCTOP}/dist/something-v2/

make will note the stale dependency, but still feed the stale path to
the compiler - which fails.  That's the use case I'm fixing.

The current 'stale dependency' handling does not address that at all.
All it does is ignore the dependency and consider the target out of
date, which is adequate for handling a .h, but not the above.

And given the current bsd.dep.mk, the only current solution is to 
rm .depend (since re-running 'make depend' won't necessarily do anything).


Home | Main Index | Thread Index | Old Index