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 28# O must be redefined here to overwrite the one used by Buildroot for 29# out of tree build. We build the selftests in $(LINUX_DIR)/tools/selftests and 30# not just $(LINUX_DIR) so that it isn't built in the root directory of the kernel 31# sources. 32# 33# The headers_install step here is important as some kernel selftests use a 34# hardcoded CFLAGS to find kernel headers e.g: 35# CFLAGS += -I../../../../usr/include/ 36# The headers_install target will install the kernel headers locally inside 37# the Linux build dir 38define SELFTESTS_BUILD_CMDS 39 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR) $(SELFTESTS_MAKE_FLAGS) \ 40 headers_install 41 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \ 42 $(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests 43endef 44 45define SELFTESTS_INSTALL_TARGET_CMDS 46 $(TARGET_MAKE_ENV) $(MAKE1) -C $(LINUX_DIR)/tools/testing/selftests \ 47 $(SELFTESTS_MAKE_FLAGS) O=$(LINUX_DIR)/tools/testing/selftests \ 48 INSTALL_PATH=$(TARGET_DIR)/usr/lib/kselftests install 49endef 50