1uname_M := $(shell uname -m 2>/dev/null || echo not) 2ARCH ?= $(shell echo $(uname_M) | sed -e s/x86_64/x86/) 3 4ifneq ($(ARCH),sparc64) 5nothing: 6.PHONY: all clean run_tests install 7.SILENT: 8else 9 10SUBDIRS := drivers 11 12TEST_PROGS := run.sh 13 14 15.PHONY: all clean 16 17include ../lib.mk 18 19all: 20 @for DIR in $(SUBDIRS); do \ 21 BUILD_TARGET=$(OUTPUT)/$$DIR; \ 22 mkdir $$BUILD_TARGET -p; \ 23 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 24 #SUBDIR test prog name should be in the form: SUBDIR_test.sh \ 25 TEST=$$DIR"_test.sh"; \ 26 if [ -e $$DIR/$$TEST ]; then \ 27 rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \ 28 fi \ 29 done 30 31override define RUN_TESTS 32 @cd $(OUTPUT); ./run.sh 33endef 34 35override define INSTALL_RULE 36 mkdir -p $(INSTALL_PATH) 37 install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) 38 39 @for SUBDIR in $(SUBDIRS); do \ 40 BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \ 41 mkdir $$BUILD_TARGET -p; \ 42 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \ 43 done; 44endef 45 46override define EMIT_TESTS 47 echo "./run.sh" 48endef 49 50override define CLEAN 51 @for DIR in $(SUBDIRS); do \ 52 BUILD_TARGET=$(OUTPUT)/$$DIR; \ 53 mkdir $$BUILD_TARGET -p; \ 54 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 55 done 56endef 57endif 58