Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2# Originally tools/testing/arm64/Makefile
3
4# When ARCH not overridden for crosscompiling, lookup machine
5ARCH ?= $(shell uname -m 2>/dev/null || echo not)
6
7ifneq (,$(filter $(ARCH),riscv))
8RISCV_SUBTARGETS ?= abi hwprobe mm sigreturn vector
9else
10RISCV_SUBTARGETS :=
11endif
12
13CFLAGS := -Wall -O2 -g
14
15# A proper top_srcdir is needed by KSFT(lib.mk)
16top_srcdir = $(realpath ../../../../)
17
18# Additional include paths needed by kselftest.h and local headers
19CFLAGS += -I$(top_srcdir)/tools/testing/selftests/
20
21CFLAGS += $(KHDR_INCLUDES)
22
23export CFLAGS
24export top_srcdir
25
26all:
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
33install: all
34 @for DIR in $(RISCV_SUBTARGETS); do \
35 BUILD_TARGET=$(OUTPUT)/$$DIR; \
36 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
37 done
38
39run_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
46emit_tests:
47 @for DIR in $(RISCV_SUBTARGETS); do \
48 BUILD_TARGET=$(OUTPUT)/$$DIR; \
49 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
50 done
51
52clean:
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