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
11CFLAGS := -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
12
13export CFLAGS
14
15SUB_DIRS = benchmarks 		\
16	   copyloops		\
17	   dscr			\
18	   mm			\
19	   pmu			\
20	   primitives		\
21	   stringloops		\
22	   switch_endian	\
23	   syscalls		\
24	   tm			\
25	   vphn         \
26	   math
27
28endif
29
30all: $(SUB_DIRS)
31
32$(SUB_DIRS):
33	$(MAKE) -k -C $@ all
34
35include ../lib.mk
36
37override define RUN_TESTS
38	@for TARGET in $(SUB_DIRS); do \
39		$(MAKE) -C $$TARGET run_tests; \
40	done;
41endef
42
43override define INSTALL_RULE
44	@for TARGET in $(SUB_DIRS); do \
45		$(MAKE) -C $$TARGET install; \
46	done;
47endef
48
49override define EMIT_TESTS
50	@for TARGET in $(SUB_DIRS); do \
51		$(MAKE) -s -C $$TARGET emit_tests; \
52	done;
53endef
54
55clean:
56	@for TARGET in $(SUB_DIRS); do \
57		$(MAKE) -C $$TARGET clean; \
58	done;
59	rm -f tags
60
61tags:
62	find . -name '*.c' -o -name '*.h' | xargs ctags
63
64.PHONY: tags $(SUB_DIRS)
65