| @@ -1,20 +1,120 @@ | | | @@ -1,20 +1,120 @@ |
1 | $NetBSD: patch-Makefile,v 1.1 2020/01/07 20:25:14 sevan Exp $ | | 1 | $NetBSD: patch-Makefile,v 1.2 2020/01/11 13:33:31 schmonz Exp $ |
2 | | | 2 | |
3 | - Inherit the PREFIX rather than hard-coding it. | | 3 | - Inherit the PREFIX rather than hard-coding it. |
4 | - Adjust location where manuals are installed. | | 4 | - Adjust location where manuals are installed. |
| | | 5 | - Apply <https://sourceforge.net/p/giflib/bugs/_discuss/thread/4e811ad29b/> |
| | | 6 | to fix Darwin build |
5 | | | 7 | |
6 | --- Makefile.orig 2019-06-24 16:08:57.000000000 +0000 | | 8 | --- Makefile.orig 2019-06-24 16:08:57.000000000 +0000 |
7 | +++ Makefile | | 9 | +++ Makefile |
8 | @@ -14,11 +14,10 @@ SHELL = /bin/sh | | 10 | @@ -14,7 +14,7 @@ SHELL = /bin/sh |
9 | TAR = tar | | 11 | TAR = tar |
10 | INSTALL = install | | 12 | INSTALL = install |
11 | | | 13 | |
12 | -PREFIX = /usr/local | | 14 | -PREFIX = /usr/local |
| | | 15 | +PREFIX?= /usr/local |
13 | BINDIR = $(PREFIX)/bin | | 16 | BINDIR = $(PREFIX)/bin |
14 | INCDIR = $(PREFIX)/include | | 17 | INCDIR = $(PREFIX)/include |
15 | LIBDIR = $(PREFIX)/lib | | 18 | LIBDIR = $(PREFIX)/lib |
16 | -MANDIR = $(PREFIX)/share/man | | 19 | @@ -37,6 +37,8 @@ USOURCES = qprintf.c quantize.c getarg.c |
17 | +MANDIR = $(PREFIX)/man | | 20 | UHEADERS = getarg.h |
| | | 21 | UOBJECTS = $(USOURCES:.c=.o) |
18 | | | 22 | |
19 | # No user-serviceable parts below this line | | 23 | +UNAME:=$(shell uname) |
| | | 24 | + |
| | | 25 | # Some utilities are installed |
| | | 26 | INSTALLABLE = \ |
| | | 27 | gif2rgb \ |
| | | 28 | @@ -61,27 +63,48 @@ UTILS = $(INSTALLABLE) \ |
| | | 29 | |
| | | 30 | LDLIBS=libgif.a -lm |
| | | 31 | |
| | | 32 | -all: libgif.so libgif.a libutil.so libutil.a $(UTILS) |
| | | 33 | - $(MAKE) -C doc |
| | | 34 | +ifeq ($(UNAME), Darwin) |
| | | 35 | +SOEXTENSION = dylib |
| | | 36 | +LIBGIFSOMAJOR = libgif.$(LIBMAJOR).$(SOEXTENSION) |
| | | 37 | +LIBGIFSOVER = libgif.$(LIBVER).$(SOEXTENSION) |
| | | 38 | +LIBUTILSOMAJOR = libutil.$(LIBMAJOR).$(SOEXTENSION) |
| | | 39 | +else |
| | | 40 | +SOEXTENSION = so |
| | | 41 | +LIBGIFSOMAJOR = libgif.$(SOEXTENSION).$(LIBMAJOR) |
| | | 42 | +LIBGIFSOVER = libgif.$(SOEXTENSION).$(LIBVER) |
| | | 43 | +LIBUTILSOMAJOR = libutil.$(SOEXTENSION).$(LIBMAJOR) |
| | | 44 | +endif |
| | | 45 | +LIBGIFSO = libgif.$(SOEXTENSION) |
| | | 46 | +LIBUTILSO = libutil.$(SOEXTENSION) |
| | | 47 | + |
| | | 48 | +all: $(LIBGIFSO) libgif.a $(LIBUTILSO) libutil.a $(UTILS) |
| | | 49 | |
| | | 50 | $(UTILS):: libgif.a libutil.a |
| | | 51 | |
| | | 52 | -libgif.so: $(OBJECTS) $(HEADERS) |
| | | 53 | - $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libgif.so.$(LIBMAJOR) -o libgif.so $(OBJECTS) |
| | | 54 | +$(LIBGIFSO): $(OBJECTS) $(HEADERS) |
| | | 55 | +ifeq ($(UNAME), Darwin) |
| | | 56 | + $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBGIFSO) |
| | | 57 | +else |
| | | 58 | + $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBGIFSOMAJOR) -o $(LIBGIFSO) $(OBJECTS) |
| | | 59 | +endif |
| | | 60 | |
| | | 61 | libgif.a: $(OBJECTS) $(HEADERS) |
| | | 62 | $(AR) rcs libgif.a $(OBJECTS) |
| | | 63 | |
| | | 64 | -libutil.so: $(UOBJECTS) $(UHEADERS) |
| | | 65 | - $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,libutil.so.$(LIBMAJOR) -o libutil.so $(UOBJECTS) |
| | | 66 | +$(LIBUTILSO): $(UOBJECTS) $(UHEADERS) |
| | | 67 | +ifeq ($(UNAME), Darwin) |
| | | 68 | + $(CC) $(CFLAGS) -dynamiclib -current_version $(LIBVER) $(OBJECTS) -o $(LIBUTILSO) |
| | | 69 | +else |
| | | 70 | + $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname -Wl,$(LIBUTILMAJOR) -o $(LIBUTILSO) $(UOBJECTS) |
| | | 71 | +endif |
| | | 72 | |
| | | 73 | libutil.a: $(UOBJECTS) $(UHEADERS) |
| | | 74 | $(AR) rcs libutil.a $(UOBJECTS) |
| | | 75 | |
| | | 76 | clean: |
| | | 77 | - rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a libgif.so libutil.a libutil.so *.o |
| | | 78 | - rm -f libgif.so.$(LIBMAJOR).$(LIBMINOR).$(LIBPOINT) |
| | | 79 | - rm -f libgif.so.$(LIBMAJOR) |
| | | 80 | + rm -f $(UTILS) $(TARGET) libgetarg.a libgif.a $(LIBGIFSO) libutil.a $(LIBUTILSO) *.o |
| | | 81 | + rm -f $(LIBGIFSOVER) |
| | | 82 | + rm -f $(LIBGIFSOMAJOR) |
| | | 83 | rm -fr doc/*.1 *.html doc/staging |
| | | 84 | |
| | | 85 | check: all |
| | | 86 | @@ -89,7 +112,8 @@ check: all |
| | | 87 | |
| | | 88 | # Installation/uninstallation |
| | | 89 | |
| | | 90 | -install: all install-bin install-include install-lib install-man |
| | | 91 | +install: all install-bin install-include install-lib |
| | | 92 | + |
| | | 93 | install-bin: $(INSTALLABLE) |
| | | 94 | $(INSTALL) -d "$(DESTDIR)$(BINDIR)" |
| | | 95 | $(INSTALL) $^ "$(DESTDIR)$(BINDIR)" |
| | | 96 | @@ -99,9 +123,12 @@ install-include: |
| | | 97 | install-lib: |
| | | 98 | $(INSTALL) -d "$(DESTDIR)$(LIBDIR)" |
| | | 99 | $(INSTALL) -m 644 libgif.a "$(DESTDIR)$(LIBDIR)/libgif.a" |
| | | 100 | - $(INSTALL) -m 755 libgif.so "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBVER)" |
| | | 101 | - ln -sf libgif.so.$(LIBVER) "$(DESTDIR)$(LIBDIR)/libgif.so.$(LIBMAJOR)" |
| | | 102 | - ln -sf libgif.so.$(LIBMAJOR) "$(DESTDIR)$(LIBDIR)/libgif.so" |
| | | 103 | + $(INSTALL) -m 755 $(LIBGIFSO) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOVER)" |
| | | 104 | + ln -sf $(LIBGIFSOVER) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSOMAJOR)" |
| | | 105 | + ln -sf $(LIBGIFSOMAJOR) "$(DESTDIR)$(LIBDIR)/$(LIBGIFSO)" |
| | | 106 | + $(INSTALL) -m 644 libutil.a "$(DESTDIR)$(LIBDIR)/libgifutil.a" |
| | | 107 | + $(INSTALL) -m 755 $(LIBUTILSO) "$(DESTDIR)$(LIBDIR)/libgifutil.$(SOEXTENSION)" |
| | | 108 | + |
| | | 109 | install-man: |
| | | 110 | $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man1" |
| | | 111 | $(INSTALL) -m 644 doc/*.1 "$(DESTDIR)$(MANDIR)/man1" |
| | | 112 | @@ -112,7 +139,7 @@ uninstall-include: |
| | | 113 | rm -f "$(DESTDIR)$(INCDIR)/gif_lib.h" |
| | | 114 | uninstall-lib: |
| | | 115 | cd "$(DESTDIR)$(LIBDIR)" && \ |
| | | 116 | - rm -f libgif.a libgif.so libgif.so.$(LIBMAJOR) libgif.so.$(LIBVER) |
| | | 117 | + rm -f libgif.a $(LIBGIFSO) $(LIBGIFSOMAJOR) $(LIBGIFSOVER) |
| | | 118 | uninstall-man: |
| | | 119 | cd "$(DESTDIR)$(MANDIR)/man1" && rm -f $(shell cd doc >/dev/null && echo *.1) |
20 | | | 120 | |