Makefile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # Makefile for powerpc selftests
  2. # ARCH can be overridden by the user for cross compiling
  3. ARCH ?= $(shell uname -m)
  4. ARCH := $(shell echo $(ARCH) | sed -e s/ppc.*/powerpc/)
  5. ifeq ($(ARCH),powerpc)
  6. GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
  7. CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
  8. export CFLAGS
  9. SUB_DIRS = benchmarks \
  10. copyloops \
  11. dscr \
  12. mm \
  13. pmu \
  14. primitives \
  15. stringloops \
  16. switch_endian \
  17. syscalls \
  18. tm \
  19. vphn
  20. endif
  21. all: $(SUB_DIRS)
  22. $(SUB_DIRS):
  23. $(MAKE) -k -C $@ all
  24. include ../lib.mk
  25. override define RUN_TESTS
  26. @for TARGET in $(SUB_DIRS); do \
  27. $(MAKE) -C $$TARGET run_tests; \
  28. done;
  29. endef
  30. override define INSTALL_RULE
  31. @for TARGET in $(SUB_DIRS); do \
  32. $(MAKE) -C $$TARGET install; \
  33. done;
  34. endef
  35. override define EMIT_TESTS
  36. @for TARGET in $(SUB_DIRS); do \
  37. $(MAKE) -s -C $$TARGET emit_tests; \
  38. done;
  39. endef
  40. clean:
  41. @for TARGET in $(SUB_DIRS); do \
  42. $(MAKE) -C $$TARGET clean; \
  43. done;
  44. rm -f tags
  45. tags:
  46. find . -name '*.c' -o -name '*.h' | xargs ctags
  47. .PHONY: tags $(SUB_DIRS)