Makefile 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr
  10. endif
  11. all: $(SUB_DIRS)
  12. $(SUB_DIRS):
  13. $(MAKE) -k -C $@ all
  14. include ../lib.mk
  15. override define RUN_TESTS
  16. @for TARGET in $(SUB_DIRS); do \
  17. $(MAKE) -C $$TARGET run_tests; \
  18. done;
  19. endef
  20. override define INSTALL_RULE
  21. @for TARGET in $(SUB_DIRS); do \
  22. $(MAKE) -C $$TARGET install; \
  23. done;
  24. endef
  25. override define EMIT_TESTS
  26. @for TARGET in $(SUB_DIRS); do \
  27. $(MAKE) -s -C $$TARGET emit_tests; \
  28. done;
  29. endef
  30. clean:
  31. @for TARGET in $(SUB_DIRS); do \
  32. $(MAKE) -C $$TARGET clean; \
  33. done;
  34. rm -f tags
  35. tags:
  36. find . -name '*.c' -o -name '*.h' | xargs ctags
  37. .PHONY: tags $(SUB_DIRS)