blob: e638fecfc63efd6671af71f6b35d4cf8fbf1ea16 [file] [log] [blame]
################################################################################
#
# hv_fcopy_daemon
#
################################################################################
LINUX_TOOLS += hv
# The programs to build, as known by the kernel:
HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON) += hv_kvp_daemon
HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON) += hv_fcopy_daemon
HV_PROGS_$(BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON) += hv_vss_daemon
# Give each tools the name most distros install them as:
HV_hv_kvp_daemon = hypervkvpd
HV_hv_fcopy_daemon = hypervfcopyd
HV_hv_vss_daemon = hypervvssd
HV_MAKE_OPTS = CC="$(TARGET_CC)" CFLAGS="$(filter-out -g%,$(TARGET_CFLAGS))"
define HV_BUILD_CMDS
$(Q)for prog in $(HV_PROGS_y); do \
if test ! -f $(LINUX_DIR)/tools/hv/$${prog}.c ; then \
printf "Your kernel version is too old and does not have the HyperV %s tool." "$${prog}" ; \
exit 1 ; \
fi; \
done
$(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/hv \
$(HV_MAKE_OPTS) \
$(HV_PROGS_y)
endef
ifeq ($(BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON),y)
define HV_KVP_HELPER
@mkdir -p $(TARGET_DIR)/usr/libexec/hypervkvpd
$(Q)ln -sf /bin/true $(TARGET_DIR)/usr/libexec/hypervkvpd/hv_set_ifconfig
endef
endif
define HV_INSTALL_TARGET_CMDS
$(foreach prog,$(HV_PROGS_y), \
$(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/hv/$(prog) \
$(TARGET_DIR)/usr/sbin/$(HV_$(prog))
)
$(HV_KVP_HELPER)
endef
define HV_INSTALL_INIT_SYSTEMD
$(foreach prog,$(HV_PROGS_y), \
$(INSTALL) -m 0644 -D package/linux-tools/$(HV_$(prog)).service \
$(TARGET_DIR)/usr/lib/systemd/system/$(HV_$(prog)).service
)
endef
define HV_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/linux-tools/S10hyperv \
$(TARGET_DIR)/etc/init.d/S10hyperv
$(SED) 's/@PROGS@/$(foreach prog,$(HV_PROGS_y),$(HV_$(prog)))/' \
$(TARGET_DIR)/etc/init.d/S10hyperv
endef