Merge tag 'riscv-for-linus-6.6-mw1' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / tools / testing / selftests / riscv / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 # Originally tools/testing/arm64/Makefile
3
4 # When ARCH not overridden for crosscompiling, lookup machine
5 ARCH ?= $(shell uname -m 2>/dev/null || echo not)
6
7 ifneq (,$(filter $(ARCH),riscv))
8 RISCV_SUBTARGETS ?= hwprobe vector mm
9 else
10 RISCV_SUBTARGETS :=
11 endif
12
13 CFLAGS := -Wall -O2 -g
14
15 # A proper top_srcdir is needed by KSFT(lib.mk)
16 top_srcdir = $(realpath ../../../../)
17
18 # Additional include paths needed by kselftest.h and local headers
19 CFLAGS += -I$(top_srcdir)/tools/testing/selftests/
20
21 CFLAGS += $(KHDR_INCLUDES)
22
23 export CFLAGS
24 export top_srcdir
25
26 all:
27         @for DIR in $(RISCV_SUBTARGETS); do                             \
28                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
29                 mkdir -p $$BUILD_TARGET;                        \
30                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;              \
31         done
32
33 install: all
34         @for DIR in $(RISCV_SUBTARGETS); do                             \
35                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
36                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;              \
37         done
38
39 run_tests: all
40         @for DIR in $(RISCV_SUBTARGETS); do                             \
41                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
42                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;              \
43         done
44
45 # Avoid any output on non riscv on emit_tests
46 emit_tests:
47         @for DIR in $(RISCV_SUBTARGETS); do                             \
48                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
49                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;              \
50         done
51
52 clean:
53         @for DIR in $(RISCV_SUBTARGETS); do                             \
54                 BUILD_TARGET=$(OUTPUT)/$$DIR;                   \
55                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;              \
56         done
57
58 .PHONY: all clean install run_tests emit_tests