diff options
Diffstat (limited to 'tools/testing/selftests/powerpc/Makefile')
-rw-r--r-- | tools/testing/selftests/powerpc/Makefile | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tools/testing/selftests/powerpc/Makefile b/tools/testing/selftests/powerpc/Makefile new file mode 100644 index 000000000..c8c085fa0 --- /dev/null +++ b/tools/testing/selftests/powerpc/Makefile @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: GPL-2.0 +# Makefile for powerpc selftests + +# ARCH can be overridden by the user for cross compiling +ARCH ?= $(shell uname -m) +ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) + +ifeq ($(ARCH),powerpc) + +GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") + +CFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS) + +export CFLAGS + +SUB_DIRS = alignment \ + benchmarks \ + cache_shape \ + copyloops \ + dscr \ + mm \ + nx-gzip \ + pmu \ + signal \ + primitives \ + stringloops \ + switch_endian \ + syscalls \ + tm \ + eeh \ + vphn \ + math \ + papr_attributes \ + ptrace \ + security \ + mce + +endif + +all: $(SUB_DIRS) + +$(SUB_DIRS): + BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all + +include ../lib.mk + +override define RUN_TESTS + +@for TARGET in $(SUB_DIRS); do \ + BUILD_TARGET=$(OUTPUT)/$$TARGET; \ + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ + done; +endef + +override define INSTALL_RULE + +@for TARGET in $(SUB_DIRS); do \ + BUILD_TARGET=$(OUTPUT)/$$TARGET; \ + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\ + done; +endef + +emit_tests: + +@for TARGET in $(SUB_DIRS); do \ + BUILD_TARGET=$(OUTPUT)/$$TARGET; \ + $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET $@;\ + done; + +override define CLEAN + +@for TARGET in $(SUB_DIRS); do \ + BUILD_TARGET=$(OUTPUT)/$$TARGET; \ + $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \ + done; + rm -f tags +endef + +tags: + find . -name '*.c' -o -name '*.h' | xargs ctags + +.PHONY: tags $(SUB_DIRS) emit_tests |