--- Makefile.gnu.orig 2009-06-24 17:19:47.000000000 -0700 +++ Makefile.gnu 2009-06-24 17:57:28.000000000 -0700 @@ -3,10 +3,14 @@ # This file can be generated by ./gensrclist.sh include Makefile.srcs +CC = __CC__ +CXX = __CXX__ +LDFLAGS = __LDFLAGS__ + # General configuration variables: -DESTDIR ?= / -INCDIR ?= $(DESTDIR)/usr/include -INSTALLDIR ?= $(DESTDIR)/usr/lib +DESTDIR ?= +INCDIR ?= $(DESTDIR)__PREFIX__/include +INSTALLDIR ?= $(DESTDIR)__PREFIX__/lib # Converts cr/lf to just lf DOS2UNIX = dos2unix @@ -15,9 +19,9 @@ MODULES = $(SRCS:.c=.o) MODULES := $(MODULES:.cpp=.o) -CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden +CFLAGS ?= __CFLAGS__ -fPIC -fexceptions -fvisibility=hidden CFLAGS += $(INCLUDE) -CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy +CXXFLAGS ?= __CXXFLAGS__ -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy CXXFLAGS += $(INCLUDE) ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) @@ -27,9 +31,9 @@ TARGET = freeimage STATICLIB = lib$(TARGET).a -SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so -LIBNAME = lib$(TARGET).so -VERLIBNAME = $(LIBNAME).$(VER_MAJOR) +SHAREDLIB = lib$(TARGET).$(VER_MAJOR).$(VER_MINOR).dylib +LIBNAME = lib$(TARGET).dylib +VERLIBNAME = lib$(TARGET).$(VER_MAJOR).dylib HEADER = Source/FreeImage.h @@ -55,16 +59,18 @@ $(CXX) $(CXXFLAGS) -c $< -o $@ $(STATICLIB): $(MODULES) - $(AR) r $@ $(MODULES) + /usr/bin/libtool -o $@ $(MODULES) $(SHAREDLIB): $(MODULES) - $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) + $(CC) -dynamiclib -install_name $(INSTALLDIR)/$(VERLIBNAME) -compatibility_version $(VER_MAJOR) -current_version $(VER_MAJOR).$(VER_MINOR) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) install: install -d $(INCDIR) $(INSTALLDIR) - install -m 644 -o root -g root $(HEADER) $(INCDIR) - install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) - install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR) + install -m 644 $(HEADER) $(INCDIR) + install -m 644 $(STATICLIB) $(INSTALLDIR) + install -m 755 $(SHAREDLIB) $(INSTALLDIR) + ln -s $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) + ln -s $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) clean: rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)