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