Makefile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # SPDX-License-Identifier: GPL-2.0
  2. # Makefile for powerpc selftests
  3. # ARCH can be overridden by the user for cross compiling
  4. ARCH ?= $(shell uname -m)
  5. ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
  6. ifeq ($(ARCH),powerpc)
  7. SUB_DIRS = alignment \
  8. benchmarks \
  9. cache_shape \
  10. copyloops \
  11. dexcr \
  12. dscr \
  13. mm \
  14. nx-gzip \
  15. pmu \
  16. signal \
  17. primitives \
  18. stringloops \
  19. switch_endian \
  20. syscalls \
  21. tm \
  22. eeh \
  23. vphn \
  24. math \
  25. papr_attributes \
  26. papr_vpd \
  27. papr_sysparm \
  28. ptrace \
  29. security \
  30. mce
  31. endif
  32. all: $(SUB_DIRS)
  33. $(SUB_DIRS):
  34. BUILD_TARGET=$(OUTPUT)/$@; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $@ all
  35. include ../lib.mk
  36. include ./flags.mk
  37. override define RUN_TESTS
  38. +@for TARGET in $(SUB_DIRS); do \
  39. BUILD_TARGET=$(OUTPUT)/$$TARGET; \
  40. $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests;\
  41. done;
  42. endef
  43. override define INSTALL_RULE
  44. +@for TARGET in $(SUB_DIRS); do \
  45. BUILD_TARGET=$(OUTPUT)/$$TARGET; \
  46. $(MAKE) OUTPUT=$$BUILD_TARGET INSTALL_PATH=$$INSTALL_PATH/$$TARGET -C $$TARGET install;\
  47. done;
  48. endef
  49. emit_tests:
  50. +@for TARGET in $(SUB_DIRS); do \
  51. BUILD_TARGET=$(OUTPUT)/$$TARGET; \
  52. $(MAKE) OUTPUT=$$BUILD_TARGET COLLECTION=$(COLLECTION)/$$TARGET -s -C $$TARGET $@;\
  53. done;
  54. override define CLEAN
  55. +@for TARGET in $(SUB_DIRS); do \
  56. BUILD_TARGET=$(OUTPUT)/$$TARGET; \
  57. $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean; \
  58. done;
  59. rm -f tags
  60. endef
  61. tags:
  62. find . -name '*.c' -o -name '*.h' | xargs ctags
  63. .PHONY: tags $(SUB_DIRS) emit_tests