1XEN_ROOT = $(CURDIR)/../../..
2include $(XEN_ROOT)/tools/Rules.mk
3
4# Init scripts.
5XENDOMAINS_INITD = init.d/xendomains
6XENDOMAINS_LIBEXEC = xendomains
7XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains
8
9XENCOMMONS_INITD = init.d/xencommons
10XENCOMMONS_SYSCONFIG = init.d/sysconfig.xencommons
11
12XENDRIVERDOMAIN_INITD = init.d/xendriverdomain
13
14# Xen script dir and scripts to go there.
15XEN_SCRIPTS = vif-bridge
16XEN_SCRIPTS += vif-route
17XEN_SCRIPTS += vif-nat
18XEN_SCRIPTS += vif-openvswitch
19XEN_SCRIPTS += vif2
20XEN_SCRIPTS += vif-setup
21XEN_SCRIPTS-$(CONFIG_LIBNL) += remus-netbuf-setup
22XEN_SCRIPTS += block
23XEN_SCRIPTS += block-enbd block-nbd
24XEN_SCRIPTS += xen-hotplug-cleanup
25XEN_SCRIPTS += external-device-migrate
26XEN_SCRIPTS += vscsi
27XEN_SCRIPTS += block-iscsi
28XEN_SCRIPTS += block-tap
29XEN_SCRIPTS += block-drbd-probe
30XEN_SCRIPTS += block-dummy
31XEN_SCRIPTS += $(XEN_SCRIPTS-y)
32XEN_SCRIPTS += colo-proxy-setup
33XEN_SCRIPTS += launch-xenstore
34
35SUBDIRS-$(CONFIG_SYSTEMD) += systemd
36
37XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh
38XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
39XEN_SCRIPT_DATA += block-common.sh
40
41.PHONY: all
42all: subdirs-all
43
44.PHONY: build
45build:
46
47.PHONY: install
48install: install-initd install-scripts subdirs-install
49
50.PHONY: uninstall
51uninstall: uninstall-initd uninstall-scripts subdirs-uninstall
52
53# See docs/misc/distro_mapping.txt for INITD_DIR location
54.PHONY: install-initd
55install-initd:
56	[ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
57	[ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
58	[ -d $(DESTDIR)$(LIBEXEC_BIN) ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
59	$(INSTALL_PROG) $(XENDOMAINS_LIBEXEC) $(DESTDIR)$(LIBEXEC_BIN)
60	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR)
61	$(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
62	$(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR)
63	$(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xencommons
64	$(INSTALL_PROG) $(XENDRIVERDOMAIN_INITD) $(DESTDIR)$(INITD_DIR)
65	$(INSTALL_PROG) init.d/xen-watchdog $(DESTDIR)$(INITD_DIR)
66
67.PHONY: uninstall-initd
68uninstall-initd:
69	rm -f $(DESTDIR)$(INITD_DIR)/xen-watchdog
70	rm -f $(addprefix $(DESTDIR)$(INITD_DIR)/, $(XENDRIVERDOMAIN_INITD))
71	rm -f $(addprefix $(DESTDIR)$(INITD_DIR)/, $(XENDRIVERDOMAIN_INITD))
72	rm -f $(addprefix $(DESTDIR)$(SYSCONFIG_DIR)/xencommons/, $(XENCOMMONS_SYSCONFIG))
73	rm -f $(addprefix $(DESTDIR)$(INITD_DIR)/, $(XENCOMMONS_INITD))
74	rm -f $(addprefix $(DESTDIR)$(SYSCONFIG_DIR)/xendomains/, $(XENDOMAINS_SYSCONFIG))
75	rm -f $(addprefix $(DESTDIR)$(INITD_DIR)/, $(XENDOMAINS_INITD))
76	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(XENDOMAINS_LIBEXEC))
77
78.PHONY: install-scripts
79install-scripts:
80	[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
81		$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
82	set -e; for i in $(XEN_SCRIPTS); \
83	    do \
84	    $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
85	done
86	set -e; for i in $(XEN_SCRIPT_DATA); \
87	    do \
88	    $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
89	done
90
91.PHONY: uninstall-scripts
92uninstall-scripts:
93	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPTS))
94	rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
95
96.PHONY: clean
97clean: subdirs-clean
98
99.PHONY: distclean
100distclean: clean
101