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