]>
Commit | Line | Data |
---|---|---|
0e56dacd ME |
1 | # Makefile for powerpc selftests |
2 | ||
3 | # ARCH can be overridden by the user for cross compiling | |
4 | ARCH ?= $(shell uname -m) | |
5 | ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) | |
6 | ||
7 | ifeq ($(ARCH),powerpc) | |
8 | ||
9 | GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") | |
10 | ||
15ec3997 | 11 | CFLAGS := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS) |
0e56dacd | 12 | |
84f887bf | 13 | export CFLAGS |
0e56dacd | 14 | |
43750880 CS |
15 | SUB_DIRS = alignment \ |
16 | benchmarks \ | |
65b6ba63 | 17 | copyloops \ |
438517ec | 18 | context_switch \ |
65b6ba63 ME |
19 | dscr \ |
20 | mm \ | |
21 | pmu \ | |
ef186331 | 22 | signal \ |
65b6ba63 ME |
23 | primitives \ |
24 | stringloops \ | |
25 | switch_endian \ | |
26 | syscalls \ | |
27 | tm \ | |
01127f1e | 28 | vphn \ |
f666ad41 AK |
29 | math \ |
30 | ptrace | |
0e56dacd ME |
31 | |
32 | endif | |
33 | ||
a908f5de | 34 | all: $(SUB_DIRS) |
cbfd7dab | 35 | |
a908f5de | 36 | $(SUB_DIRS): |
2db2c250 | 37 | BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all |
0e56dacd | 38 | |
6faeeea4 ME |
39 | include ../lib.mk |
40 | ||
41 | override define RUN_TESTS | |
a908f5de | 42 | @for TARGET in $(SUB_DIRS); do \ |
2db2c250 | 43 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \ |
a8ba798b | 44 | $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ |
0e56dacd | 45 | done; |
6faeeea4 ME |
46 | endef |
47 | ||
48 | override define INSTALL_RULE | |
d19d5efd | 49 | @for TARGET in $(SUB_DIRS); do \ |
2db2c250 | 50 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \ |
a8ba798b | 51 | $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\ |
6faeeea4 ME |
52 | done; |
53 | endef | |
54 | ||
55 | override define EMIT_TESTS | |
d19d5efd | 56 | @for TARGET in $(SUB_DIRS); do \ |
2db2c250 | 57 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \ |
a8ba798b | 58 | $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\ |
6faeeea4 ME |
59 | done; |
60 | endef | |
0e56dacd ME |
61 | |
62 | clean: | |
a908f5de | 63 | @for TARGET in $(SUB_DIRS); do \ |
2db2c250 | 64 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \ |
2e8ec87d ME |
65 | $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \ |
66 | done; | |
0e56dacd ME |
67 | rm -f tags |
68 | ||
69 | tags: | |
70 | find . -name '*.c' -o -name '*.h' | xargs ctags | |
71 | ||
d19d5efd | 72 | .PHONY: tags $(SUB_DIRS) |