You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pngquant/pngquant-2.0.0_fix-Makefile...

102 lines
3.3 KiB

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)