xref: /OK3568_Linux_fs/buildroot/package/linux-tools/linux-tool-hv.mk.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# hv_fcopy_daemon
4#
5################################################################################
6
7LINUX_TOOLS += hv
8
9# The programs to build, as known by the kernel:
10HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON) += hv_kvp_daemon
11HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON) += hv_fcopy_daemon
12HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON) += hv_vss_daemon
13
14# Give each tools the name most distros install them as:
15HV_hv_kvp_daemon = hypervkvpd
16HV_hv_fcopy_daemon = hypervfcopyd
17HV_hv_vss_daemon = hypervvssd
18
19HV_MAKE_OPTS = CC="$(TARGET_CC)" CFLAGS="$(filter-out -g%,$(TARGET_CFLAGS))"
20
21define HV_BUILD_CMDS
22	$(Q)for prog in $(HV_PROGS_y); do \
23		if test ! -f $(LINUX_DIR)/tools/hv/$${prog}.c ; then \
24			printf "Your kernel version is too old and does not have the HyperV %s tool." "$${prog}" ; \
25			exit 1 ; \
26		fi; \
27	done
28
29	$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/hv \
30		$(HV_MAKE_OPTS) \
31		$(HV_PROGS_y)
32endef
33
34ifeq ($(BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON),y)
35define HV_KVP_HELPER
36	@mkdir -p $(TARGET_DIR)/usr/libexec/hypervkvpd
37	$(Q)ln -sf /bin/true $(TARGET_DIR)/usr/libexec/hypervkvpd/hv_set_ifconfig
38endef
39endif
40
41define HV_INSTALL_TARGET_CMDS
42	$(foreach prog,$(HV_PROGS_y), \
43		$(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/hv/$(prog) \
44			$(TARGET_DIR)/usr/sbin/$(HV_$(prog))
45	)
46	$(HV_KVP_HELPER)
47endef
48
49define HV_INSTALL_INIT_SYSTEMD
50	$(foreach prog,$(HV_PROGS_y), \
51		$(INSTALL) -m 0644 -D package/linux-tools/$(HV_$(prog)).service \
52			$(TARGET_DIR)/usr/lib/systemd/system/$(HV_$(prog)).service
53	)
54endef
55
56define HV_INSTALL_INIT_SYSV
57	$(INSTALL) -m 0755 -D package/linux-tools/S10hyperv \
58		$(TARGET_DIR)/etc/init.d/S10hyperv
59	$(SED) 's/@PROGS@/$(foreach prog,$(HV_PROGS_y),$(HV_$(prog)))/' \
60		$(TARGET_DIR)/etc/init.d/S10hyperv
61endef
62