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 ?= hwprobe 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: all 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 59