548cd90
o Build shared library, link tools against it
548cd90
o Make it possible to prevent stripping
548cd90
o Add DESTDIR support
548cd90
548cd90
--- Makefile.in~	2005-10-04 15:59:49.000000000 +0300
548cd90
+++ Makefile.in	2006-08-02 22:23:07.000000000 +0300
548cd90
@@ -15,6 +15,7 @@
548cd90
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
548cd90
 INSTALL_DATA    = @INSTALL_DATA@
548cd90
 SHELL           = /bin/sh
548cd90
+STRIP           = strip
548cd90
 
548cd90
 NAME		= compface
548cd90
 UNNAME		= uncompface
548cd90
@@ -25,6 +26,7 @@
548cd90
 UNEXECUTABLE	= $(BINDIR)/$(UNNAMEEXE)
548cd90
 LIBNAME		= lib$(NAME).a
548cd90
 LIBRARY		= $(LIBDIR)/$(LIBNAME)
548cd90
+SHLIBNAME	= lib$(NAME).so
548cd90
 MAN1DIR		= $(MANDIR)/man1
548cd90
 MAN3DIR		= $(MANDIR)/man3
548cd90
 OBJECTS		= arith.o file.o compress.o gen.o uncompface.o
548cd90
@@ -45,11 +47,11 @@
548cd90
 
548cd90
 all:		$(NAMEEXE) $(UNNAMEEXE)
548cd90
 
548cd90
-$(NAMEEXE) :	cmain.o compface.o $(LIBNAME)
548cd90
-		$(CC) $(LDFLAGS) -o $@ cmain.o compface.o $(LIBNAME)
548cd90
+$(NAMEEXE) :	cmain.o compface.o $(SHLIBNAME)
548cd90
+		$(CC) $(LDFLAGS) -o $@ cmain.o compface.o -L. -l$(NAME)
548cd90
 
548cd90
-$(UNNAMEEXE) :	uncmain.o $(LIBNAME)
548cd90
-		$(CC) $(LDFLAGS) -o $@ uncmain.o $(LIBNAME)
548cd90
+$(UNNAMEEXE) :	uncmain.o $(SHLIBNAME)
548cd90
+		$(CC) $(LDFLAGS) -o $@ uncmain.o -L. -l$(NAME)
548cd90
 
548cd90
 $(LIBNAME) :	$(OBJECTS)
548cd90
 		ar rc $(LIBNAME) $(OBJECTS)
548cd90
@@ -73,25 +75,28 @@
548cd90
 		tar chzf `cat .fname`.tar.gz `cat .fname`
548cd90
 		$(RM) -rf `cat .fname` .fname
548cd90
 
548cd90
-install: 	$(NAMEEXE) $(UNNAMEEXE) $(LIBNAME)
548cd90
-		$(INSTALL_PROGRAM) -d $(BINDIR) $(LIBDIR) $(MAN1DIR) $(MAN3DIR) $(INCLUDEDIR)
548cd90
-		$(INSTALL_PROGRAM) $(srcdir)/$(NAMEEXE) $(EXECUTABLE) 
548cd90
-		-chmod 0755 $(EXECUTABLE)
548cd90
-		-strip $(EXECUTABLE)
548cd90
-		$(INSTALL_PROGRAM) $(srcdir)/$(UNNAMEEXE) $(UNEXECUTABLE)
548cd90
-		-chmod 0755 $(UNEXECUTABLE)
548cd90
-		-strip $(UNEXECUTABLE)
548cd90
-		$(INSTALL_DATA) $(srcdir)/$(NAME).1 $(MAN1DIR)/$(NAME).1
548cd90
-		cd $(MAN1DIR) && $(RM) ./$(UNNAME).1 && $(LN_S) $(NAME).1 $(UNNAME).1
548cd90
-		$(INSTALL_DATA) $(srcdir)/$(NAME).3 $(MAN3DIR)/$(NAME).3
548cd90
-		cd $(MAN3DIR) && $(RM) ./$(UNNAME).3 && $(LN_S) $(NAME).3 $(UNNAME).3
548cd90
-		for hdr in $(INSTALLHEADERS); do $(INSTALL_DATA) $(srcdir)/$${hdr} $(INCLUDEDIR)/$${hdr}; done
548cd90
-		$(INSTALL_DATA) $(srcdir)/$(LIBNAME) $(LIBRARY)
548cd90
+install: 	$(NAMEEXE) $(UNNAMEEXE) $(SHLIBNAME)
548cd90
+		$(INSTALL_PROGRAM) -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(MAN1DIR) $(DESTDIR)$(MAN3DIR) $(DESTDIR)$(INCLUDEDIR)
548cd90
+		$(INSTALL_PROGRAM) $(srcdir)/$(NAMEEXE) $(DESTDIR)$(EXECUTABLE) 
548cd90
+		-$(STRIP) $(DESTDIR)$(EXECUTABLE)
548cd90
+		$(INSTALL_PROGRAM) $(srcdir)/$(UNNAMEEXE) $(DESTDIR)$(UNEXECUTABLE)
548cd90
+		-$(STRIP) $(DESTDIR)$(UNEXECUTABLE)
548cd90
+		$(INSTALL_DATA) $(srcdir)/$(NAME).1 $(DESTDIR)$(MAN1DIR)/$(NAME).1
548cd90
+		cd $(DESTDIR)$(MAN1DIR) && $(RM) ./$(UNNAME).1 && $(LN_S) $(NAME).1 $(UNNAME).1
548cd90
+		$(INSTALL_DATA) $(srcdir)/$(NAME).3 $(DESTDIR)$(MAN3DIR)/$(NAME).3
548cd90
+		cd $(DESTDIR)$(MAN3DIR) && $(RM) ./$(UNNAME).3 && $(LN_S) $(NAME).3 $(UNNAME).3
548cd90
+		for hdr in $(INSTALLHEADERS); do $(INSTALL_DATA) $(srcdir)/$${hdr} $(DESTDIR)$(INCLUDEDIR)/$${hdr}; done
548cd90
+		$(INSTALL_PROGRAM) $(srcdir)/$(SHLIBNAME) $(DESTDIR)$(LIBDIR)/$(SHLIBNAME).1.0.0
548cd90
+		$(LN_S) $(SHLIBNAME).1.0.0 $(DESTDIR)$(LIBDIR)/$(SHLIBNAME).1
548cd90
+		$(LN_S) $(SHLIBNAME).1 $(DESTDIR)$(LIBDIR)/$(SHLIBNAME)
548cd90
 
548cd90
 shar :
548cd90
 		shar.script $(OTHERS) $(HDRS) $(SOURCES) > $(NAME).sh
548cd90
 		compress $(NAME).sh
548cd90
 
548cd90
+$(SHLIBNAME): $(OBJECTS)
548cd90
+	$(CC) -shared -Wl,-soname,$(SHLIBNAME).1 $(LDFLAGS) -o $(SHLIBNAME) $(OBJECTS)
548cd90
+
548cd90
 .c.o:
548cd90
 	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $<
548cd90