The writeframeserver stuff requires that the cygwin stuff links with
[blender.git] / source / nan_link.mk
1 #
2 # $Id$
3 #
4 # ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5 #
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version. The Blender
10 # Foundation also sells licenses for use in proprietary software under
11 # the Blender License.  See http://www.blender.org/BL/ for information
12 # about this.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 #
23 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24 # All rights reserved.
25 #
26 # The Original Code is: all of this file.
27 #
28 # Contributor(s): none yet.
29 #
30 # ***** END GPL/BL DUAL LICENSE BLOCK *****
31 #
32 # linking only
33
34 include nan_definitions.mk
35
36 ifdef NAN_DEBUG
37     LDFLAGS += $(NAN_DEBUG)
38 endif
39
40 DBG_LDFLAGS     += -g
41
42 ifneq (x$(DEBUG_DIR), x)
43     LDFLAGS+=$(DBG_LDFLAGS)
44 else
45     LDFLAGS+=$(REL_LDFLAGS)
46 endif
47
48 ######################## OS dependencies (alphabetic!) ################
49
50 # default (overriden by windows)
51 SOEXT = .so
52
53 ifeq ($(OS),beos)
54     LLIBS = -L/boot/develop/lib/x86/ -lGL -lbe -L/boot/home/config/lib/
55     LLIBS += -lpython1.5
56 endif
57
58 ifeq ($(OS),darwin)
59     LLIBS    += -lGLU -lGL
60     LLIBS    += -lz -lstdc++
61     ifdef USE_OSX10.4STUBS
62        LLIBS    +=-lSystemStubs
63     endif 
64     LLIBS    += -framework Carbon -framework AGL -framework OpenGL
65     LLIBS    += -framework QuickTime -framework CoreAudio
66     LLIBS    += -framework AudioUnit -framework AudioToolbox
67     LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
68     DBG_LDFLAGS += -L/System/Library/Frameworks/OpenGL.framework/Libraries
69 endif
70
71 ifeq ($(OS),freebsd)
72     LLIBS = -L/usr/X11R6/lib -lX11 -lXmu -lm -lutil -lz -pthread -lc_r
73     DADD = -lGL -lGLU
74     DYNLDFLAGS = -shared $(LDFLAGS)
75     LOPTS = -Wl,--export-dynamic
76   ifeq ($(OS_VERSION),$(findstring $(OS_VERSION), "3.4 4.0"))
77     COMMENT = "MESA 3.0"
78     SADD = /usr/X11R6/lib/libGL.a /usr/X11R6/lib/libGLU.a
79     LLIBS += -lc
80   else
81   endif
82 endif
83
84 ifeq ($(OS),irix)
85     LDFLAGS += -mips3
86     LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lX11 -lc -lm -ldmedia
87     LLIBS += -lcl -laudio -ldb -lCio -lz
88     LLIBS += -lpthread
89     LLIBS += -woff 84,171
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"))
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     ifeq ($(WITH_FFMPEG),true)
105       ifeq ($(NAN_USE_FFMPEG_CONFIG), true)
106         LLIBS += $(NAN_FFMPEGLIBS)
107       else
108         LLIBS += -lavformat -lavcodec -lavutil -ldts -lz
109       endif
110     endif
111 #    LLIBS += -L$(NAN_ODE)/lib -lode
112     LOPTS = -export-dynamic
113     DADD = -lGL -lGLU
114     SADD = $(NAN_MESA)/lib/libGL.a $(NAN_MESA)/lib/libGLU.a
115     DYNLDFLAGS = -shared $(LDFLAGS)
116   endif
117   ifeq ($(CPU),$(findstring $(CPU), "powerpc sparc64"))
118     LLIBS = -L/usr/X11R6/lib/ -lXmu -lXext -lX11 -lc -ldl -lm -lutil
119     DADD = -lGL -lGLU
120     SADD = /usr/lib/libGL.a /usr/lib/libGLU.a
121     LOPTS = -export-dynamic
122         DYNLDFLAGS = -shared $(LDFLAGS)
123   endif
124     LLIBS += -lz
125 endif
126
127 ifeq ($(OS),openbsd)
128     SADD = /usr/local/lib/libGL.a /usr/local/lib/libGLU.a
129     SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a
130     SADD += /usr/X11R6/lib/libX11.a /usr/lib/libm.a -pthread
131 endif
132
133 ifeq ($(OS),solaris)
134     LLIBS = -lGLU -lGL -lXmu -lXext -lX11 -lc -lm -ldl -lsocket -lnsl
135     DYNLDFLAGS = -shared $(LDFLAGS)
136 endif
137
138 ifeq ($(OS),windows)
139     EXT = .exe
140         SOEXT = .dll
141         ifeq ($(FREE_WINDOWS),true)
142                 MINGWLIB = /usr/lib/w32api
143                 LDFLAGS += -mwindows -mno-cygwin -mconsole
144                 DADD += -L/usr/lib/w32api -lnetapi32 -lopengl32 -lglu32
145                 DADD += -L/usr/lib/w32api -lwinmm -lwsock32
146     else
147             DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
148                 DADD += advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
149             DADD += vfw32.lib winmm.lib opengl32.lib glu32.lib largeint.lib dxguid.lib
150                 DADD += libcmt.lib
151                 LOPTS = /link
152                 LOPTS += /NODEFAULTLIB:"libc" 
153                 LOPTS += /NODEFAULTLIB:"libcd" 
154                 LOPTS += /NODEFAULTLIB:"libcp" 
155                 LOPTS += /NODEFAULTLIB:"libcpd" 
156                 LOPTS += /NODEFAULTLIB:"python20" 
157                 LOPTS += /NODEFAULTLIB:"msvcrt" 
158                 LOPTS += /SUBSYSTEM:CONSOLE
159                 LDFLAGS += /MT
160                 DYNLDFLAGS = /LD
161         endif
162 endif
163
164 ifneq ($(OS), irix)
165    LLIBS += $(NAN_SDLLIBS)
166 endif