162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# Makefile for Hyper-V tools 362306a36Sopenharmony_ciinclude ../scripts/Makefile.include 462306a36Sopenharmony_ci 562306a36Sopenharmony_cisbindir ?= /usr/sbin 662306a36Sopenharmony_cilibexecdir ?= /usr/libexec 762306a36Sopenharmony_cisharedstatedir ?= /var/lib 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciifeq ($(srctree),) 1062306a36Sopenharmony_cisrctree := $(patsubst %/,%,$(dir $(CURDIR))) 1162306a36Sopenharmony_cisrctree := $(patsubst %/,%,$(dir $(srctree))) 1262306a36Sopenharmony_ciendif 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci# Do not use make's built-in rules 1562306a36Sopenharmony_ci# (this improves performance and avoids hard-to-debug behaviour); 1662306a36Sopenharmony_ciMAKEFLAGS += -r 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_cioverride CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciALL_TARGETS := hv_kvp_daemon hv_vss_daemon hv_fcopy_daemon 2162306a36Sopenharmony_ciALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS)) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciALL_SCRIPTS := hv_get_dhcp_info.sh hv_get_dns_info.sh hv_set_ifconfig.sh 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciall: $(ALL_PROGRAMS) 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciexport srctree OUTPUT CC LD CFLAGS 2862306a36Sopenharmony_ciinclude $(srctree)/tools/build/Makefile.include 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciHV_KVP_DAEMON_IN := $(OUTPUT)hv_kvp_daemon-in.o 3162306a36Sopenharmony_ci$(HV_KVP_DAEMON_IN): FORCE 3262306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=hv_kvp_daemon 3362306a36Sopenharmony_ci$(OUTPUT)hv_kvp_daemon: $(HV_KVP_DAEMON_IN) 3462306a36Sopenharmony_ci $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciHV_VSS_DAEMON_IN := $(OUTPUT)hv_vss_daemon-in.o 3762306a36Sopenharmony_ci$(HV_VSS_DAEMON_IN): FORCE 3862306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=hv_vss_daemon 3962306a36Sopenharmony_ci$(OUTPUT)hv_vss_daemon: $(HV_VSS_DAEMON_IN) 4062306a36Sopenharmony_ci $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciHV_FCOPY_DAEMON_IN := $(OUTPUT)hv_fcopy_daemon-in.o 4362306a36Sopenharmony_ci$(HV_FCOPY_DAEMON_IN): FORCE 4462306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=hv_fcopy_daemon 4562306a36Sopenharmony_ci$(OUTPUT)hv_fcopy_daemon: $(HV_FCOPY_DAEMON_IN) 4662306a36Sopenharmony_ci $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciclean: 4962306a36Sopenharmony_ci rm -f $(ALL_PROGRAMS) 5062306a36Sopenharmony_ci find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciinstall: $(ALL_PROGRAMS) 5362306a36Sopenharmony_ci install -d -m 755 $(DESTDIR)$(sbindir); \ 5462306a36Sopenharmony_ci install -d -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd; \ 5562306a36Sopenharmony_ci install -d -m 755 $(DESTDIR)$(sharedstatedir); \ 5662306a36Sopenharmony_ci for program in $(ALL_PROGRAMS); do \ 5762306a36Sopenharmony_ci install $$program -m 755 $(DESTDIR)$(sbindir); \ 5862306a36Sopenharmony_ci done; \ 5962306a36Sopenharmony_ci install -m 755 lsvmbus $(DESTDIR)$(sbindir); \ 6062306a36Sopenharmony_ci for script in $(ALL_SCRIPTS); do \ 6162306a36Sopenharmony_ci install $$script -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd/$${script%.sh}; \ 6262306a36Sopenharmony_ci done 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciFORCE: 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci.PHONY: all install clean FORCE prepare 67