xref: /OK3568_Linux_fs/buildroot/package/kvm-unit-tests/kvm-unit-tests.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# kvm-unit-tests
4#
5################################################################################
6
7KVM_UNIT_TESTS_VERSION = kvm-unit-tests-20171020
8KVM_UNIT_TESTS_SITE = https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
9KVM_UNIT_TESTS_SITE_METHOD = git
10KVM_UNIT_TESTS_LICENSE = LGPL-2.0
11KVM_UNIT_TESTS_LICENSE_FILES = COPYRIGHT
12
13ifeq ($(BR2_arm),y)
14KVM_UNIT_TESTS_ARCH = arm
15else ifeq ($(BR2_i386),y)
16KVM_UNIT_TESTS_ARCH = i386
17else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y)
18KVM_UNIT_TESTS_ARCH = ppc64
19else ifeq ($(BR2_x86_64),y)
20KVM_UNIT_TESTS_ARCH = x86_64
21endif
22
23ifeq ($(BR2_ENDIAN),"LITTLE")
24KVM_UNIT_TESTS_ENDIAN = little
25else
26KVM_UNIT_TESTS_ENDIAN = big
27endif
28
29KVM_UNIT_TESTS_CONF_OPTS =\
30	--arch="$(KVM_UNIT_TESTS_ARCH)" \
31	--processor="$(GCC_TARGET_CPU)" \
32	--endian="$(KVM_UNIT_TESTS_ENDIAN)"
33
34# For all architectures but x86-64, we use the target
35# compiler. However, for x86-64, we use the host compiler, as
36# kvm-unit-tests builds 32 bit code, which Buildroot toolchains for
37# x86-64 cannot do.
38ifeq ($(BR2_x86_64),)
39KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)"
40endif
41
42define KVM_UNIT_TESTS_CONFIGURE_CMDS
43	cd $(@D) && ./configure $(KVM_UNIT_TESTS_CONF_OPTS)
44endef
45
46define KVM_UNIT_TESTS_BUILD_CMDS
47	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
48		standalone
49endef
50
51define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
52	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
53		DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
54		install
55endef
56
57# Does use configure script but not an autotools one
58$(eval $(generic-package))
59