From db6b874fcd1430219176a4f86c2bf21dc4946388 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Thu, 12 Aug 2010 15:13:53 +0100 Subject: add SONAME to libblktapctl.so Add an SONAME to libblktapctl.so. Install static library as data to avoid executable permissions in the .a file. Signed-off-by: Olaf Hering Signed-off-by: Stefano Stabellini --- tools/blktap2/control/Makefile | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) --- tools/blktap2/control/Makefile | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'tools/blktap2') diff --git a/tools/blktap2/control/Makefile b/tools/blktap2/control/Makefile index 16db94ec84..66ebc0117c 100644 --- a/tools/blktap2/control/Makefile +++ b/tools/blktap2/control/Makefile @@ -1,6 +1,11 @@ XEN_ROOT := ../../../ include $(XEN_ROOT)/tools/Rules.mk +MAJOR = 1.0 +MINOR = 0 +LIBNAME = libblktapctl +LIBSONAME = $(LIBNAME).so.$(MAJOR) + IBIN = tap-ctl CFLAGS += -Werror @@ -35,29 +40,39 @@ CTL_PICS = $(patsubst %.o,%.opic,$(CTL_OBJS)) OBJS = $(CTL_OBJS) tap-ctl.o PICS = $(CTL_PICS) -LIBS = libblktapctl.a libblktapctl.so +LIB_STATIC = $(LIBNAME).a +LIB_SHARED = $(LIBSONAME).$(MINOR) IBIN = tap-ctl all: build -build: $(IBIN) $(LIBS) +build: $(IBIN) $(LIB_STATIC) $(LIB_SHARED) + +$(LIBNAME).so: $(LIBSONAME) + ln -sf $< $@ + +$(LIBSONAME): $(LIB_SHARED) + ln -sf $< $@ -tap-ctl: tap-ctl.o libblktapctl.so - $(CC) $(CFLAGS) -o $@ $^ +tap-ctl: tap-ctl.o $(LIBNAME).so + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -libblktapctl.a: $(CTL_OBJS) +$(LIB_STATIC): $(CTL_OBJS) $(AR) r $@ $^ -libblktapctl.so: $(CTL_PICS) - $(CC) $(CFLAGS) -fPIC -shared -rdynamic $^ -o $@ +$(LIB_SHARED): $(CTL_PICS) + $(CC) $(CFLAGS) $(LDFLAGS) -fPIC -Wl,$(SONAME_LDFLAG) -Wl,$(LIBSONAME) $(SHLIB_LDFLAGS) -rdynamic $^ -o $@ -install: $(IBIN) $(LIBS) +install: $(IBIN) $(LIB_STATIC) $(LIB_SHARED) $(INSTALL_DIR) -p $(DESTDIR)$(SBINDIR) $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(SBINDIR) - $(INSTALL_PROG) $(LIBS) $(DESTDIR)$(LIBDIR) + $(INSTALL_DATA) $(LIB_STATIC) $(DESTDIR)$(LIBDIR) + $(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(LIBDIR) + ln -sf $(LIBSONAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so + ln -sf $(LIB_SHARED) $(DESTDIR)$(LIBDIR)/$(LIBSONAME) clean: - rm -f $(OBJS) $(PICS) $(DEPS) $(IBIN) $(LIBS) + rm -f $(OBJS) $(PICS) $(DEPS) $(IBIN) $(LIB_STATIC) $(LIB_SHARED) rm -f *~ .PHONY: all build clean install -- cgit v1.2.3