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