0001
0002
0003
0004
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)