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