mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +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>
28 lines
628 B
Makefile
28 lines
628 B
Makefile
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
|
|
CFLAGS += -Werror -D_GNU_SOURCE
|
|
LDFLAGS += -L../common/
|
|
|
|
PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
|
|
|
|
FSDIR = $(LIBDIR)/fs
|
|
|
|
FSLIB = fsimage.so
|
|
|
|
.PHONY: fs-all
|
|
fs-all: $(FSLIB)
|
|
|
|
.PHONY: fs-install
|
|
fs-install: fs-all
|
|
$(INSTALL_DIR) $(DESTDIR)$(FSDIR)/$(FS)
|
|
$(INSTALL_PROG) $(FSLIB) $(DESTDIR)$(FSDIR)/$(FS)
|
|
|
|
$(FSLIB): $(PIC_OBJS)
|
|
$(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $^ -lfsimage $(FS_LIBDEPS) $(APPEND_LDFLAGS)
|
|
|
|
clean distclean:
|
|
rm -f $(PIC_OBJS) $(FSLIB) $(DEPS)
|
|
|
|
-include $(DEPS)
|