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