Revert patch to build versioned .so files
Inhibit building shared libraries Add linker scripts to include PIC static libraries in the link if dynamic linking is desired. This is slightly suboptimal when linking applications, but it is better to err on the side of caution here.
This commit is contained in:
parent
d965a85322
commit
9a4e9451c4
|
@ -1,53 +1,62 @@
|
|||
SOMAJOR=0
|
||||
SOMINOR=0.0
|
||||
SOVERSION=$(SOMAJOR).$(SOMINOR)
|
||||
CC = gcc
|
||||
AR = ar
|
||||
RANLIB = ranlib
|
||||
|
||||
all: libisdnnet.a libisdnnet.so.$(SOVERSION)
|
||||
all: libisdnnet.a libisdnnet_pic.a libisdnnet.so
|
||||
|
||||
install:
|
||||
install -m 755 libisdnnet.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
ln -sf libisdnnet.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libisdnnet.so.$(SOMAJOR)
|
||||
ln -sf libisdnnet.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libisdnnet.so
|
||||
install -m 644 libisdnnet.a $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
install -m 644 libisdnnet.a $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libisdnnet_pic.a $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libisdnnet.so $(INSTALL_PREFIX)/usr/lib
|
||||
cp *.h $(INSTALL_PREFIX)/usr/include/mISDNuser/
|
||||
|
||||
ISDNNETOBJ = net_if.o isdn_debug.o isdn_msg.o fsm.o net_l2.o tei.o net_l3.o \
|
||||
ISDNNET_OBJ = net_if.o isdn_debug.o isdn_msg.o fsm.o net_l2.o tei.o net_l3.o \
|
||||
manager.o tone.o bchannel.o g711.o
|
||||
ISDNNET_PICOBJ = $(ISDNNET_OBJ:%.o=%.lo)
|
||||
|
||||
libisdnnet.so.$(SOVERSION): $(ISDNNETOBJ)
|
||||
$(CC) -shared -Xlinker -x -Wl,-soname,libisdnnet.so.$(SOMAJOR) -o $@ $^
|
||||
libisdnnet_pic.a: $(ISDNNET_PICOBJ)
|
||||
$(AR) cru $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
libisdnnet.a: $(ISDNNETOBJ)
|
||||
ar cr $@ $^
|
||||
ar s $@
|
||||
libisdnnet.a: $(ISDNNET_OBJ)
|
||||
$(AR) cru $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
isdn_msg.o : isdn_msg.c $(INCLUDEDIR)/isdn_msg.h $(INCLUDEDIR)/isdn_net.h
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
isdn_debug.o : isdn_debug.c $(INCLUDEDIR)/isdn_debug.h
|
||||
.c.lo:
|
||||
$(CC) $(CFLAGS) -fPIC -o $@ -c $<
|
||||
|
||||
net_l2.o : net_l2.c net_l2.h $(INCLUDEDIR)/isdn_net.h fsm.h
|
||||
isdn_msg.o isdn_msg.lo: isdn_msg.c $(INCLUDEDIR)/isdn_msg.h $(INCLUDEDIR)/isdn_net.h
|
||||
|
||||
fsm.o : fsm.c fsm.h $(INCLUDEDIR)/isdn_net.h
|
||||
isdn_debug.o isdn_debug.lo: isdn_debug.c $(INCLUDEDIR)/isdn_debug.h
|
||||
|
||||
tei.o : tei.c net_l2.h $(INCLUDEDIR)/isdn_net.h
|
||||
net_l2.o net_l2.lo: net_l2.c net_l2.h $(INCLUDEDIR)/isdn_net.h fsm.h
|
||||
|
||||
net_l3.o : net_l3.c $(INCLUDEDIR)/isdn_net.h net_l3.h
|
||||
fsm.o fsm.lo: fsm.c fsm.h $(INCLUDEDIR)/isdn_net.h
|
||||
|
||||
manager.o : manager.c $(INCLUDEDIR)/isdn_net.h $(INCLUDEDIR)/bchannel.h
|
||||
tei.o tei.lo: tei.c net_l2.h $(INCLUDEDIR)/isdn_net.h
|
||||
|
||||
net_if.o : net_if.c $(INCLUDEDIR)/isdn_net.h
|
||||
net_l3.o net_l3.lo: net_l3.c $(INCLUDEDIR)/isdn_net.h net_l3.h
|
||||
|
||||
tone.o: tone.c $(INCLUDEDIR)/tone.h $(INCLUDEDIR)/bchannel.h \
|
||||
manager.o manager.lo: manager.c $(INCLUDEDIR)/isdn_net.h $(INCLUDEDIR)/bchannel.h
|
||||
|
||||
net_if.o net_if.lo: net_if.c $(INCLUDEDIR)/isdn_net.h
|
||||
|
||||
tone.o tone.lo: tone.c $(INCLUDEDIR)/tone.h $(INCLUDEDIR)/bchannel.h \
|
||||
$(INCLUDEDIR)/isdn_net.h $(INCLUDEDIR)/ibuffer.h
|
||||
|
||||
bchannel.o: bchannel.c $(INCLUDEDIR)/isdn_net.h $(INCLUDEDIR)/tone.h \
|
||||
bchannel.o bchannel.lo: bchannel.c $(INCLUDEDIR)/isdn_net.h $(INCLUDEDIR)/tone.h \
|
||||
$(INCLUDEDIR)/bchannel.h net_l3.h $(INCLUDEDIR)/ibuffer.h
|
||||
|
||||
g711.o: g711.c $(INCLUDEDIR)/g711.h
|
||||
g711.o g711.lo: g711.c $(INCLUDEDIR)/g711.h
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ DEADJOE
|
||||
rm -f libisdnnet.a
|
||||
rm -f *.o *.lo *~ DEADJOE
|
||||
rm -f libisdnnet.a libisdnnet_pic.a
|
||||
|
||||
distclean: clean
|
||||
rm -f *.a
|
||||
|
||||
.SUFFIXES: .lo
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
INPUT(libisdnnet_pic.a libmISDN_pic.a)
|
44
lib/Makefile
44
lib/Makefile
|
@ -1,33 +1,41 @@
|
|||
SOMAJOR=0
|
||||
SOMINOR=0.0
|
||||
SOVERSION=$(SOMAJOR).$(SOMINOR)
|
||||
CC = gcc
|
||||
AR = ar
|
||||
RANLIB = ranlib
|
||||
|
||||
all: libmISDN.a libmISDN.so.$(SOVERSION)
|
||||
all: libmISDN.a libmISDN_pic.a libmISDN.so
|
||||
|
||||
install:
|
||||
install -m 755 libmISDN.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
ln -sf libmISDN.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libmISDN.so.$(SOMAJOR)
|
||||
ln -sf libmISDN.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libmISDN.so
|
||||
install -m 644 libmISDN.a $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
install -m 644 libmISDN.so $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libmISDN_pic.a $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libmISDN.a $(INSTALL_PREFIX)/usr/lib
|
||||
|
||||
LIBMISDN_OBJS = device.o layer.o stack.o status.o
|
||||
LIBMISDN_PICOBJS = $(LIBMISDN_OBJS:%.o=%.lo)
|
||||
|
||||
libmISDN.so.$(SOVERSION): $(LIBMISDN_OBJS)
|
||||
$(CC) -shared -Xlinker -x -Wl,-soname,libmISDN.so.$(SOMAJOR) -o $@ $^
|
||||
libmISDN_pic.a: $(LIBMISDN_PICOBJS)
|
||||
$(AR) cru $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
libmISDN.a: $(LIBMISDN_OBJS)
|
||||
ar cr $@ $^
|
||||
ar s $@
|
||||
$(AR) cru $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
device.o : device.c ../include/mISDNlib.h
|
||||
layer.o : layer.c ../include/mISDNlib.h
|
||||
stack.o : stack.c ../include/mISDNlib.h
|
||||
status.o : status.c ../include/mISDNlib.h
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
.c.lo:
|
||||
$(CC) $(CFLAGS) -fPIC -o $@ -c $<
|
||||
|
||||
device.o device.lo: device.c ../include/mISDNlib.h
|
||||
layer.o layer.lo: layer.c ../include/mISDNlib.h
|
||||
stack.o stack.lo: stack.c ../include/mISDNlib.h
|
||||
status.o status.lo: status.c ../include/mISDNlib.h
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ DEADJOE
|
||||
rm -f libmISDN.a
|
||||
rm -f libmISDN.a libMISDN_pic.a
|
||||
rm -f *.o *.lo *~ DEADJOE
|
||||
|
||||
distclean: clean
|
||||
rm -f *.a
|
||||
|
||||
.SUFFIXES: .lo
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
INPUT(libmISDN_pic.a)
|
|
@ -1,32 +1,41 @@
|
|||
SOMAJOR=0
|
||||
SOMINOR=0.0
|
||||
SOVERSION=$(SOMAJOR).$(SOMINOR)
|
||||
CC = gcc
|
||||
AR = ar
|
||||
RANLIB = ranlib
|
||||
|
||||
#CFLAGS += -DASN1_DEBUG
|
||||
|
||||
SUPPSERVOBJ = asn1.o asn1_enc.o asn1_generic.o asn1_aoc.o asn1_basic_service.o asn1_comp.o asn1_diversion.o asn1_address.o fac.o
|
||||
SUPPSERV_OBJ = asn1.o asn1_enc.o asn1_generic.o asn1_aoc.o asn1_basic_service.o asn1_comp.o asn1_diversion.o asn1_address.o fac.o
|
||||
SUPPSERV_PICOBJ = $(SUPPSERV_OBJ:%.o=%.lo)
|
||||
|
||||
all: libsuppserv.a libsuppserv.so.$(SOVERSION)
|
||||
all: libsuppserv.a libsuppserv_pic.a libsuppserv.so
|
||||
|
||||
main: $(SUPPSERVOBJ)
|
||||
|
||||
install:
|
||||
install -m 755 libsuppserv.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
ln -sf libsuppserv.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libsuppserv.so.$(SOMAJOR)
|
||||
ln -sf libsuppserv.so.$(SOVERSION) $(INSTALL_PREFIX)/$(LIBDIR)/libsuppserv.so
|
||||
install -m 644 libsuppserv.a $(INSTALL_PREFIX)/$(LIBDIR)
|
||||
install -m 644 libsuppserv.a $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libsuppserv_pic.a $(INSTALL_PREFIX)/usr/lib
|
||||
install -m 644 libsuppserv.so $(INSTALL_PREFIX)/usr/lib
|
||||
cp *.h $(INSTALL_PREFIX)/usr/include/mISDNuser/
|
||||
|
||||
libsuppserv.so.$(SOVERSION): $(SUPPSERVOBJ)
|
||||
$(CC) -shared -Xlinker -x -Wl,-soname,libsuppserv.so.$(SOMAJOR) -o $@ $^
|
||||
libsuppserv_pic.a: $(SUPPSERV_PICOBJ)
|
||||
$(AR) cru $@ $<
|
||||
$(RANLIB) $@
|
||||
|
||||
libsuppserv.a: $(SUPPSERVOBJ)
|
||||
ar cr $@ $^
|
||||
ar s $@
|
||||
libsuppserv.a: $(SUPPSERV_OBJ)
|
||||
$(AR) cru $@ $<
|
||||
$(RANLIB) $@
|
||||
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
.c.lo:
|
||||
$(CC) $(CFLAGS) -fPIC -o $@ -c $<
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ DEADJOE
|
||||
rm -f libsuppserv.a libsuppserv.so
|
||||
rm -f *.o *.lo *~ DEADJOE
|
||||
rm -f libsuppserv.a libsuppserv_pic.a
|
||||
|
||||
distclean: clean
|
||||
rm -f *.a
|
||||
|
||||
.SUFFIXES: .lo
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
INPUT(libsuppserv_pic.a)
|
Loading…
Reference in New Issue