Commit 8e506041 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Pavel Emelyanov

build: Bring install back to life

Fixes #114
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 0e5f2347
install: install-criu install-man #
# Installation paths.
DESTDIR ?=
PREFIX ?= /usr/local
SBINDIR ?= $(PREFIX)/sbin
MANDIR ?= $(PREFIX)/share/man
SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
LIBDIR ?= $(PREFIX)/lib
INCLUDEDIR ?= $(PREFIX)/include/criu
install-criu: all $(CRIU-LIB) install-crit #
$(E) " INSTALL " $(PROGRAM) # For recent Debian/Ubuntu with multiarch support.
$(Q) mkdir -p $(DESTDIR)$(SBINDIR) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
$(Q) install -m 755 $(PROGRAM) $(DESTDIR)$(SBINDIR) ifneq "$(DEB_HOST_MULTIARCH)" ""
$(Q) mkdir -p $(DESTDIR)$(LIBDIR) LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
$(Q) install -m 755 $(CRIU-LIB) \ else
$(DESTDIR)$(LIBDIR)/$(CRIU-SO).so.$(VERSION_SO_MAJOR).$(VERSION_SO_MINOR) #
$(Q) ln -fns $(CRIU-SO).so.$(VERSION_SO_MAJOR).$(VERSION_SO_MINOR) \ # For most other systems
$(DESTDIR)$(LIBDIR)/$(CRIU-SO).so.$(VERSION_SO_MAJOR) ifeq "$(shell uname -m)" "x86_64"
$(Q) ln -fns $(CRIU-SO).so.$(VERSION_SO_MAJOR).$(VERSION_SO_MINOR) \ LIBDIR ?= $(PREFIX)/lib64
$(DESTDIR)$(LIBDIR)/$(CRIU-SO).so endif
$(Q) mkdir -p $(DESTDIR)$(INCLUDEDIR) endif
$(Q) install -m 644 $(CRIU-INC) $(DESTDIR)$(INCLUDEDIR)
export SBINDIR MANDIR SYSTEMDUNITDIR LOGROTATEDIR
export INCLUDEDIR LIBDIR DESTDIR PREFIX
install-tree:
$(Q) mkdir -p $(DESTDIR)$(SYSTEMDUNITDIR) $(Q) mkdir -p $(DESTDIR)$(SYSTEMDUNITDIR)
$(Q) sed -e 's,@version@,$(CRTOOLSVERSION),' \ $(Q) mkdir -p $(DESTDIR)$(LOGROTATEDIR)
-e 's,@libdir@,$(LIBDIR),' \ $(Q) mkdir -p $(DESTDIR)$(INCLUDEDIR)
-e 's,@includedir@,$(dir $(INCLUDEDIR)),' \ .PHONY: install-tree
lib/criu.pc.in > lib/c/criu.pc
$(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
$(Q) install -m 644 lib/c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
install-man: install-man:
$(Q) $(MAKE) -C Documentation install $(Q) $(MAKE) -C Documentation install
.PHONY: install-man
install-lib: lib
$(Q) $(MAKE) -C lib install
.PHONY: install-lib
install-crit: crit/crit install-criu: criu
$(E) " INSTALL crit" $(Q) $(MAKE) -C criu install
$(Q) python scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) .PHONY: install-criu
.PHONY: install install-man install-crit install-criu install: install-man install-lib install-criu
@true
.PHONY: install
...@@ -155,9 +155,18 @@ clean: ...@@ -155,9 +155,18 @@ clean:
$(Q) $(RM) $(CONFIG_HEADER) $(Q) $(RM) $(CONFIG_HEADER)
$(Q) $(RM) criu $(Q) $(RM) criu
UAPI_HEADERS := include/criu-plugin.h include/criu-log.h
install: criu
$(E) " INSTALL " criu
$(Q) mkdir -p $(DESTDIR)$(SBINDIR)
$(Q) install -m 755 criu $(DESTDIR)$(SBINDIR)
$(Q) mkdir -p $(DESTDIR)$(INCLUDEDIR)
$(Q) install -m 644 $(UAPI_HEADERS) $(DESTDIR)$(INCLUDEDIR)
# #
# Final @all target. # Final @all target.
all: $(PHONY) all: $(PHONY)
@true @true
.PHONY: $(PHONY) clean .PHONY: $(PHONY) clean install
...@@ -2,6 +2,7 @@ include $(__nmk_dir)/include.mk ...@@ -2,6 +2,7 @@ include $(__nmk_dir)/include.mk
include $(__nmk_dir)/macro.mk include $(__nmk_dir)/macro.mk
CRIU_SO := libcriu.so CRIU_SO := libcriu.so
UAPI_HEADERS := c/criu.h ../images/rpc.proto
# #
# C language bindings. # C language bindings.
...@@ -28,6 +29,7 @@ clean: ...@@ -28,6 +29,7 @@ clean:
$(call msg-clean, lib-c) $(call msg-clean, lib-c)
$(Q) $(MAKE) $(build)=c $@ $(Q) $(MAKE) $(build)=c $@
$(Q) $(RM) c/$(CRIU_SO) $(Q) $(RM) c/$(CRIU_SO)
$(Q) $(RM) c/criu.pc
$(call msg-clean, lib-py) $(call msg-clean, lib-py)
$(Q) $(MAKE) -C pycriu/images $@ $(Q) $(MAKE) -C pycriu/images $@
...@@ -35,4 +37,20 @@ all: $(PHONY) ...@@ -35,4 +37,20 @@ all: $(PHONY)
@true @true
PHONY += all PHONY += all
install: lib-c lib-py ../crit/crit c/criu.pc.in
$(E) " INSTALL " $(CRIU_SO)
$(Q) mkdir -p $(DESTDIR)$(LIBDIR)
$(Q) install -m 755 c/$(CRIU_SO) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR)
$(Q) ln -fns $(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR)
$(Q) ln -fns $(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR) $(DESTDIR)$(LIBDIR)/$(CRIU_SO)
$(Q) mkdir -p $(DESTDIR)$(INCLUDEDIR)
$(Q) install -m 644 $(UAPI_HEADERS) $(DESTDIR)$(INCLUDEDIR)
$(E) " INSTALL " pkgconfig/criu.pc
$(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
$(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
$(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
$(E) " INSTALL " crit
$(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX)
.PHONY: install
.PHONY: $(PHONY) clean .PHONY: $(PHONY) clean
...@@ -6,7 +6,6 @@ setup(name = "crit", ...@@ -6,7 +6,6 @@ setup(name = "crit",
author = "CRIU team", author = "CRIU team",
author_email = "criu@openvz.org", author_email = "criu@openvz.org",
url = "https://github.com/xemul/criu", url = "https://github.com/xemul/criu",
package_dir = {'': "lib"},
packages = ["pycriu", "pycriu.images"], packages = ["pycriu", "pycriu.images"],
scripts = ["crit/crit"] scripts = ["../crit/crit"]
) )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment