mcornick (owner)

Revisions

gist: 181015 Download_button fork
public
Description:
makes FreeImage 3.12.0 compile on Snow Leopard
Public Clone URL: git://gist.github.com/181015.git
Embed All Files: show embed
Makefile.osx #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- Makefile -*-
# Mac OSX makefile for FreeImage
 
# This file can be generated by ./gensrclist.sh
include Makefile.srcs
 
# General configuration variables:
CC_X86_64 = gcc-4.2
CC_I386 = gcc-4.2
CPP_X86_64 = g++-4.2
CPP_I386 = g++-4.2
COMPILERFLAGS = -Os -fexceptions -fvisibility=hidden
COMPILERFLAGS_X86_64 = -arch x86_64
COMPILERFLAGS_I386 = -arch i386
COMPILERPPFLAGS = -Wno-ctor-dtor-privacy
INCLUDE +=
INCLUDE_X86_64 = -isysroot /Developer/SDKs/MacOSX10.6.sdk
INCLUDE_I386 = -isysroot /Developer/SDKs/MacOSX10.6.sdk
CFLAGS_X86_64 = $(COMPILERFLAGS) $(COMPILERFLAGS_X86_64) $(INCLUDE) $(INCLUDE_X86_64)
CFLAGS_I386 = $(COMPILERFLAGS) $(COMPILERFLAGS_I386) $(INCLUDE) $(INCLUDE_I386)
CPPFLAGS_X86_64 = $(COMPILERPPFLAGS) $(CFLAGS_X86_64)
CPPFLAGS_I386 = $(COMPILERPPFLAGS) $(CFLAGS_I386)
LIBRARIES_X86_64 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk
LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk
LIBTOOL = libtool
LIPO = lipo
 
TARGET = freeimage
STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dylib
LIBNAME = lib$(TARGET).$(VER_MAJOR).dylib
HEADER = Source/FreeImage.h
 
.SUFFIXES: .o-x86_64 .o-i386
MODULES_X86_64 = $(SRCS:.c=.o-x86_64)
MODULES_I386 = $(SRCS:.c=.o-i386)
MODULES_X86_64 := $(MODULES_X86_64:.cpp=.o-x86_64)
MODULES_I386 := $(MODULES_I386:.cpp=.o-i386)
 
PREFIX = /usr/local
INSTALLDIR = $(PREFIX)/lib
INCDIR = $(PREFIX)/include
 
default: all
 
all: dist
 
dist: FreeImage
cp *.a Dist
cp *.dylib Dist
cp Source/FreeImage.h Dist
 
FreeImage: $(STATICLIB) $(SHAREDLIB)
 
$(STATICLIB): $(STATICLIB)-x86_64 $(STATICLIB)-i386
$(LIPO) -create $(STATICLIB)-x86_64 $(STATICLIB)-i386 -output $(STATICLIB)
 
$(STATICLIB)-x86_64: $(MODULES_X86_64)
$(LIBTOOL) -arch_only x86_64 -o $@ $(MODULES_X86_64)
 
$(STATICLIB)-i386: $(MODULES_I386)
$(LIBTOOL) -arch_only i386 -o $@ $(MODULES_I386)
 
$(SHAREDLIB): $(SHAREDLIB)-x86_64 $(SHAREDLIB)-i386
$(LIPO) -create $(SHAREDLIB)-x86_64 $(SHAREDLIB)-i386 -output $(SHAREDLIB)
 
$(SHAREDLIB)-x86_64: $(MODULES_X86_64)
$(CPP_X86_64) -arch x86_64 -dynamiclib $(LIBRARIES_X86_64) -o $@ $(MODULES_X86_64)
 
$(SHAREDLIB)-i386: $(MODULES_I386)
$(CPP_I386) -arch i386 -dynamiclib $(LIBRARIES_I386) -o $@ $(MODULES_I386)
 
.c.o-x86_64:
$(CC_X86_64) $(CFLAGS_X86_64) -c $< -o $@
 
.c.o-i386:
$(CC_I386) $(CFLAGS_I386) -c $< -o $@
 
.cpp.o-x86_64:
$(CPP_X86_64) $(CPPFLAGS_X86_64) -c $< -o $@
 
.cpp.o-i386:
$(CPP_I386) $(CPPFLAGS_I386) -c $< -o $@
 
install:
install -d -m 755 $(INCDIR) $(INSTALLDIR)
install -m 644 $(HEADER) $(INCDIR)
install -m 644 $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
ranlib -sf $(INSTALLDIR)/$(STATICLIB)
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
 
clean:
rm -f core Dist/*.* u2dtmp* $(MODULES_X86_64) $(MODULES_I386) $(STATICLIB) $(STATICLIB)-x86_64 $(STATICLIB)-i386 $(SHAREDLIB) $(SHAREDLIB)-x86_64 $(SHAREDLIB)-i386