mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Currently shared libraries are automatically installed into /usr/lib or /usr/lib64, depending on the supplied --prefix value and $(XEN_TARGET_ARCH). Some systems, like recent Debian and Ubuntu releases, do not use /usr/lib64, but instead /usr/lib/x86_64-linux-gnu. With this change, packagers can supply the desired location for shared libraries on the ./configure command line. Packagers need to note that the default behaviour on 64-bit Linux systems will be to install shared libraries in /usr/lib, not /usr/lib64, unless a --libdir value is provided to ./configure. Additionally, the libfsimage plugins are now loaded explicitly from $LIBDIR/fs, removing platform-based decision trees in code. Signed-off-by: Matt Wilson <msw@amazon.com> Acked-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> [ ijc -- resolve rejects in configure by rerunning autogen.sh. Dropped changes to remove m4/default_lib.m4 and update m4/pkg.m4 since they cause LIBDIR=/lib instead of /usr/lib. Reran ./autogen.sh after that too ] Committed-by: Ian Campbell <ian.campbell@citrix.com>
82 lines
1.9 KiB
Makefile
82 lines
1.9 KiB
Makefile
AS = $(CROSS_COMPILE)as
|
|
LD = $(CROSS_COMPILE)ld
|
|
ifeq ($(clang),y)
|
|
CC = $(CROSS_COMPILE)clang
|
|
LD_LTO = $(CROSS_COMPILE)llvm-ld
|
|
else
|
|
CC = $(CROSS_COMPILE)gcc
|
|
LD_LTO = $(CROSS_COMPILE)ld
|
|
endif
|
|
CPP = $(CC) -E
|
|
AR = $(CROSS_COMPILE)ar
|
|
RANLIB = $(CROSS_COMPILE)ranlib
|
|
NM = $(CROSS_COMPILE)nm
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
SIZEUTIL = $(CROSS_COMPILE)size
|
|
|
|
MSGFMT = msgfmt
|
|
MSGMERGE = msgmerge
|
|
|
|
# Allow git to be wrappered in the environment
|
|
GIT ?= git
|
|
|
|
WGET ?= wget -c
|
|
|
|
INSTALL = install
|
|
INSTALL_DIR = $(INSTALL) -d -m0755 -p
|
|
INSTALL_DATA = $(INSTALL) -m0644 -p
|
|
INSTALL_PROG = $(INSTALL) -m0755 -p
|
|
|
|
PREFIX ?= /usr
|
|
BINDIR = $(PREFIX)/bin
|
|
INCLUDEDIR = $(PREFIX)/include
|
|
LIBEXEC = $(PREFIX)/lib/xen/bin
|
|
SHAREDIR = $(PREFIX)/share
|
|
MANDIR = $(SHAREDIR)/man
|
|
MAN1DIR = $(MANDIR)/man1
|
|
MAN8DIR = $(MANDIR)/man8
|
|
SBINDIR = $(PREFIX)/sbin
|
|
XENFIRMWAREDIR = $(PREFIX)/lib/xen/boot
|
|
|
|
PRIVATE_PREFIX = $(LIBDIR)/xen
|
|
PRIVATE_BINDIR = $(PRIVATE_PREFIX)/bin
|
|
|
|
ifeq ($(PREFIX),/usr)
|
|
CONFIG_DIR = /etc
|
|
XEN_LOCK_DIR = /var/lock
|
|
XEN_RUN_DIR = /var/run/xen
|
|
XEN_PAGING_DIR = /var/lib/xen/xenpaging
|
|
else
|
|
CONFIG_DIR = $(PREFIX)/etc
|
|
XEN_LOCK_DIR = $(PREFIX)/var/lock
|
|
XEN_RUN_DIR = $(PREFIX)/var/run/xen
|
|
XEN_PAGING_DIR = $(PREFIX)/var/lib/xen/xenpaging
|
|
endif
|
|
|
|
SYSCONFIG_DIR = $(CONFIG_DIR)/$(CONFIG_LEAF_DIR)
|
|
|
|
XEN_CONFIG_DIR = $(CONFIG_DIR)/xen
|
|
XEN_SCRIPT_DIR = $(XEN_CONFIG_DIR)/scripts
|
|
|
|
SOCKET_LIBS =
|
|
UTIL_LIBS = -lutil
|
|
DLOPEN_LIBS = -ldl
|
|
|
|
SONAME_LDFLAG = -soname
|
|
SHLIB_LDFLAGS = -shared
|
|
|
|
ifneq ($(debug),y)
|
|
CFLAGS += -O2 -fomit-frame-pointer
|
|
else
|
|
# Less than -O1 produces bad code and large stack frames
|
|
CFLAGS += -O1 -fno-omit-frame-pointer
|
|
CFLAGS-$(gcc) += -fno-optimize-sibling-calls
|
|
endif
|
|
|
|
ifeq ($(lto),y)
|
|
CFLAGS += -flto
|
|
LDFLAGS-$(clang) += -plugin LLVMgold.so
|
|
endif
|