xref: /linux/tools/testing/selftests/powerpc/Makefile (revision 2e8ec87dad68059876c6079e27912d819061bb4e)
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