linux/tools/testing/selftests/powerpc/Makefile
Michael Ellerman 4cd968ef42 selftests/powerpc: Add a test of the switch_endian() syscall
This adds a test of the switch_endian() syscall we added in the previous
commit.

We test it by calling the endian switch syscall, and then executing some
code in the other endian to check everything went as expected. That code
checks registers we expect to be maintained are. If the endian switch
failed to happen that code sequence will be illegal and cause the test
to abort.

We then switch back to the original endian, do the same checks and
finally write a success message and exit(0).

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-03-28 22:08:47 +11:00

40 lines
839 B
Makefile

# 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")
CC := $(CROSS_COMPILE)$(CC)
CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
export CC CFLAGS
SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian
endif
all: $(SUB_DIRS)
$(SUB_DIRS):
$(MAKE) -k -C $@ all
run_tests: all
@for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET run_tests; \
done;
clean:
@for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET clean; \
done;
rm -f tags
tags:
find . -name '*.c' -o -name '*.h' | xargs ctags
.PHONY: all run_tests clean tags $(SUB_DIRS)