162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# Makefile for powerpc selftests 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci# ARCH can be overridden by the user for cross compiling 562306a36Sopenharmony_ciARCH ?= $(shell uname -m) 662306a36Sopenharmony_ciARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciifeq ($(ARCH),powerpc) 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciGIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciCFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS) 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciexport CFLAGS 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciSUB_DIRS = alignment \ 1762306a36Sopenharmony_ci benchmarks \ 1862306a36Sopenharmony_ci cache_shape \ 1962306a36Sopenharmony_ci copyloops \ 2062306a36Sopenharmony_ci dexcr \ 2162306a36Sopenharmony_ci dscr \ 2262306a36Sopenharmony_ci mm \ 2362306a36Sopenharmony_ci nx-gzip \ 2462306a36Sopenharmony_ci pmu \ 2562306a36Sopenharmony_ci signal \ 2662306a36Sopenharmony_ci primitives \ 2762306a36Sopenharmony_ci stringloops \ 2862306a36Sopenharmony_ci switch_endian \ 2962306a36Sopenharmony_ci syscalls \ 3062306a36Sopenharmony_ci tm \ 3162306a36Sopenharmony_ci eeh \ 3262306a36Sopenharmony_ci vphn \ 3362306a36Sopenharmony_ci math \ 3462306a36Sopenharmony_ci papr_attributes \ 3562306a36Sopenharmony_ci ptrace \ 3662306a36Sopenharmony_ci security \ 3762306a36Sopenharmony_ci mce 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciendif 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciall: $(SUB_DIRS) 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci$(SUB_DIRS): 4462306a36Sopenharmony_ci BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciinclude ../lib.mk 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_cioverride define RUN_TESTS 4962306a36Sopenharmony_ci +@for TARGET in $(SUB_DIRS); do \ 5062306a36Sopenharmony_ci BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 5162306a36Sopenharmony_ci $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ 5262306a36Sopenharmony_ci done; 5362306a36Sopenharmony_ciendef 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_cioverride define INSTALL_RULE 5662306a36Sopenharmony_ci +@for TARGET in $(SUB_DIRS); do \ 5762306a36Sopenharmony_ci BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 5862306a36Sopenharmony_ci $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\ 5962306a36Sopenharmony_ci done; 6062306a36Sopenharmony_ciendef 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciemit_tests: 6362306a36Sopenharmony_ci +@for TARGET in $(SUB_DIRS); do \ 6462306a36Sopenharmony_ci BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 6562306a36Sopenharmony_ci $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET $@;\ 6662306a36Sopenharmony_ci done; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_cioverride define CLEAN 6962306a36Sopenharmony_ci +@for TARGET in $(SUB_DIRS); do \ 7062306a36Sopenharmony_ci BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 7162306a36Sopenharmony_ci $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \ 7262306a36Sopenharmony_ci done; 7362306a36Sopenharmony_ci rm -f tags 7462306a36Sopenharmony_ciendef 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_citags: 7762306a36Sopenharmony_ci find . -name '*.c' -o -name '*.h' | xargs ctags 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci.PHONY: tags $(SUB_DIRS) emit_tests 80