--- lib/makefile.src.orig Thu Mar 5 04:32:53 1992 +++ lib/makefile.src Sat Dec 28 00:41:59 2002 @@ -26,7 +26,10 @@ vaxshort.o \ $(OPT_OBJS) -LIBNAME = librle.a +SOOBJS = $(OBJS:.o=.so) + +LIBANAME = librle.a +LIBSONAME = librle.so.1 # Just rebuild the object files. objs: $(OBJS) @@ -37,40 +44,40 @@ # Do nothing if $(DEST) is empty (or not defined) install: buildlib @sh -c "if test '$(DEST)x' != x ; then \ - echo cp $(LIBNAME) $(DEST)/$(LIBNAME) ; \ - cp $(LIBNAME) $(DEST)/$(LIBNAME) ; \ + echo install $(LIBANAME) $(DEST)/$(LIBANAME) ; \ + ${BSD_INSTALL_DATA} $(LIBANAME) $(DEST)/$(LIBANAME) ; \ + echo install $(LIBSONAME) $(DEST)/$(LIBSONAME) ; \ + ${BSD_INSTALL_DATA} $(LIBSONAME) $(DEST)/$(LIBSONAME) ; \ + ln -sf $(LIBSONAME) $(DEST)/librle.so ; \ if test x$(RANLIB) != x ; then \ - echo ranlib $(DEST)/$(LIBNAME) ; \ - ranlib $(DEST)/$(LIBNAME) ; \ - else \ - true ; \ - fi ; \ - if test -d $(DEST)/debug ; then \ - echo cp $(LIBNAME) $(DEST)/debug/$(LIBNAME) ; \ - if test x$(RANLIB) != x ; then \ - cp $(LIBNAME) $(DEST)/debug/$(LIBNAME) ; \ - echo ranlib $(DEST)/debug/$(LIBNAME) ; \ - else \ - true ; \ - fi ; \ - ranlib $(DEST)/debug/$(LIBNAME) ; \ + echo ranlib $(DEST)/$(LIBANAME) ; \ + ranlib $(DEST)/$(LIBANAME) ; \ else \ true ; \ fi ; \ else \ true ; \ fi" - touch install # Rebuild the library from all the .o files. -buildlib: $(OBJS) - -rm -f $(LIBNAME) - ar rc $(LIBNAME) - ar q $(LIBNAME) $(OBJS) +buildlib: $(LIBANAME) $(LIBSONAME) + +$(LIBANAME): $(OBJS) + -rm -f $@ + ar rc $@ $(OBJS) #ifndef NO_RANLIB - ranlib $(LIBNAME) + ranlib $@ #endif - touch buildlib + +.SUFFIXES: .so .o + +.c.so: + $(CC) -fPIC -DPIC $(CFLAGS) -c $*.c -o $*.so + $(LD) -X -r $*.so + +$(LIBSONAME): $(SOOBJS) + -rm -f $@ + ld -shared -soname $@ -o $@ $(SOOBJS) # Clean up installed stuff and binaries pristine: clean @@ -86,9 +99,12 @@ # Get rid of everything which must be recompiled on a different computer. clean: -rm -f *.o + -rm -f *.so -@if test x$(DEST) != x ; then \ - echo rm -f $(LIBNAME) ; \ - rm -f $(LIBNAME) ; \ + echo rm -f $(LIBANAME) ; \ + rm -f $(LIBANAME) ; \ + echo rm -f $(LIBSONAME) ; \ + rm -f $(LIBSONAME) ; \ else \ true ; \ fi