[Brendan Simon]
> Why are header file touched in Makefiles ?
Dependency reasons. Header files depend on whatever CONFIG options
they reference, and this is implemented via proxy header files. Say
you have foo.c which includes foo_bar.h which makes a reference to
CONFIG_BAR. The correct dep tree would be
foo.o: foo.c foo_bar.h CONFIG_BAR
but, as it turned out, it was easier / more efficient to represent the
tree as
foo.o: foo.c foo_bar.h
foo_bar.h: CONFIG_BAR
This second tree is not strictly correct -- foo_bar.h does *not* in
fact need to be rebuilt when CONFIG_BAR changes -- so the 'touch'
commands are there to make it work correctly.
If you don't like it (and most of us don't!), you should patch your
tree with Keith Owens's 2.5 makefile structure, "kbuild-2.5". It fixes
this problem (and many others). It is hoped that kbuild-2.5 will be
merged with Linux 2.5 in the near future.
Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:00:42 EST