-$(obj)/bootp: $(addprefix $(obj)/,init.o kernel.o initrd.o bootp.lds)
- $(LD) $(ZLDFLAGS) -o $@ $(obj)/init.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