1################################################################################ 2# 3# selftests 4# 5################################################################################ 6 7LINUX_TOOLS += selftests 8 9ifeq ($(NORMALIZED_ARCH),x86_64) 10SELFTESTS_ARCH=x86 11else 12ifeq ($(NORMALIZED_ARCH),i386) 13SELFTESTS_ARCH=x86 14else 15SELFTESTS_ARCH=$(NORMALIZED_ARCH) 16endif 17endif 18 19SELFTESTS_DEPENDENCIES = \ 20 libcap-ng \ 21 popt \ 22 $(if $(BR2_PACKAGE_OPENSSL),openssl) 23 24SELFTESTS_MAKE_FLAGS = \ 25 $(LINUX_MAKE_FLAGS) \ 26 ARCH=$(SELFTESTS_ARCH) \ 27 KHDR_DIR=$(LINUX_DIR)/usr/include 28 29# O must be redefined here to overwrite the one used by Buildroot for 30# out of tree build. We build the selftests in $(LINUX_DIR)/tools/selftests and 31# not just $(LINUX_DIR) so that it isn't built in the root directory of the kernel 32# sources. 33# 34# The headers_install step here is important as some kernel selftests use a 35# hardcoded CFLAGS to find kernel headers e.g: 36# CFLAGS += -I../../../../usr/include/ 37# The headers_install target will install the kernel headers locally inside 38# the Linux build dir 39define SELFTESTS_BUILD_CMDS 40 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR) $(SELFTESTS_MAKE_FLAGS) \ 41 headers_install 42 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \ 43 $(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests 44endef 45 46define SELFTESTS_INSTALL_TARGET_CMDS 47 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \ 48 $(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests \ 49 INSTALL_PATH=$(TARGET_DIR)/usr/lib/kselftests install 50endef 51