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