mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
A make -j8 will call the xen.conf rule twice. The move-if-changed macro may fail if the tmp file was already removed by the other make process. Fix this by let the all target depend on install. Also remove the generated file with make clean. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Campbell <ian.campbell@citrix.com> Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Wei Liu <wei.liu2@citrix.com> [ ijc -- fixed s/of/if/ typo in commit message ]
69 lines
2.0 KiB
Makefile
69 lines
2.0 KiB
Makefile
XEN_ROOT = $(CURDIR)/../../../..
|
|
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
XEN_SYSTEMD_MODULES = xen.conf
|
|
|
|
XEN_SYSTEMD_MOUNT = proc-xen.mount
|
|
XEN_SYSTEMD_MOUNT += var-lib-xenstored.mount
|
|
|
|
XEN_SYSTEMD_SOCKET = xenstored.socket
|
|
XEN_SYSTEMD_SOCKET += xenstored_ro.socket
|
|
|
|
XEN_SYSTEMD_SERVICE = xenstored.service
|
|
XEN_SYSTEMD_SERVICE += xenconsoled.service
|
|
XEN_SYSTEMD_SERVICE += xen-qemu-dom0-disk-backend.service
|
|
XEN_SYSTEMD_SERVICE += xendomains.service
|
|
XEN_SYSTEMD_SERVICE += xen-watchdog.service
|
|
|
|
ALL_XEN_SYSTEMD = $(XEN_SYSTEMD_MODULES) \
|
|
$(XEN_SYSTEMD_MOUNT) \
|
|
$(XEN_SYSTEMD_SOCKET) \
|
|
$(XEN_SYSTEMD_SERVICE)
|
|
|
|
.PHONY: all
|
|
all: install
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f $(ALL_XEN_SYSTEMD)
|
|
|
|
.PHONY: install
|
|
install: $(ALL_XEN_SYSTEMD)
|
|
[ -d $(DESTDIR)$(XEN_SYSTEMD_DIR) ] || \
|
|
$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_DIR)
|
|
[ -d $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD) ] || \
|
|
$(INSTALL_DIR) $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD)
|
|
$(INSTALL_DATA) *.socket $(DESTDIR)$(XEN_SYSTEMD_DIR)
|
|
$(INSTALL_DATA) *.service $(DESTDIR)$(XEN_SYSTEMD_DIR)
|
|
$(INSTALL_DATA) *.mount $(DESTDIR)$(XEN_SYSTEMD_DIR)
|
|
$(INSTALL_DATA) *.conf $(DESTDIR)$(XEN_SYSTEMD_MODULES_LOAD)
|
|
|
|
$(XEN_SYSTEMD_MODULES): $(XEN_ROOT)/config/$(XEN_OS).modules
|
|
@set -e ; \
|
|
IFS='' ;\
|
|
cat $(XEN_ROOT)/config/$(XEN_OS).modules | ( \
|
|
while read l ; do \
|
|
if echo $${l} | egrep -q "^#" ; then \
|
|
continue ;\
|
|
fi ;\
|
|
if echo "$${l}" | egrep -q "\|" ; then \
|
|
m1=$${l%%|*} ;\
|
|
m2=$${l#*|} ;\
|
|
# Systemd modules-load.d lacks support ;\
|
|
# for module replacement options, we ;\
|
|
# need to add that support upstream but ;\
|
|
# its best instead to ensure this file ;\
|
|
# is no longer needed. Some folks ;\
|
|
# however have reported issues with ;\
|
|
# some modules automatically loading ;\
|
|
# so we just load all necessary xen ;\
|
|
# modules and for replacements we load ;\
|
|
# the latest module ;\
|
|
echo "$$m1" ;\
|
|
echo "$$m2" ;\
|
|
else \
|
|
echo "$$l" ;\
|
|
fi ;\
|
|
done \
|
|
) > $@
|