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)