1# Makefile for powerpc selftests 2 3# ARCH can be overridden by the user for cross compiling 4ARCH ?= $(shell uname -m) 5ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) 6 7ifeq ($(ARCH),powerpc) 8 9GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") 10 11CC := $(CROSS_COMPILE)$(CC) 12CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS) 13 14export CC CFLAGS 15 16TARGETS = pmu copyloops mm tm primitives stringloops 17 18endif 19 20all: $(TARGETS) 21 22$(TARGETS): 23 $(MAKE) -k -C $@ all 24 25include ../lib.mk 26 27override define RUN_TESTS 28 @for TARGET in $(TARGETS); do \ 29 $(MAKE) -C $$TARGET run_tests; \ 30 done; 31endef 32 33override define INSTALL_RULE 34 @for TARGET in $(TARGETS); do \ 35 $(MAKE) -C $$TARGET install; \ 36 done; 37endef 38 39override define EMIT_TESTS 40 @for TARGET in $(TARGETS); do \ 41 $(MAKE) -s -C $$TARGET emit_tests; \ 42 done; 43endef 44 45clean: 46 @for TARGET in $(TARGETS); do \ 47 $(MAKE) -C $$TARGET clean; \ 48 done; 49 rm -f tags 50 51tags: 52 find . -name '*.c' -o -name '*.h' | xargs ctags 53 54.PHONY: tags $(TARGETS) 55