4f1933620f
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>
28 lines
757 B
Makefile
28 lines
757 B
Makefile
#
|
|
# linux/arch/arm/boot/bootp/Makefile
|
|
#
|
|
# This file is included by the global makefile so that you can add your own
|
|
# architecture-specific flags and dependencies.
|
|
#
|
|
|
|
LDFLAGS_bootp :=-p --no-undefined -X \
|
|
--defsym initrd_phys=$(INITRD_PHYS) \
|
|
--defsym params_phys=$(PARAMS_PHYS) -T
|
|
AFLAGS_initrd.o :=-DINITRD=\"$(INITRD)\"
|
|
|
|
targets := bootp init.o kernel.o initrd.o
|
|
|
|
# Note that bootp.lds picks up kernel.o and initrd.o
|
|
$(obj)/bootp: $(src)/bootp.lds $(addprefix $(obj)/,init.o kernel.o initrd.o) FORCE
|
|
$(call if_changed,ld)
|
|
@:
|
|
|
|
# kernel.o and initrd.o includes a binary image using
|
|
# .incbin, a dependency which is not tracked automatically
|
|
|
|
$(obj)/kernel.o: arch/arm/boot/zImage FORCE
|
|
|
|
$(obj)/initrd.o: $(INITRD) FORCE
|
|
|
|
PHONY += $(INITRD) FORCE
|