xref: /linux-6.15/lib/test_fortify/Makefile (revision 4e9903b0)
1# SPDX-License-Identifier: GPL-2.0
2
3ccflags-y := $(call cc-disable-warning,fortify-source)
4
5quiet_cmd_test_fortify = TEST    $@
6      cmd_test_fortify = $(CONFIG_SHELL) $(srctree)/scripts/test_fortify.sh \
7			$< $@ "$(NM)" $(CC) $(c_flags) -DKBUILD_EXTRA_WARN1
8
9$(obj)/%.log: $(src)/%.c $(srctree)/scripts/test_fortify.sh \
10	      $(src)/test_fortify.h \
11	      $(srctree)/include/linux/fortify-string.h \
12	      FORCE
13	$(call if_changed,test_fortify)
14
15logs = $(patsubst $(src)/%.c, %.log, $(wildcard $(src)/*-*.c))
16targets += $(logs)
17
18quiet_cmd_gen_fortify_log = CAT     $@
19      cmd_gen_fortify_log = cat $(or $(real-prereqs),/dev/null) > $@
20
21$(obj)/test_fortify.log: $(addprefix $(obj)/, $(logs)) FORCE
22	$(call if_changed,gen_fortify_log)
23
24always-y += test_fortify.log
25
26# Some architectures define __NO_FORTIFY if __SANITIZE_ADDRESS__ is undefined.
27# Pass CFLAGS_KASAN to avoid warnings.
28KASAN_SANITIZE := y
29