1*053f45beSAndroid Build Coastguard Worker# SPDX-License-Identifier: GPL-2.0 2*053f45beSAndroid Build Coastguard Worker# Makefile for powerpc selftests 3*053f45beSAndroid Build Coastguard Worker 4*053f45beSAndroid Build Coastguard Worker# ARCH can be overridden by the user for cross compiling 5*053f45beSAndroid Build Coastguard WorkerARCH ?= $(shell uname -m) 6*053f45beSAndroid Build Coastguard WorkerARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) 7*053f45beSAndroid Build Coastguard Worker 8*053f45beSAndroid Build Coastguard Workerifeq ($(ARCH),powerpc) 9*053f45beSAndroid Build Coastguard Worker 10*053f45beSAndroid Build Coastguard WorkerGIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") 11*053f45beSAndroid Build Coastguard Worker 12*053f45beSAndroid Build Coastguard WorkerCFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS) 13*053f45beSAndroid Build Coastguard Worker 14*053f45beSAndroid Build Coastguard Workerexport CFLAGS 15*053f45beSAndroid Build Coastguard Worker 16*053f45beSAndroid Build Coastguard WorkerSUB_DIRS = alignment \ 17*053f45beSAndroid Build Coastguard Worker benchmarks \ 18*053f45beSAndroid Build Coastguard Worker cache_shape \ 19*053f45beSAndroid Build Coastguard Worker copyloops \ 20*053f45beSAndroid Build Coastguard Worker dscr \ 21*053f45beSAndroid Build Coastguard Worker mm \ 22*053f45beSAndroid Build Coastguard Worker nx-gzip \ 23*053f45beSAndroid Build Coastguard Worker pmu \ 24*053f45beSAndroid Build Coastguard Worker signal \ 25*053f45beSAndroid Build Coastguard Worker primitives \ 26*053f45beSAndroid Build Coastguard Worker stringloops \ 27*053f45beSAndroid Build Coastguard Worker switch_endian \ 28*053f45beSAndroid Build Coastguard Worker syscalls \ 29*053f45beSAndroid Build Coastguard Worker tm \ 30*053f45beSAndroid Build Coastguard Worker eeh \ 31*053f45beSAndroid Build Coastguard Worker vphn \ 32*053f45beSAndroid Build Coastguard Worker math \ 33*053f45beSAndroid Build Coastguard Worker papr_attributes \ 34*053f45beSAndroid Build Coastguard Worker ptrace \ 35*053f45beSAndroid Build Coastguard Worker security \ 36*053f45beSAndroid Build Coastguard Worker mce 37*053f45beSAndroid Build Coastguard Worker 38*053f45beSAndroid Build Coastguard Workerendif 39*053f45beSAndroid Build Coastguard Worker 40*053f45beSAndroid Build Coastguard Workerall: $(SUB_DIRS) 41*053f45beSAndroid Build Coastguard Worker 42*053f45beSAndroid Build Coastguard Worker$(SUB_DIRS): 43*053f45beSAndroid Build Coastguard Worker BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all 44*053f45beSAndroid Build Coastguard Worker 45*053f45beSAndroid Build Coastguard Workerinclude ../lib.mk 46*053f45beSAndroid Build Coastguard Worker 47*053f45beSAndroid Build Coastguard Workeroverride define RUN_TESTS 48*053f45beSAndroid Build Coastguard Worker @for TARGET in $(SUB_DIRS); do \ 49*053f45beSAndroid Build Coastguard Worker BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 50*053f45beSAndroid Build Coastguard Worker $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ 51*053f45beSAndroid Build Coastguard Worker done; 52*053f45beSAndroid Build Coastguard Workerendef 53*053f45beSAndroid Build Coastguard Worker 54*053f45beSAndroid Build Coastguard Workeroverride define INSTALL_RULE 55*053f45beSAndroid Build Coastguard Worker @for TARGET in $(SUB_DIRS); do \ 56*053f45beSAndroid Build Coastguard Worker BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 57*053f45beSAndroid Build Coastguard Worker $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\ 58*053f45beSAndroid Build Coastguard Worker done; 59*053f45beSAndroid Build Coastguard Workerendef 60*053f45beSAndroid Build Coastguard Worker 61*053f45beSAndroid Build Coastguard Workeroverride define EMIT_TESTS 62*053f45beSAndroid Build Coastguard Worker @for TARGET in $(SUB_DIRS); do \ 63*053f45beSAndroid Build Coastguard Worker BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 64*053f45beSAndroid Build Coastguard Worker $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\ 65*053f45beSAndroid Build Coastguard Worker done; 66*053f45beSAndroid Build Coastguard Workerendef 67*053f45beSAndroid Build Coastguard Worker 68*053f45beSAndroid Build Coastguard Workeroverride define CLEAN 69*053f45beSAndroid Build Coastguard Worker @for TARGET in $(SUB_DIRS); do \ 70*053f45beSAndroid Build Coastguard Worker BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 71*053f45beSAndroid Build Coastguard Worker $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \ 72*053f45beSAndroid Build Coastguard Worker done; 73*053f45beSAndroid Build Coastguard Worker rm -f tags 74*053f45beSAndroid Build Coastguard Workerendef 75*053f45beSAndroid Build Coastguard Worker 76*053f45beSAndroid Build Coastguard Workertags: 77*053f45beSAndroid Build Coastguard Worker find . -name '*.c' -o -name '*.h' | xargs ctags 78*053f45beSAndroid Build Coastguard Worker 79*053f45beSAndroid Build Coastguard Worker.PHONY: tags $(SUB_DIRS) 80