Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 := -std=gnu99 -Wall -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
  8. export CFLAGS
  9. SUB_DIRS = alignment \
  10. benchmarks \
  11. copyloops \
  12. context_switch \
  13. dscr \
  14. mm \
  15. pmu \
  16. signal \
  17. primitives \
  18. stringloops \
  19. switch_endian \
  20. syscalls \
  21. tm \
  22. vphn \
  23. math
  24. endif
  25. all: $(SUB_DIRS)
  26. $(SUB_DIRS):
  27. $(MAKE) -k -C $@ all
  28. include ../lib.mk
  29. override define RUN_TESTS
  30. @for TARGET in $(SUB_DIRS); do \
  31. $(MAKE) -C $$TARGET run_tests; \
  32. done;
  33. endef
  34. override define INSTALL_RULE
  35. @for TARGET in $(SUB_DIRS); do \
  36. $(MAKE) -C $$TARGET install; \
  37. done;
  38. endef
  39. override define EMIT_TESTS
  40. @for TARGET in $(SUB_DIRS); do \
  41. $(MAKE) -s -C $$TARGET emit_tests; \
  42. done;
  43. endef
  44. clean:
  45. @for TARGET in $(SUB_DIRS); do \
  46. $(MAKE) -C $$TARGET clean; \
  47. done;
  48. rm -f tags
  49. tags:
  50. find . -name '*.c' -o -name '*.h' | xargs ctags
  51. .PHONY: tags $(SUB_DIRS)