1*4882a593SmuzhiyunFrom 487407d722714f13e8a06d1a9d89f48a5738191e Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3*4882a593SmuzhiyunDate: Fri, 12 Jul 2019 12:20:38 +0200 4*4882a593SmuzhiyunSubject: [PATCH] Makefile: add targets to manage static building 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunAdd static-lib, shared-lib, install-static-lib and install-shared-lib 7*4882a593Smuzhiyuntargets to allow the user to build giflib when dynamic library support 8*4882a593Smuzhiyunis not available or enable on the toolchain 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 11*4882a593Smuzhiyun[Upstream status: 12*4882a593Smuzhiyunhttps://sourceforge.net/p/giflib/code/merge-requests/7] 13*4882a593Smuzhiyun--- 14*4882a593Smuzhiyun Makefile | 18 ++++++++++++++---- 15*4882a593Smuzhiyun 1 file changed, 14 insertions(+), 4 deletions(-) 16*4882a593Smuzhiyun 17*4882a593Smuzhiyundiff --git a/Makefile b/Makefile 18*4882a593Smuzhiyunindex b2bf6de..111f52f 100644 19*4882a593Smuzhiyun--- a/Makefile 20*4882a593Smuzhiyun+++ b/Makefile 21*4882a593Smuzhiyun@@ -61,10 +61,17 @@ UTILS = $(INSTALLABLE) \ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun LDLIBS=libgif.a -lm 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun-all: libgif.so libgif.a libutil.so libutil.a $(UTILS) 26*4882a593Smuzhiyun+SHARED_LIBS = libgif.so libutil.so 27*4882a593Smuzhiyun+STATIC_LIBS = libgif.a libutil.a 28*4882a593Smuzhiyun+ 29*4882a593Smuzhiyun+all: shared-lib static-lib $(UTILS) 30*4882a593Smuzhiyun $(MAKE) -C doc 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun-$(UTILS):: libgif.a libutil.a 33*4882a593Smuzhiyun+$(UTILS):: $(STATIC_LIBS) 34*4882a593Smuzhiyun+ 35*4882a593Smuzhiyun+shared-lib: $(SHARED_LIBS) 36*4882a593Smuzhiyun+ 37*4882a593Smuzhiyun+static-lib: $(STATIC_LIBS) 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun libgif.so: $(OBJECTS) $(HEADERS) 40*4882a593Smuzhiyun $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) 41*4882a593Smuzhiyun@@ -79,7 +86,7 @@ libutil.a: $(UOBJECTS) $(UHEADERS) 42*4882a593Smuzhiyun $(AR) rcs libutil.a $(UOBJECTS) 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun clean: 45*4882a593Smuzhiyun- rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o 46*4882a593Smuzhiyun+ rm -f $(UTILS) $(TARGET) libgetarg.a $(SHARED_LIBS) $(STATIC_LIBS) *.o 47*4882a593Smuzhiyun rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) 48*4882a593Smuzhiyun rm -f libgif.so.$(LIBMAJOR) 49*4882a593Smuzhiyun rm -fr doc/*.1 *.html doc/staging 50*4882a593Smuzhiyun@@ -96,12 +103,15 @@ install-bin: $(INSTALLABLE) 51*4882a593Smuzhiyun install-include: 52*4882a593Smuzhiyun $(INSTALL) -d "$(DESTDIR)$(INCDIR)" 53*4882a593Smuzhiyun $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)" 54*4882a593Smuzhiyun-install-lib: 55*4882a593Smuzhiyun+install-static-lib: 56*4882a593Smuzhiyun $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" 57*4882a593Smuzhiyun $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" 58*4882a593Smuzhiyun+install-shared-lib: 59*4882a593Smuzhiyun+ $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" 60*4882a593Smuzhiyun $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)" 61*4882a593Smuzhiyun ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)" 62*4882a593Smuzhiyun ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so" 63*4882a593Smuzhiyun+install-lib: install-static-lib install-shared-lib 64*4882a593Smuzhiyun install-man: 65*4882a593Smuzhiyun $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" 66*4882a593Smuzhiyun $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1" 67*4882a593Smuzhiyun-- 68*4882a593Smuzhiyun2.20.1 69*4882a593Smuzhiyun 70