selftests: kallsyms: fix double build stupidity
authorLuis Chamberlain <mcgrof@kernel.org>
Wed, 27 Nov 2024 22:10:57 +0000 (14:10 -0800)
committerLuis Chamberlain <mcgrof@kernel.org>
Thu, 28 Nov 2024 19:17:07 +0000 (11:17 -0800)
The current arrangement will have the test modules rebuilt on
any make without having the script or code actually change.
Take Masahiro Yamada's suggested fix and cleanups on the Makefile
to fix this.

Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: 84b4a51fce4ccc66 ("selftests: add new kallsyms selftests")
Closes: https://lore.kernel.org/all/CAK7LNATRDODmfz1tE=inV-DQqPA4G9vKH+38zMbaGdpTuFWZFw@mail.gmail.com/T/#me6c8f98e82acbee6e75a31b34bbb543eb4940b15
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
lib/tests/module/Makefile

index af5c27b..2f3e1a7 100644 (file)
@@ -3,13 +3,12 @@ obj-$(CONFIG_TEST_KALLSYMS_B) += test_kallsyms_b.o
 obj-$(CONFIG_TEST_KALLSYMS_C) += test_kallsyms_c.o
 obj-$(CONFIG_TEST_KALLSYMS_D) += test_kallsyms_d.o
 
-$(obj)/%.c: FORCE
-       @$(kecho) "  GEN     $@"
-       $(Q)$(srctree)/lib/tests/module/gen_test_kallsyms.sh $@\
-               $(CONFIG_TEST_KALLSYMS_NUMSYMS) \
-               $(CONFIG_TEST_KALLSYMS_SCALE_FACTOR)
+quiet_cmd_gen_test_kallsyms = GEN     $@
+       cmd_gen_test_kallsyms = $< $@ \
+       $(CONFIG_TEST_KALLSYMS_NUMSYMS) \
+       $(CONFIG_TEST_KALLSYMS_SCALE_FACTOR)
 
-clean-files += test_kallsyms_a.c
-clean-files += test_kallsyms_b.c
-clean-files += test_kallsyms_c.c
-clean-files += test_kallsyms_d.c
+$(obj)/%.c: $(src)/gen_test_kallsyms.sh FORCE
+       $(call if_changed,gen_test_kallsyms)
+
+targets += $(foreach x, a b c d, test_kallsyms_$(x).c)