| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 | ARCH ?= $(shell uname -m)
|
| 6 | ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
|
| 7 |
|
| 8 | ifeq ($(ARCH),powerpc)
|
| 9 |
|
| 10 | SUB_DIRS = alignment \
|
| 11 | benchmarks \
|
| 12 | cache_shape \
|
| 13 | copyloops \
|
| 14 | dexcr \
|
| 15 | dscr \
|
| 16 | mm \
|
| 17 | nx-gzip \
|
| 18 | pmu \
|
| 19 | signal \
|
| 20 | primitives \
|
| 21 | stringloops \
|
| 22 | switch_endian \
|
| 23 | syscalls \
|
| 24 | tm \
|
| 25 | eeh \
|
| 26 | vphn \
|
| 27 | math \
|
| 28 | papr_attributes \
|
| 29 | papr_vpd \
|
| 30 | papr_sysparm \
|
| 31 | ptrace \
|
| 32 | security \
|
| 33 | mce
|
| 34 |
|
| 35 | endif
|
| 36 |
|
| 37 | all: $(SUB_DIRS)
|
| 38 |
|
| 39 | $(SUB_DIRS):
|
| 40 | BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
|
| 41 |
|
| 42 | include ../lib.mk
|
| 43 | include ./flags.mk
|
| 44 |
|
| 45 | override define RUN_TESTS
|
| 46 | +@for TARGET in $(SUB_DIRS); do \
|
| 47 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
| 48 | $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
|
| 49 | done;
|
| 50 | endef
|
| 51 |
|
| 52 | override define INSTALL_RULE
|
| 53 | +@for TARGET in $(SUB_DIRS); do \
|
| 54 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
| 55 | $(MAKE) OUTPUT=$$BUILD_TARGET INSTALL_PATH=$$INSTALL_PATH/$$TARGET -C $$TARGET install;\
|
| 56 | done;
|
| 57 | endef
|
| 58 |
|
| 59 | emit_tests:
|
| 60 | +@for TARGET in $(SUB_DIRS); do \
|
| 61 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
| 62 | $(MAKE) OUTPUT=$$BUILD_TARGET COLLECTION=$(COLLECTION)/$$TARGET -s -C $$TARGET $@;\
|
| 63 | done;
|
| 64 |
|
| 65 | override define CLEAN
|
| 66 | +@for TARGET in $(SUB_DIRS); do \
|
| 67 | BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
| 68 | $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
|
| 69 | done;
|
| 70 | rm -f tags
|
| 71 | endef
|
| 72 |
|
| 73 | tags:
|
| 74 | find . -name '*.c' -o -name '*.h' | xargs ctags
|
| 75 |
|
| 76 | .PHONY: tags $(SUB_DIRS) emit_tests
|