Home | History | Annotate | Download | only in powerpc
      1 # Makefile for powerpc selftests
      2 
      3 # ARCH can be overridden by the user for cross compiling
      4 ARCH ?= $(shell uname -m)
      5 ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
      6 
      7 ifeq ($(ARCH),powerpc)
      8 
      9 GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
     10 
     11 CFLAGS := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/include $(CFLAGS)
     12 
     13 export CFLAGS
     14 
     15 SUB_DIRS = alignment		\
     16 	   benchmarks		\
     17 	   copyloops		\
     18 	   context_switch	\
     19 	   dscr			\
     20 	   mm			\
     21 	   pmu			\
     22 	   signal		\
     23 	   primitives		\
     24 	   stringloops		\
     25 	   switch_endian	\
     26 	   syscalls		\
     27 	   tm			\
     28 	   vphn         \
     29 	   math		\
     30 	   ptrace
     31 
     32 endif
     33 
     34 all: $(SUB_DIRS)
     35 
     36 $(SUB_DIRS):
     37 	BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
     38 
     39 include ../lib.mk
     40 
     41 override define RUN_TESTS
     42 	@for TARGET in $(SUB_DIRS); do \
     43 		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
     44 		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
     45 	done;
     46 endef
     47 
     48 override define INSTALL_RULE
     49 	@for TARGET in $(SUB_DIRS); do \
     50 		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
     51 		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install;\
     52 	done;
     53 endef
     54 
     55 override define EMIT_TESTS
     56 	@for TARGET in $(SUB_DIRS); do \
     57 		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
     58 		$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
     59 	done;
     60 endef
     61 
     62 clean:
     63 	@for TARGET in $(SUB_DIRS); do \
     64 		BUILD_TARGET=$(OUTPUT)/$$TARGET;	\
     65 		$(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
     66 	done;
     67 	rm -f tags
     68 
     69 tags:
     70 	find . -name '*.c' -o -name '*.h' | xargs ctags
     71 
     72 .PHONY: tags $(SUB_DIRS)
     73