From b47bfa69fd45eb714d06a832fe6701fd172f2ec2 Mon Sep 17 00:00:00 2001 From: mccallum Date: Tue, 14 Nov 1995 17:02:56 +0000 Subject: [PATCH] (CFLAGS): Added -O. (SHAREDLIB_CFLAGS,SHAREDLIB_ARFLAGS): Set values here, not in configure.in. (USING_SHAREDLIB_CFLAGS,USING_SHAREDLIB_ARFLAGS): New vars, set by configure. (ALL_CFLAGS, ALL_OBJCFLAGS): Use them. (libobjects.so.$(OBJECTS_VERSION): New target, replacing libobjects.so. Use version numbers. (install): Try to do the right thing with shared/non-shared libs. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@674 72102866-910b-0410-8b05-ffd578937521 --- Source/Makefile.in | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/Source/Makefile.in b/Source/Makefile.in index 3b209297e..6e2e34cb9 100644 --- a/Source/Makefile.in +++ b/Source/Makefile.in @@ -52,7 +52,7 @@ DEFS = @DEFS@ # All these are optional. You can redefine CFLAGS, CPPFLAGS and # INCLUDEFLAGS on the command line however you like. -CFLAGS = -Wno-implicit -g +CFLAGS = -Wno-implicit -g -O CPPFLAGS = INCLUDEFLAGS = @@ -72,16 +72,19 @@ FILE_AUTHORS = \ DYNAMIC_LINKER=@DYNAMIC_LINKER@ -SHAREDLIB_CFLAGS = @SHAREDLIB_CFLAGS@ -SHAREDLIB_ARFLAGS = @SHAREDLIB_ARFLAGS@ +SHAREDLIB_CFLAGS = -fPIC +SHAREDLIB_ARFLAGS = -shared +USING_SHAREDLIB_CFLAGS = @USING_SHAREDLIB_CFLAGS@ +USING_SHAREDLIB_ARFLAGS = @USING_SHAREDLIB_ARFLAGS@ + NEXT_NEXT_INCLUDES = -I/usr/include OBJECTS_NEXT_INCLUDES = -I$(srcdir) NEXT_INCLUDES = @NEXT_INCLUDES@ ALL_INCLUDE_FLAGS = -I$(srcdir) $(NEXT_INCLUDES) $(INCLUDEFLAGS) ALL_CPPFLAGS = $(ALL_INCLUDE_FLAGS) $(CPPFLAGS) -ALL_CFLAGS = $(CFLAGS) $(SHAREDLIB_CFLAGS) -ALL_OBJCFLAGS = $(CFLAGS) $(SHAREDLIB_CFLAGS) -Wno-protocol +ALL_CFLAGS = $(CFLAGS) $(USING_SHAREDLIB_CFLAGS) +ALL_OBJCFLAGS = $(CFLAGS) $(USING_SHAREDLIB_CFLAGS) -Wno-protocol # definitions to be passed to subdir Makefile's MAKEDEFINES = CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' \ @@ -420,16 +423,28 @@ RCS_FILES = \ all: @LIBOBJECTS_A_OR_SO@ -libobjects.so: objects/stdobjects.h $(OBJS_INSTALL) - $(CC) $(SHAREDLIB_ARFLAGS) -o libobjects.so $(OBJS_INSTALL) +libobjects.so.$(OBJECTS_VERSION): objects/stdobjects.h $(OBJS_INSTALL) + $(CC) $(USING_SHAREDLIB_ARFLAGS) -o libobjects.so.$(OBJECTS_VERSION) \ + $(OBJS_INSTALL) \ + -Wl,-soname,libobjects.so.$(OBJECTS_VERSION) + rm -f libobjects.so + ln -s libobjects.so.$(OBJECTS_VERSION) libobjects.so libobjects.a: objects/stdobjects.h $(OBJS_INSTALL) $(AR) $(ARFLAGS) libobjects.a $(OBJS_INSTALL) $(RANLIB) libobjects.a install: installdirs all - $(INSTALL_DATA) $(LIBOBJECTS_A_OR_SO) $(libdir) - -$(RANLIB) $(libdir)/libobjects.a + # Install the library + $(INSTALL_DATA) @LIBOBJECTS_A_OR_SO@ $(libdir) + if [ $USING_SHAREDLIB_CFLAGS ]; then \ + $(RANLIB) $(libdir)/libobjects.a; \ + else ; \ + rm -f $(libdir)/libobjects.so.$(OBJECTS_MAJOR_VERSION) ; \ + ln -s $(libdir)/libobjects.so.$(OBJECTS_VERSION) ; \ + $(libdir)/libobjects.so.$(OBJECTS_MAJOR_VERSION) ; \ + fi + # Install the headers for file in $(HEADERS_INSTALL); do \ $(INSTALL_DATA) $$file $(includedir)/$$file ; \ done