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