diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2019-08-19 08:41:00 -0400 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2019-08-20 11:31:45 -0400 |
commit | 9b543419652917f048310d0863c47c107c26fb0c (patch) | |
tree | 4699cbcdd84d59a590649d36c44170f20bb28de0 | |
parent | 221f6df008ab39151600d4b09c85fcc730716bcb (diff) |
Tools: hv: move to tools buildsystem
There is a nice buildsystem dedicated for userspace tools in Linux kernel tree.
Switch Hyper-V daemons to be built by it.
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | tools/hv/Build | 3 | ||||
-rw-r--r-- | tools/hv/Makefile | 51 |
2 files changed, 44 insertions, 10 deletions
diff --git a/tools/hv/Build b/tools/hv/Build new file mode 100644 index 000000000000..6cf51fa4b306 --- /dev/null +++ b/tools/hv/Build | |||
@@ -0,0 +1,3 @@ | |||
1 | hv_kvp_daemon-y += hv_kvp_daemon.o | ||
2 | hv_vss_daemon-y += hv_vss_daemon.o | ||
3 | hv_fcopy_daemon-y += hv_fcopy_daemon.o | ||
diff --git a/tools/hv/Makefile b/tools/hv/Makefile index 5db5e62cebda..b57143d9459c 100644 --- a/tools/hv/Makefile +++ b/tools/hv/Makefile | |||
@@ -1,28 +1,55 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | # Makefile for Hyper-V tools | 2 | # Makefile for Hyper-V tools |
3 | 3 | include ../scripts/Makefile.include | |
4 | WARNINGS = -Wall -Wextra | ||
5 | CFLAGS = $(WARNINGS) -g $(shell getconf LFS_CFLAGS) | ||
6 | |||
7 | CFLAGS += -D__EXPORTED_HEADERS__ -I../../include/uapi -I../../include | ||
8 | 4 | ||
9 | sbindir ?= /usr/sbin | 5 | sbindir ?= /usr/sbin |
10 | libexecdir ?= /usr/libexec | 6 | libexecdir ?= /usr/libexec |
11 | sharedstatedir ?= /var/lib | 7 | sharedstatedir ?= /var/lib |
12 | 8 | ||
13 | ALL_PROGRAMS := hv_kvp_daemon hv_vss_daemon hv_fcopy_daemon | 9 | ifeq ($(srctree),) |
10 | srctree := $(patsubst %/,%,$(dir $(CURDIR))) | ||
11 | srctree := $(patsubst %/,%,$(dir $(srctree))) | ||
12 | endif | ||
13 | |||
14 | # Do not use make's built-in rules | ||
15 | # (this improves performance and avoids hard-to-debug behaviour); | ||
16 | MAKEFLAGS += -r | ||
17 | |||
18 | override CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include | ||
19 | |||
20 | ALL_TARGETS := hv_kvp_daemon hv_vss_daemon hv_fcopy_daemon | ||
21 | ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS)) | ||
14 | 22 | ||
15 | ALL_SCRIPTS := hv_get_dhcp_info.sh hv_get_dns_info.sh hv_set_ifconfig.sh | 23 | ALL_SCRIPTS := hv_get_dhcp_info.sh hv_get_dns_info.sh hv_set_ifconfig.sh |
16 | 24 | ||
17 | all: $(ALL_PROGRAMS) | 25 | all: $(ALL_PROGRAMS) |
18 | 26 | ||
19 | %: %.c | 27 | export srctree OUTPUT CC LD CFLAGS |
20 | $(CC) $(CFLAGS) -o $@ $^ | 28 | include $(srctree)/tools/build/Makefile.include |
29 | |||
30 | HV_KVP_DAEMON_IN := $(OUTPUT)hv_kvp_daemon-in.o | ||
31 | $(HV_KVP_DAEMON_IN): FORCE | ||
32 | $(Q)$(MAKE) $(build)=hv_kvp_daemon | ||
33 | $(OUTPUT)hv_kvp_daemon: $(HV_KVP_DAEMON_IN) | ||
34 | $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ | ||
35 | |||
36 | HV_VSS_DAEMON_IN := $(OUTPUT)hv_vss_daemon-in.o | ||
37 | $(HV_VSS_DAEMON_IN): FORCE | ||
38 | $(Q)$(MAKE) $(build)=hv_vss_daemon | ||
39 | $(OUTPUT)hv_vss_daemon: $(HV_VSS_DAEMON_IN) | ||
40 | $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ | ||
41 | |||
42 | HV_FCOPY_DAEMON_IN := $(OUTPUT)hv_fcopy_daemon-in.o | ||
43 | $(HV_FCOPY_DAEMON_IN): FORCE | ||
44 | $(Q)$(MAKE) $(build)=hv_fcopy_daemon | ||
45 | $(OUTPUT)hv_fcopy_daemon: $(HV_FCOPY_DAEMON_IN) | ||
46 | $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ | ||
21 | 47 | ||
22 | clean: | 48 | clean: |
23 | $(RM) hv_kvp_daemon hv_vss_daemon hv_fcopy_daemon | 49 | rm -f $(ALL_PROGRAMS) |
50 | find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.d' -delete | ||
24 | 51 | ||
25 | install: all | 52 | install: $(ALL_PROGRAMS) |
26 | install -d -m 755 $(DESTDIR)$(sbindir); \ | 53 | install -d -m 755 $(DESTDIR)$(sbindir); \ |
27 | install -d -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd; \ | 54 | install -d -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd; \ |
28 | install -d -m 755 $(DESTDIR)$(sharedstatedir); \ | 55 | install -d -m 755 $(DESTDIR)$(sharedstatedir); \ |
@@ -33,3 +60,7 @@ install: all | |||
33 | for script in $(ALL_SCRIPTS); do \ | 60 | for script in $(ALL_SCRIPTS); do \ |
34 | install $$script -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd/$${script%.sh}; \ | 61 | install $$script -m 755 $(DESTDIR)$(libexecdir)/hypervkvpd/$${script%.sh}; \ |
35 | done | 62 | done |
63 | |||
64 | FORCE: | ||
65 | |||
66 | .PHONY: all install clean FORCE prepare | ||