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