10e56dacdSMichael Ellerman# Makefile for powerpc selftests 20e56dacdSMichael Ellerman 30e56dacdSMichael Ellerman# ARCH can be overridden by the user for cross compiling 40e56dacdSMichael EllermanARCH ?= $(shell uname -m) 50e56dacdSMichael EllermanARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/) 60e56dacdSMichael Ellerman 70e56dacdSMichael Ellermanifeq ($(ARCH),powerpc) 80e56dacdSMichael Ellerman 90e56dacdSMichael EllermanGIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown") 100e56dacdSMichael Ellerman 1115ec3997SSimon GuoCFLAGS := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS) 120e56dacdSMichael Ellerman 1384f887bfSMichael Ellermanexport CFLAGS 140e56dacdSMichael Ellerman 1543750880SChris SmartSUB_DIRS = alignment \ 1643750880SChris Smart benchmarks \ 1765b6ba63SMichael Ellerman copyloops \ 18438517ecSChris Smart context_switch \ 1965b6ba63SMichael Ellerman dscr \ 2065b6ba63SMichael Ellerman mm \ 2165b6ba63SMichael Ellerman pmu \ 22ef186331SCyril Bur signal \ 2365b6ba63SMichael Ellerman primitives \ 2465b6ba63SMichael Ellerman stringloops \ 2565b6ba63SMichael Ellerman switch_endian \ 2665b6ba63SMichael Ellerman syscalls \ 2765b6ba63SMichael Ellerman tm \ 2801127f1eSCyril Bur vphn \ 29f666ad41SAnshuman Khandual math \ 30f666ad41SAnshuman Khandual ptrace 310e56dacdSMichael Ellerman 320e56dacdSMichael Ellermanendif 330e56dacdSMichael Ellerman 34a908f5deSMichael Ellermanall: $(SUB_DIRS) 35cbfd7dabSMichael Ellerman 36a908f5deSMichael Ellerman$(SUB_DIRS): 37a8ba798bSbamvor.zhangjian@huawei.com BUILD_TARGET=$$OUTPUT/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all 380e56dacdSMichael Ellerman 396faeeea4SMichael Ellermaninclude ../lib.mk 406faeeea4SMichael Ellerman 416faeeea4SMichael Ellermanoverride define RUN_TESTS 42a908f5deSMichael Ellerman @for TARGET in $(SUB_DIRS); do \ 43a8ba798bSbamvor.zhangjian@huawei.com BUILD_TARGET=$$OUTPUT/$$TARGET; \ 44a8ba798bSbamvor.zhangjian@huawei.com $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\ 450e56dacdSMichael Ellerman done; 466faeeea4SMichael Ellermanendef 476faeeea4SMichael Ellerman 486faeeea4SMichael Ellermanoverride define INSTALL_RULE 49d19d5efdSLinus Torvalds @for TARGET in $(SUB_DIRS); do \ 50a8ba798bSbamvor.zhangjian@huawei.com BUILD_TARGET=$$OUTPUT/$$TARGET; \ 51a8ba798bSbamvor.zhangjian@huawei.com $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\ 526faeeea4SMichael Ellerman done; 536faeeea4SMichael Ellermanendef 546faeeea4SMichael Ellerman 556faeeea4SMichael Ellermanoverride define EMIT_TESTS 56d19d5efdSLinus Torvalds @for TARGET in $(SUB_DIRS); do \ 57a8ba798bSbamvor.zhangjian@huawei.com BUILD_TARGET=$$OUTPUT/$$TARGET; \ 58a8ba798bSbamvor.zhangjian@huawei.com $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\ 596faeeea4SMichael Ellerman done; 606faeeea4SMichael Ellermanendef 610e56dacdSMichael Ellerman 620e56dacdSMichael Ellermanclean: 63a908f5deSMichael Ellerman @for TARGET in $(SUB_DIRS); do \ 64a8ba798bSbamvor.zhangjian@huawei.com BUILD_TARGET=$$OUTPUT/$$TARGET; \ 65*2e8ec87dSMichael Ellerman $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \ 66*2e8ec87dSMichael Ellerman done; 670e56dacdSMichael Ellerman rm -f tags 680e56dacdSMichael Ellerman 690e56dacdSMichael Ellermantags: 700e56dacdSMichael Ellerman find . -name '*.c' -o -name '*.h' | xargs ctags 710e56dacdSMichael Ellerman 72d19d5efdSLinus Torvalds.PHONY: tags $(SUB_DIRS) 73