Blob Blame History Raw
Index: pngquant-2.0.0/Makefile
===================================================================
--- pngquant-2.0.0.orig/Makefile
+++ pngquant-2.0.0/Makefile
@@ -13,13 +13,18 @@ BINPREFIX = $(PREFIX)/bin
 CUSTOMLIBPNG ?= ../libpng
 CUSTOMZLIB ?= ../zlib
 
-CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops -fomit-frame-pointer -ffinite-math-only
+CFLAGS = $(CFLAGSOPT) $(shell echo $$CFLAGS)
 
-CFLAGS ?= -Wall -Wno-unknown-pragmas -I. -I$(CUSTOMLIBPNG) -I$(CUSTOMZLIB) -I/usr/local/include/ -I/usr/include/ -I/usr/X11/include/ $(CFLAGSOPT)
-CFLAGS += -std=c99 $(CFLAGSADD)
-
-LDFLAGS ?= -L$(CUSTOMLIBPNG) -L$(CUSTOMZLIB) -L/usr/local/lib/ -L/usr/lib/ -L/usr/X11/lib/
-LDFLAGS += -lpng -lz -lm lib/libimagequant.a -lm $(LDFLAGSADD)
+CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops
+CFLAGSOPT += -fomit-frame-pointer -ffinite-math-only -Wall -Wno-unknown-pragmas
+CFLAGSOPT += -I. -I$(CUSTOMLIBPNG) -I$(CUSTOMZLIB) -I/usr/local/include/
+CFLAGSOPT += -I/usr/include/ -I/usr/X11/include/ -std=c99 $(CFLAGSADD)
+
+LDFLAGS ?= $(shell echo $$LDFLAGS)
+
+LDFLAGSOPT ?= -L$(CUSTOMLIBPNG) -L$(CUSTOMZLIB) -L/usr/local/lib/ -L/usr/lib/
+LDFLAGSOPT += -L/usr/X11/lib/ -L$(shell pwd)/lib -limagequant -lpng -lz -lm
+LDFLAGSOPT += $(LDFLAGSADD)
 
 OBJS = pngquant.o rwpng.o
 COCOA_OBJS = rwpng_cocoa.o
@@ -30,7 +35,7 @@ TARNAME = pngquant-$(VERSION)
 TARFILE = $(TARNAME)-src.tar.bz2
 
 ifdef USE_COCOA
-CFLAGS += -DUSE_COCOA=1
+CFLAGSOPT += -DUSE_COCOA=1
 OBJS += $(COCOA_OBJS)
 FRAMEWORKS += -framework Cocoa
 endif
@@ -40,13 +45,13 @@ BUILD_CONFIGURATION="$(CC) $(CFLAGS) $(L
 all: $(BIN)
 
 lib/libimagequant.a::
-	$(MAKE) -C lib -$(MAKEFLAGS) static
+	$(MAKE) -C lib $(MAKEFLAGS) shared
 
 openmp::
 	$(MAKE) CFLAGSADD=-fopenmp OPENMPFLAGS="-Bstatic -lgomp" -j8 -$(MAKEFLAGS)
 
 $(BIN): $(OBJS) lib/libimagequant.a
-	$(CC) $(OBJS) $(LDFLAGS) $(OPENMPFLAGS) $(FRAMEWORKS) -o $@
+	$(CC) $(OBJS) $(LDFLAGS) $(LDFLAGSOPT) $(OPENMPFLAGS) $(FRAMEWORKS) -o $@
 
 rwpng_cocoa.o: rwpng_cocoa.m
 	clang -c $(CFLAGS) -o $@ $<
Index: pngquant-2.0.0/lib/Makefile
===================================================================
--- pngquant-2.0.0.orig/lib/Makefile
+++ pngquant-2.0.0/lib/Makefile
@@ -5,14 +5,13 @@ VERSION=2.0.0
 CC := $(patsubst cc,gcc,$(CC))
 
 STATICLIB=libimagequant.a
+SHAREDLIB=libimagequant.so
+SOVER=0
 DLL=libimagequant.dll
 DLLIMP=libimagequant_dll.a
 DLLDEF=libimagequant_dll.def
 
-CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops -fomit-frame-pointer -ffinite-math-only
-
-CFLAGS ?= -Wall -Wno-unknown-pragmas -I. $(CFLAGSOPT)
-CFLAGS += -std=c99 $(CFLAGSADD)
+CFLAGS += -fPIC
 
 OBJS = pam.o mediancut.o blur.o mempool.o viter.o nearest.o libimagequant.o
 
@@ -22,10 +21,12 @@ DISTFILES = $(OBJS:.o=.c) *.h MANUAL.md
 TARNAME = libimagequant-$(VERSION)
 TARFILE = $(TARNAME)-src.tar.bz2
 
-all: static
+all: shared
 
 static: $(STATICLIB)
 
+shared: $(SHAREDLIB)
+
 dll:
 	$(MAKE) CFLAGSADD="-DLIQ_EXPORT='__declspec(dllexport)'" $(DLL)
 
@@ -38,6 +39,10 @@ $(DLL) $(DLLIMP): $(OBJS)
 $(STATICLIB): $(OBJS)
 	$(AR) $(ARFLAGS) $@ $^
 
+$(SHAREDLIB): $(OBJS)
+	$(CC) -shared -Wl,-soname,$(SHAREDLIB).$(SOVER) $(LDFLAGS) $(OBJS) -o $(SHAREDLIB).$(SOVER)
+	ln -fs $(SHAREDLIB).$(SOVER) $(SHAREDLIB)
+
 $(OBJS): pam.h build_configuration
 
 dist: $(TARFILE)