Makefile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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)/include $(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. ptrace
  25. endif
  26. all: $(SUB_DIRS)
  27. $(SUB_DIRS):
  28. $(MAKE) -k -C $@ all
  29. include ../lib.mk
  30. override define RUN_TESTS
  31. @for TARGET in $(SUB_DIRS); do \
  32. $(MAKE) -C $$TARGET run_tests; \
  33. done;
  34. endef
  35. override define INSTALL_RULE
  36. @for TARGET in $(SUB_DIRS); do \
  37. $(MAKE) -C $$TARGET install; \
  38. done;
  39. endef
  40. override define EMIT_TESTS
  41. @for TARGET in $(SUB_DIRS); do \
  42. $(MAKE) -s -C $$TARGET emit_tests; \
  43. done;
  44. endef
  45. clean:
  46. @for TARGET in $(SUB_DIRS); do \
  47. $(MAKE) -C $$TARGET clean; \
  48. done;
  49. rm -f tags
  50. tags:
  51. find . -name '*.c' -o -name '*.h' | xargs ctags
  52. .PHONY: tags $(SUB_DIRS)