merged from trunk 20741:20848
[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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 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),beos)
53     LLIBS = -L/boot/develop/lib/x86/ -lGL -lbe -L/boot/home/config/lib/
54 endif
55
56 ifeq ($(OS),darwin)
57     LLIBS    += -lGLU -lGL
58     LLIBS    += -lz -lstdc++
59     ifdef USE_OSX10.4STUBS
60        LLIBS    +=-lSystemStubs
61     endif 
62     LLIBS    += -framework Carbon -framework AGL -framework OpenGL
63     LLIBS    += -framework QuickTime -framework CoreAudio
64     LLIBS    += -framework AudioUnit -framework AudioToolbox
65     LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
66     DBG_LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
67 endif
68
69 ifeq ($(OS),freebsd)
70     LLIBS = -L/usr/X11R6/lib -lX11 -lXmu -lXi -lm -lutil -lz -pthread -lc_r
71     DADD = -lGL -lGLU
72     DYNLDFLAGS = -shared $(LDFLAGS)
73     LOPTS = -Wl,--export-dynamic
74 endif
75
76 ifeq ($(OS),irix)
77     ifeq ($(IRIX_USE_GCC), true)
78         LDFLAGS += -mabi=n32 -mips4 
79         DBG_LDFLAGS += -LD_LAYOUT:lgot_buffer=40
80     else
81         LDFLAGS += -n32 -mips3
82         LDFLAGS += -woff 84,171
83     endif
84     LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldmedia
85     LLIBS += -lcl -laudio
86     ifneq ($(IRIX_USE_GCC), true)
87         LLIBS += -lCio -ldb
88     endif
89     LLIBS += -lz -lpthread
90     DYNLDFLAGS = -shared $(LDFLAGS)
91 endif
92
93 ifeq ($(OS),linux)
94   ifeq ($(CPU),alpha)
95     COMMENT = "MESA 3.1"
96     LLIBS = -lGL -lGLU -L/usr/X11R6/lib/ -lXmu -lXext -lX11
97     LLIBS += -lc -lm -ldl -lutil
98     LOPTS = -export-dynamic
99   endif
100   ifeq ($(CPU),$(findstring $(CPU), "i386 x86_64 ia64 parisc64 powerpc sparc64"))
101     COMMENT = "MESA 3.1"
102     LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXmu -lXext -lX11 -lXi
103     LLIBS += -lutil -lc -lm -ldl -lpthread
104 #    LLIBS += -L$(NAN_ODE)/lib -lode
105     LOPTS = -export-dynamic
106     DADD = -lGL -lGLU
107     SADD = $(NAN_MESA)/lib/libGL.a $(NAN_MESA)/lib/libGLU.a
108     DYNLDFLAGS = -shared $(LDFLAGS)
109   endif
110     LLIBS += -lz
111 endif
112
113 ifeq ($(OS),openbsd)
114     SADD = /usr/local/lib/libGL.a /usr/local/lib/libGLU.a
115     SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a
116     SADD += /usr/X11R6/lib/libX11.a /usr/lib/libm.a -pthread
117 endif
118
119 ifeq ($(OS),solaris)
120     ifeq (x86_64, $(findstring x86_64, $(CPU)))
121         LLIBS = -lrt
122         LLIBS += -L$(NAN_MESA)/lib/amd64
123     else
124         LLIBS += -L$(NAN_MESA)/lib
125     endif
126     
127     LLIBS += -lGLU -lGL -lXmu -lXext -lXi -lX11 -lc -lm -ldl -lsocket -lnsl 
128     DYNLDFLAGS = -shared $(LDFLAGS)
129 endif
130
131 ifeq ($(OS),windows)
132     EXT = .exe
133         SOEXT = .dll
134         ifeq ($(FREE_WINDOWS),true)
135                 MINGWLIB = /usr/lib/w32api
136                 LDFLAGS += -mwindows -mno-cygwin -mconsole
137                 DADD += -L/usr/lib/w32api -lnetapi32 -lopengl32 -lglu32 -lshfolder
138                 DADD += -L/usr/lib/w32api -lwinmm -lwsock32
139     else
140             DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
141                 DADD += advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
142             DADD += vfw32.lib winmm.lib opengl32.lib glu32.lib largeint.lib dxguid.lib
143                 DADD += libcmt.lib
144                 LOPTS = /link
145                 LOPTS += /NODEFAULTLIB:"libc" 
146                 LOPTS += /NODEFAULTLIB:"libcd" 
147                 LOPTS += /NODEFAULTLIB:"libcp" 
148                 LOPTS += /NODEFAULTLIB:"libcpd" 
149                 LOPTS += /NODEFAULTLIB:"python20" 
150                 LOPTS += /NODEFAULTLIB:"msvcrt" 
151                 LOPTS += /SUBSYSTEM:CONSOLE
152                 LDFLAGS += /MT
153                 DYNLDFLAGS = /LD
154         endif
155 endif
156
157 ifneq ($(OS), irix)
158    LLIBS += $(NAN_SDLLIBS)
159 endif
160
161 ifeq ($(WITH_ICONV),true)
162    LLIBS += $(NAN_ICONV_LIBS)
163 endif
164
165 ifeq ($(WITH_FFMPEG),true)
166    LLIBS += $(NAN_FFMPEGLIBS)
167 endif
168
169 ifeq ($(INTERNATIONAL),true)
170    LLIBS += $(NAN_GETTEXT_LIB)
171 endif
172
173 ifeq ($(WITH_BF_OPENMP),true)
174    LLIBS += -lgomp
175 endif
176
177 LLIBS += $(NAN_PYTHON_LIB)