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