| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # SPDX-License-Identifier: GPL-2.0
- # When ARCH not overridden for crosscompiling, lookup machine
- ARCH ?= $(shell uname -m 2>/dev/null || echo not)
- ifneq (,$(filter $(ARCH),aarch64 arm64))
- ARM64_SUBTARGETS ?= tags signal pauth fp mte bti abi gcs
- else
- ARM64_SUBTARGETS :=
- endif
- CFLAGS := -Wall -O2 -g
- # A proper top_srcdir is needed by KSFT(lib.mk)
- top_srcdir = $(realpath ../../../../)
- # Additional include paths needed by kselftest.h and local headers
- CFLAGS += -I$(top_srcdir)/tools/testing/selftests/
- CFLAGS += $(KHDR_INCLUDES)
- CFLAGS += -I$(top_srcdir)/tools/include
- OUTPUT ?= $(CURDIR)
- export CFLAGS
- export top_srcdir
- all:
- @for DIR in $(ARM64_SUBTARGETS); do \
- BUILD_TARGET=$(OUTPUT)/$$DIR; \
- mkdir -p $$BUILD_TARGET; \
- make OUTPUT=$$BUILD_TARGET -C $$DIR $@ \
- $(if $(FORCE_TARGETS),|| exit); \
- done
- install: all
- @for DIR in $(ARM64_SUBTARGETS); do \
- BUILD_TARGET=$(OUTPUT)/$$DIR; \
- make OUTPUT=$$BUILD_TARGET -C $$DIR $@ \
- $(if $(FORCE_TARGETS),|| exit); \
- done
- run_tests: all
- @for DIR in $(ARM64_SUBTARGETS); do \
- BUILD_TARGET=$(OUTPUT)/$$DIR; \
- make OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
- done
- # Avoid any output on non arm64 on emit_tests
- emit_tests:
- @for DIR in $(ARM64_SUBTARGETS); do \
- BUILD_TARGET=$(OUTPUT)/$$DIR; \
- make OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
- done
- clean:
- @for DIR in $(ARM64_SUBTARGETS); do \
- BUILD_TARGET=$(OUTPUT)/$$DIR; \
- make OUTPUT=$$BUILD_TARGET -C $$DIR $@; \
- done
- .PHONY: all clean install run_tests emit_tests
|