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 INSTALL_RULE 32 mkdir -p $(INSTALL_PATH) 33 install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) 34 35 @for SUBDIR in $(SUBDIRS); do \ 36 BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \ 37 mkdir $$BUILD_TARGET -p; \ 38 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \ 39 done; 40endef 41 42override define CLEAN 43 @for DIR in $(SUBDIRS); do \ 44 BUILD_TARGET=$(OUTPUT)/$$DIR; \ 45 mkdir $$BUILD_TARGET -p; \ 46 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 47 done 48endef 49endif 50