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