1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyununame_M := $(shell uname -m 2>/dev/null || echo not) 3*4882a593SmuzhiyunARCH ?= $(shell echo $(uname_M) | sed -e s/x86_64/x86/) 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunifneq ($(ARCH),sparc64) 6*4882a593Smuzhiyunnothing: 7*4882a593Smuzhiyun.PHONY: all clean run_tests install 8*4882a593Smuzhiyun.SILENT: 9*4882a593Smuzhiyunelse 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunSUBDIRS := drivers 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunTEST_PROGS := run.sh 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun.PHONY: all clean 17*4882a593Smuzhiyun 18*4882a593Smuzhiyuninclude ../lib.mk 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunall: 21*4882a593Smuzhiyun @for DIR in $(SUBDIRS); do \ 22*4882a593Smuzhiyun BUILD_TARGET=$(OUTPUT)/$$DIR; \ 23*4882a593Smuzhiyun mkdir $$BUILD_TARGET -p; \ 24*4882a593Smuzhiyun make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 25*4882a593Smuzhiyun #SUBDIR test prog name should be in the form: SUBDIR_test.sh \ 26*4882a593Smuzhiyun TEST=$$DIR"_test.sh"; \ 27*4882a593Smuzhiyun if [ -e $$DIR/$$TEST ]; then \ 28*4882a593Smuzhiyun rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \ 29*4882a593Smuzhiyun fi \ 30*4882a593Smuzhiyun done 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunoverride define INSTALL_RULE 33*4882a593Smuzhiyun mkdir -p $(INSTALL_PATH) 34*4882a593Smuzhiyun install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun @for SUBDIR in $(SUBDIRS); do \ 37*4882a593Smuzhiyun BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \ 38*4882a593Smuzhiyun mkdir $$BUILD_TARGET -p; \ 39*4882a593Smuzhiyun $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \ 40*4882a593Smuzhiyun done; 41*4882a593Smuzhiyunendef 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunoverride define CLEAN 44*4882a593Smuzhiyun @for DIR in $(SUBDIRS); do \ 45*4882a593Smuzhiyun BUILD_TARGET=$(OUTPUT)/$$DIR; \ 46*4882a593Smuzhiyun mkdir $$BUILD_TARGET -p; \ 47*4882a593Smuzhiyun make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 48*4882a593Smuzhiyun done 49*4882a593Smuzhiyunendef 50*4882a593Smuzhiyunendif 51