kbuild: change kbuild to not rely on incorrect GNU make behavior
authorPaul Smith <psmith@gnu.org>
Sun, 5 Mar 2006 22:14:10 +0000 (17:14 -0500)
committerSam Ravnborg <sam@mars.ravnborg.org>
Sun, 5 Mar 2006 23:09:51 +0000 (00:09 +0100)
commit4f1933620f57145212cdbb1ac6ce099eeeb21c5a
treec083cce1f0acedd92be2ac6eb5e6c49ebd84ac46
parent7b75b13cda8bd21e8636ea985f76e1ce5bd1a470
kbuild: change kbuild to not rely on incorrect GNU make behavior

The kbuild system takes advantage of an incorrect behavior in GNU make.
Once this behavior is fixed, all files in the kernel rebuild every time,
even if nothing has changed.  This patch ensures kbuild works with both
the incorrect and correct behaviors of GNU make.

For more details on the incorrect behavior, see:

http://lists.gnu.org/archive/html/bug-make/2006-03/msg00003.html

Changes in this patch:
  - Keep all targets that are to be marked .PHONY in a variable, PHONY.
  - Add .PHONY: $(PHONY) to mark them properly.
  - Remove any $(PHONY) files from the $? list when determining whether
    targets are up-to-date or not.

Signed-off-by: Paul Smith <psmith@gnu.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
25 files changed:
Documentation/DocBook/Makefile
Makefile
arch/arm/Makefile
arch/arm/boot/Makefile
arch/arm/boot/bootp/Makefile
arch/arm26/Makefile
arch/arm26/boot/Makefile
arch/i386/Makefile
arch/ia64/Makefile
arch/m32r/Makefile
arch/powerpc/Makefile
arch/ppc/Makefile
arch/ppc/boot/Makefile
arch/ppc/boot/openfirmware/Makefile
arch/sh/Makefile
arch/um/Makefile
arch/x86_64/Makefile
scripts/Kbuild.include
scripts/Makefile.build
scripts/Makefile.clean
scripts/Makefile.modinst
scripts/Makefile.modpost
scripts/kconfig/Makefile
scripts/kconfig/lxdialog/Makefile
scripts/package/Makefile