Recreating my GSoC branch.
[blender.git] / source / nan_link.mk
1 # -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
2 # vim: tabstop=8
3 #
4 # $Id$
5 #
6 # ***** BEGIN GPL LICENSE BLOCK *****
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License
10 # as published by the Free Software Foundation; either version 2
11 # of the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software Foundation,
20 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #
22 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23 # All rights reserved.
24 #
25 # The Original Code is: all of this file.
26 #
27 # Contributor(s): GSR
28 #
29 # ***** END GPL LICENSE BLOCK *****
30 #
31 # linking only
32
33 include nan_definitions.mk
34
35 ifdef NAN_DEBUG
36     LDFLAGS += $(NAN_DEBUG)
37 endif
38
39 DBG_LDFLAGS += -g
40
41 ifneq (x$(DEBUG_DIR), x)
42     LDFLAGS+=$(DBG_LDFLAGS)
43 else
44     LDFLAGS+=$(REL_LDFLAGS)
45 endif
46
47 ######################## OS dependencies (alphabetic!) ################
48
49 # default (overriden by windows)
50 SOEXT = .so
51
52 ifeq ($(OS),darwin)
53     LLIBS    += -lGLU -lGL
54     LLIBS    += -lz -lstdc++
55     ifdef USE_OSX10.4STUBS
56        LLIBS    +=-lSystemStubs
57     endif
58     ifeq ($(WITH_COCOA), true)
59         LLIBS += -framework Cocoa
60     endif
61     LLIBS += -framework Carbon -framework AGL -framework OpenGL
62     ifeq ($(WITH_QUICKTIME), true)
63         ifeq ($(USE_QTKIT), true)
64             LLIBS += -framework QTKit
65         else
66             LLIBS  += -framework QuickTime
67         endif
68     endif
69     LLIBS += -framework CoreAudio
70     LLIBS += -framework AudioUnit -framework AudioToolbox
71     LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
72     # useful for crosscompiling
73     LDFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
74     
75     DBG_LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
76 endif
77
78 ifeq ($(OS),freebsd)
79     LLIBS = -L/usr/X11R6/lib -lX11 -lXmu -lXi -lm -lutil -lz -pthread -lc_r
80     DADD = -lGL -lGLU
81     DYNLDFLAGS = -shared $(LDFLAGS)
82     LOPTS = -Wl,--export-dynamic
83 endif
84
85 ifeq ($(OS),irix)
86     ifeq ($(IRIX_USE_GCC), true)
87         LDFLAGS += -mabi=n32 -mips4 
88         DBG_LDFLAGS += -LD_LAYOUT:lgot_buffer=40
89     else
90         LDFLAGS += -n32 -mips3
91         LDFLAGS += -woff 84,171
92     endif
93     LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldmedia
94     LLIBS += -lcl -laudio
95     ifneq ($(IRIX_USE_GCC), true)
96         LLIBS += -lCio -ldb
97     endif
98     LLIBS += -lz -lpthread
99     DYNLDFLAGS = -shared $(LDFLAGS)
100 endif
101
102 ifeq ($(OS),linux)
103   ifeq ($(CPU),alpha)
104     COMMENT = "MESA 3.1"
105     LLIBS = -lGL -lGLU -L/usr/X11R6/lib/ -lXmu -lXext -lX11
106     LLIBS += -lc -lm -ldl -lutil
107     LOPTS = -export-dynamic
108   endif
109   ifeq ($(CPU),$(findstring $(CPU), "i386 x86_64 ia64 parisc64 powerpc sparc64"))
110     COMMENT = "MESA 3.1"
111     LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXext -lX11 -lXi
112     LLIBS += -lutil -lc -lm -ldl -lpthread
113     LLIBS += -L$(NAN_PYTHON)/lib -Wl,-rpath -Wl,$(NAN_PYTHON)/lib -lpython$(NAN_PYTHON_VERSION)
114     LOPTS = -export-dynamic
115     DADD = -lGL -lGLU
116     SADD = $(NAN_MESA)/lib/libGL.a $(NAN_MESA)/lib/libGLU.a
117     DYNLDFLAGS = -shared $(LDFLAGS)
118   endif
119     LLIBS += -lz
120 endif
121
122 ifeq ($(OS),openbsd)
123     SADD = /usr/local/lib/libGL.a /usr/local/lib/libGLU.a
124     SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a
125     SADD += /usr/X11R6/lib/libX11.a /usr/lib/libm.a -pthread
126 endif
127
128 ifeq ($(OS),solaris)
129     ifeq (x86_64, $(findstring x86_64, $(CPU)))
130         LLIBS = -lrt
131         LLIBS += -L$(NAN_MESA)/lib/amd64
132     else
133         LLIBS += -L$(NAN_MESA)/lib
134     endif
135     
136     LLIBS += $(NAN_ZLIB)/lib/libz.a -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldl -lsocket -lnsl 
137     DYNLDFLAGS = -shared $(LDFLAGS)
138 endif
139
140 ifeq ($(OS),windows)
141     EXT = .exe
142     SOEXT = .dll
143     ifeq ($(FREE_WINDOWS),true)
144         MINGWLIB = /usr/lib/w32api
145         LDFLAGS += -mwindows -mno-cygwin -mconsole
146         DADD += -L/usr/lib/w32api -lnetapi32 -lopengl32 -lglu32 -lshfolder
147         DADD += -L/usr/lib/w32api -lwinmm -lwsock32
148     else
149         DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
150         DADD += advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
151         DADD += vfw32.lib winmm.lib opengl32.lib glu32.lib largeint.lib dxguid.lib
152         DADD += libcmt.lib
153         LOPTS = /link
154         LOPTS += /NODEFAULTLIB:"libc" 
155         LOPTS += /NODEFAULTLIB:"libcd" 
156         LOPTS += /NODEFAULTLIB:"libcp" 
157         LOPTS += /NODEFAULTLIB:"libcpd" 
158         LOPTS += /NODEFAULTLIB:"python31" 
159         LOPTS += /NODEFAULTLIB:"msvcrt" 
160         LOPTS += /SUBSYSTEM:CONSOLE
161         LDFLAGS += /MT
162         DYNLDFLAGS = /LD
163     endif
164 endif
165
166 ifneq ($(OS), irix)
167    LLIBS += $(NAN_SDLLIBS)
168 endif
169
170 ifeq ($(WITH_ICONV),true)
171    LLIBS += $(NAN_ICONV_LIBS)
172 endif
173
174 ifeq ($(WITH_FFMPEG),true)
175    LLIBS += $(NAN_FFMPEGLIBS)
176 endif
177
178 ifeq ($(INTERNATIONAL),true)
179    LLIBS += $(NAN_GETTEXT_LIB)
180 endif
181
182 ifeq ($(WITH_BF_OPENMP),true)
183    LLIBS += -lgomp
184 endif
185
186 ifeq ($(WITH_FFTW3),true)
187     LLIBS += $(BF_FFTW3_LIBS)
188 endif
189
190 ifeq ($(WITH_OPENCOLLADA),true)
191     LLIBS += $(BF_OPENCOLLADA_LIBS)
192 endif
193
194 ifeq ($(WITH_TIFF),true)
195    LLIBS += $(NAN_TIFF_LIBS)
196 endif
197
198 LLIBS += $(NAN_PYTHON_LIB)