GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
- CC := $(CROSS_COMPILE)$(CC)
CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR) $(CFLAGS)
- export CC CFLAGS
+ export CFLAGS
-TARGETS = pmu copyloops mm tm primitives stringloops
+SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian
endif
-all: $(TARGETS)
+all: $(SUB_DIRS)
-$(TARGETS):
+$(SUB_DIRS):
$(MAKE) -k -C $@ all
- run_tests: all
+ include ../lib.mk
+
+ override define RUN_TESTS
- @for TARGET in $(TARGETS); do \
+ @for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET run_tests; \
done;
- @for TARGET in $(TARGETS); do \
+ endef
+
+ override define INSTALL_RULE
- @for TARGET in $(TARGETS); do \
++ @for TARGET in $(SUB_DIRS); do \
+ $(MAKE) -C $$TARGET install; \
+ done;
+ endef
+
+ override define EMIT_TESTS
++ @for TARGET in $(SUB_DIRS); do \
+ $(MAKE) -s -C $$TARGET emit_tests; \
+ done;
+ endef
clean:
- @for TARGET in $(TARGETS); do \
+ @for TARGET in $(SUB_DIRS); do \
$(MAKE) -C $$TARGET clean; \
done;
rm -f tags
tags:
find . -name '*.c' -o -name '*.h' | xargs ctags
- .PHONY: all run_tests clean tags $(SUB_DIRS)
-.PHONY: tags $(TARGETS)
++.PHONY: tags $(SUB_DIRS)