Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 # Makefile for powerpc selftests
0003 
0004 # ARCH can be overridden by the user for cross compiling
0005 ARCH ?= $(shell uname -m)
0006 ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
0007 
0008 ifeq ($(ARCH),powerpc)
0009 
0010 GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
0011 
0012 CFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
0013 
0014 export CFLAGS
0015 
0016 SUB_DIRS = alignment            \
0017            benchmarks           \
0018            cache_shape          \
0019            copyloops            \
0020            dscr                 \
0021            mm                   \
0022            nx-gzip              \
0023            pmu                  \
0024            signal               \
0025            primitives           \
0026            stringloops          \
0027            switch_endian        \
0028            syscalls             \
0029            tm                   \
0030            eeh                  \
0031            vphn         \
0032            math         \
0033            papr_attributes      \
0034            ptrace       \
0035            security     \
0036            mce
0037 
0038 endif
0039 
0040 all: $(SUB_DIRS)
0041 
0042 $(SUB_DIRS):
0043         BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
0044 
0045 include ../lib.mk
0046 
0047 override define RUN_TESTS
0048         @for TARGET in $(SUB_DIRS); do \
0049                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
0050                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
0051         done;
0052 endef
0053 
0054 override define INSTALL_RULE
0055         @for TARGET in $(SUB_DIRS); do \
0056                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
0057                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
0058         done;
0059 endef
0060 
0061 override define EMIT_TESTS
0062         @for TARGET in $(SUB_DIRS); do \
0063                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
0064                 $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
0065         done;
0066 endef
0067 
0068 override define CLEAN
0069         @for TARGET in $(SUB_DIRS); do \
0070                 BUILD_TARGET=$(OUTPUT)/$$TARGET;        \
0071                 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
0072         done;
0073         rm -f tags
0074 endef
0075 
0076 tags:
0077         find . -name '*.c' -o -name '*.h' | xargs ctags
0078 
0079 .PHONY: tags $(SUB_DIRS)