Makefile 1.1 KB

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