kernel: prevent unnecessary rebuilding due to config_data.gz
authorPeter Foley <pefoley2@verizon.net>
Tue, 5 Jul 2011 23:42:18 +0000 (19:42 -0400)
committerMichal Marek <mmarek@suse.cz>
Tue, 19 Jul 2011 23:32:32 +0000 (01:32 +0200)
When IKCONFIG is built-in make oldconfig will cause the kernel to be
relinked even if .config didn't change. This happens because of a
config_data.gz dependency on .config. This patch changes the if_changed
to a filechk so that config_data.h is only rebuilt when the contents
have actually changed.

Signed-off-by: Peter Foley <pefoley2@verizon.net>
Signed-off-by: Michal Marek <mmarek@suse.cz>
kernel/Makefile

index 2d64cfcc8b42bd187bed3b3bf3124be74b392219..d06467fc8f7c9669ad11d8930fc413adb4962c4f 100644 (file)
@@ -125,11 +125,10 @@ targets += config_data.gz
 $(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE
        $(call if_changed,gzip)
 
-quiet_cmd_ikconfiggz = IKCFG   $@
-      cmd_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/bin2c; echo "MAGIC_END;") > $@
+      filechk_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/bin2c; echo "MAGIC_END;")
 targets += config_data.h
 $(obj)/config_data.h: $(obj)/config_data.gz FORCE
-       $(call if_changed,ikconfiggz)
+       $(call filechk,ikconfiggz)
 
 $(obj)/time.o: $(obj)/timeconst.h