-SDL links now on windows for cygwin-msvc and cygwin-gcc.
[blender.git] / source / nan_definitions.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 # set some defaults when these are not overruled (?=) by environment variables
33 #
34
35 ifndef CONFIG_GUESS
36   ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
37     ifeq (all, $(findstring all, $(MAKECMDGOALS)))
38 all debug::
39       ERRTXT = "ERROR: all and debug targets cannot be used together anymore"
40       ERRTXT += "Use something like ..make all && make debug.. instead"
41       $(error $(ERRTXT))
42     endif
43   endif
44
45   # First generic defaults for all platforms which should be constant.
46   # Note: ?= lets these defaults be overruled by environment variables,
47
48     export SRCHOME ?= $(NANBLENDERHOME)/source
49     export CONFIG_GUESS := $(shell ${SRCHOME}/tools/guess/guessconfig)
50     export OS := $(shell echo ${CONFIG_GUESS} | sed -e 's/-.*//')
51     export OS_VERSION := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-//' -e 's/-[^-]*//')
52     export CPU := $(shell echo ${CONFIG_GUESS} | sed -e 's/^[^-]*-[^-]*-//')
53     export MAKE_START := $(shell date "+%H:%M:%S %d-%b-%Y")
54     export NAN_LIBDIR ?= $(NANBLENDERHOME)/../lib
55     export NAN_OBJDIR ?= $(NANBLENDERHOME)/obj
56     # Library Config_Guess DIRectory
57     export LCGDIR = $(NAN_LIBDIR)/$(CONFIG_GUESS)
58     # Object Config_Guess DIRectory
59     export OCGDIR = $(NAN_OBJDIR)/$(CONFIG_GUESS)
60     export NAN_MOTO ?= $(LCGDIR)/moto
61     export NAN_SOLID ?= $(SRCHOME)/sumo/SOLID-3.0
62     export NAN_SUMO ?= $(SRCHOME)/gameengine/Physics/Sumo
63     export NAN_FUZZICS ?= $(SRCHOME)/gameengine/Physics/Sumo/Fuzzics
64     export NAN_BLENKEY ?= $(LCGDIR)/blenkey
65     export NAN_DECIMATION ?= $(LCGDIR)/decimation
66     export NAN_GUARDEDALLOC ?= $(LCGDIR)/guardedalloc
67     export NAN_IKSOLVER ?= $(LCGDIR)/iksolver
68     export NAN_BSP ?= $(LCGDIR)/bsp
69     export NAN_SOUNDSYSTEM ?= $(LCGDIR)/SoundSystem
70     export NAN_STRING ?= $(LCGDIR)/string
71     export NAN_MEMUTIL ?= $(LCGDIR)/memutil
72     export NAN_CONTAINER ?= $(LCGDIR)/container
73     export NAN_ACTION ?= $(LCGDIR)/action
74     export NAN_IMG ?= $(LCGDIR)/img
75     export NAN_GHOST ?= $(LCGDIR)/ghost
76     export NAN_TEST_VERBOSITY ?= 1
77     export NAN_BMFONT ?= $(LCGDIR)/bmfont
78     ifeq ($(FREE_WINDOWS), true)
79       export NAN_FTGL ?= $(LCGDIR)/gcc/ftgl
80           export NAN_SDL ?= $(LCGDIR)/gcc/sdl
81     else
82       export NAN_FTGL ?= $(LCGDIR)/ftgl
83           export NAN_SDL ?= $(LCGDIR)/sdl
84     endif
85         export NAN_SDLLIBS ?= $(shell sdl-config --libs)
86         export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
87
88
89   # Platform Dependent settings go below:
90
91   ifeq ($(OS),beos)
92
93     export ID = $(USER)
94     export HOST = $(HOSTNAME)
95     export NAN_PYTHON ?= $(LCGDIR)/python
96     export NAN_PYTHON_VERSION ?= 2.0
97     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
98     export NAN_OPENAL ?= $(LCGDIR)/openal
99     export NAN_FMOD ?= $(LCGDIR)/fmod
100     export NAN_JPEG ?= $(LCGDIR)/jpeg
101     export NAN_PNG ?= $(LCGDIR)/png
102     export NAN_SDL ?= $(LCGDIR)/sdl
103     export NAN_ODE ?= $(LCGDIR)/ode
104     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
105     export NAN_MESA ?= /usr/src/Mesa-3.1
106     export NAN_ZLIB ?= $(LCGDIR)/zlib
107     export NAN_NSPR ?= $(LCGDIR)/nspr
108     export NAN_FREETYPE ?= $(LCGDIR)/freetype
109     export NAN_GETTEXT ?= $(LCGDIR)/gettext     
110
111     # Uncomment the following line to use Mozilla inplace of netscape
112     # CPPFLAGS +=-DMOZ_NOT_NET
113     # Location of MOZILLA/Netscape header files...
114     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
115     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
116     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
117     # if this is not set.
118
119     export NAN_BUILDINFO ?= true
120     # Be paranoid regarding library creation (do not update archives)
121     export NAN_PARANOID ?= true
122
123     # l10n
124     #export INTERNATIONAL ?= true
125
126     # enable freetype2 support for text objects
127     #export WITH_FREETYPE2 ?= true
128
129   else
130   ifeq ($(OS),darwin)
131
132     export ID = $(shell whoami)
133     export HOST = $(shell hostname -s)
134     export NAN_PYTHON ?= /sw
135     export NAN_PYTHON_VERSION ?= 2.2
136     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
137     export NAN_OPENAL ?= $(LCGDIR)/openal
138     export NAN_FMOD ?= $(LCGDIR)/fmod
139     export NAN_JPEG ?= /sw
140     export NAN_PNG ?= /sw
141     export NAN_SDL ?= $(LCGDIR)/sdl
142     export NAN_ODE ?= $(LCGDIR)/ode
143     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
144     export NAN_MESA ?= /usr/src/Mesa-3.1
145     export NAN_ZLIB ?= $(LCGDIR)/zlib
146     export NAN_NSPR ?= $(LCGDIR)/nspr
147     export NAN_FREETYPE ?= /sw
148     export NAN_GETTEXT ?= $(LCGDIR)/gettext
149
150     # Uncomment the following line to use Mozilla inplace of netscape
151     # CPPFLAGS +=-DMOZ_NOT_NET
152     # Location of MOZILLA/Netscape header files...
153     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
154     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
155     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
156     # if this is not set.
157
158     export NAN_BUILDINFO ?= true
159     # Be paranoid regarding library creation (do not update archives)
160     export NAN_PARANOID ?= true
161
162     # enable quicktime by default on OS X
163     export WITH_QUICKTIME ?= true
164
165     # enable l10n
166     export INTERNATIONAL ?= true
167
168     # enable freetype2 support for text objects
169     export WITH_FREETYPE2 ?= true
170
171   else
172   ifeq ($(OS),freebsd)
173
174     export ID = $(shell whoami)
175     export HOST = $(shell hostname -s)
176     export NAN_PYTHON ?= /usr/local
177     export NAN_PYTHON_VERSION ?= 2.2
178     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
179     export NAN_OPENAL ?= /usr/local
180     export NAN_FMOD ?= $(LCGDIR)/fmod
181     export NAN_JPEG ?= /usr/local
182     export NAN_PNG ?= /usr/local
183     export NAN_SDL ?= /usr/local
184     export NAN_ODE ?= $(LCGDIR)/ode
185     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
186     export NAN_MESA ?= /usr/src/Mesa-3.1
187     export NAN_ZLIB ?= /usr
188     export NAN_NSPR ?= /usr/local
189     export NAN_FREETYPE ?= $(LCGDIR)/freetype
190     export NAN_GETTEXT ?= $(LCGDIR)/gettext
191
192     # Uncomment the following line to use Mozilla inplace of netscape
193     # CPPFLAGS +=-DMOZ_NOT_NET
194     # Location of MOZILLA/Netscape header files...
195     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
196     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
197     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
198     # if this is not set.
199
200     export NAN_BUILDINFO ?= true
201     # Be paranoid regarding library creation (do not update archives)
202     export NAN_PARANOID ?= true
203
204     # enable l10n
205     # export INTERNATIONAL ?= true
206
207     # enable freetype2 support for text objects
208     # export WITH_FREETYPE2 ?= true
209
210   else
211   ifeq ($(OS),irix)
212
213     export ID = $(shell whoami)
214     export HOST = $(shell /usr/bsd/hostname -s)
215     export NAN_PYTHON ?= $(LCGDIR)/python
216     export NAN_PYTHON_VERSION ?= 2.1
217     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
218     export NAN_OPENAL ?= $(LCGDIR)/openal
219     export NAN_FMOD ?= $(LCGDIR)/fmod
220     export NAN_JPEG ?= $(LCGDIR)/jpeg
221     export NAN_PNG ?= $(LCGDIR)/png
222     export NAN_SDL ?= $(LCGDIR)/sdl
223     export NAN_ODE ?= $(LCGDIR)/ode
224     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
225     export NAN_MESA ?= /usr/src/Mesa-3.1
226     export NAN_ZLIB ?= /usr/freeware
227     export NAN_NSPR ?= /usr/local/apps/openblender/nspr/target/dist
228     export NAN_FREETYPE ?= /usr/freeware
229     export NAN_GETTEXT ?= /usr/freeware
230
231     # Uncomment the following line to use Mozilla inplace of netscape
232     # CPPFLAGS +=-DMOZ_NOT_NET
233     # Location of MOZILLA/Netscape header files...
234     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
235     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
236     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
237     # if this is not set.
238
239     export NAN_BUILDINFO ?= true
240     # Be paranoid regarding library creation (do not update archives)
241     export NAN_PARANOID ?= true
242
243     # enable l10n
244     export INTERNATIONAL ?= true
245
246     # enable freetype2 support for text objects
247     export WITH_FREETYPE2 ?= true
248
249   else
250   ifeq ($(OS),linux)
251
252     export ID = $(shell whoami)
253     export HOST = $(shell hostname -s)
254     export NAN_PYTHON ?= /usr
255     export NAN_PYTHON_VERSION ?= 2.2
256     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
257     export NAN_OPENAL ?= /usr
258     export NAN_FMOD ?= $(LCGDIR)/fmod
259     export NAN_JPEG ?= /usr
260     export NAN_PNG ?= /usr
261     export NAN_SDL ?= /usr
262     export NAN_ODE ?= $(LCGDIR)/ode
263     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
264     export NAN_MESA ?= /usr
265     export NAN_ZLIB ?= /usr
266     export NAN_NSPR ?= $(LCGDIR)/nspr
267     export NAN_FREETYPE ?= /usr
268     export NAN_GETTEXT ?= /usr
269
270     # Uncomment the following line to use Mozilla inplace of netscape
271     export CPPFLAGS += -DMOZ_NOT_NET
272     # Location of MOZILLA/Netscape header files...
273     export NAN_MOZILLA_INC ?= /usr/include/mozilla
274     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
275     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
276     # if this is not set.
277
278     export NAN_BUILDINFO ?= true
279     # Be paranoid regarding library creation (do not update archives)
280     export NAN_PARANOID ?= true
281
282     # l10n
283     #export INTERNATIONAL ?= true
284
285     # enable freetype2 support for text objects
286     #export WITH_FREETYPE2 ?= true
287
288
289   else
290   ifeq ($(OS),openbsd)
291
292     export ID = $(shell whoami)
293     export HOST = $(shell hostname -s)
294     export NAN_PYTHON ?= $(LCGDIR)/python
295     export NAN_PYTHON_VERSION ?= 2.0
296     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
297     export NAN_OPENAL ?= $(LCGDIR)/openal
298     export NAN_FMOD ?= $(LCGDIR)/fmod
299     export NAN_JPEG ?= $(LCGDIR)/jpeg
300     export NAN_PNG ?= $(LCGDIR)/png
301     export NAN_SDL ?= $(LCGDIR)/sdl
302     export NAN_ODE ?= $(LCGDIR)/ode
303     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
304     export NAN_MESA ?= /usr/src/Mesa-3.1
305     export NAN_ZLIB ?= $(LCGDIR)/zlib
306     export NAN_NSPR ?= $(LCGDIR)/nspr
307     export NAN_FREETYPE ?= $(LCGDIR)/freetype
308     export NAN_GETTEXT ?= $(LCGDIR)/gettext
309
310     # Uncomment the following line to use Mozilla inplace of netscape
311     # CPPFLAGS +=-DMOZ_NOT_NET
312     # Location of MOZILLA/Netscape header files...
313     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
314     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
315     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
316     # if this is not set.
317
318     export NAN_BUILDINFO ?= true
319     # Be paranoid regarding library creation (do not update archives)
320     export NAN_PARANOID ?= true
321
322     # l10n
323     #export INTERNATIONAL ?= true
324
325     # enable freetype2 support for text objects
326     #export WITH_FREETYPE2 ?= true
327
328   else
329   ifeq ($(OS),solaris)
330
331     export ID = $(shell /usr/ucb/whoami)
332     export HOST = $(shell hostname)
333     export NAN_PYTHON ?= /usr/local
334     export NAN_PYTHON_VERSION ?= 2.2
335     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
336     export NAN_OPENAL ?= /usr/local
337     export NAN_FMOD ?= $(LCGDIR)/fmod
338     export NAN_JPEG ?= /usr/local
339     export NAN_PNG ?= /usr/local
340     export NAN_SDL ?= /usr/local
341     export NAN_ODE ?= $(LCGDIR)/ode
342     export NAN_TERRAPLAY ?=
343     export NAN_MESA ?= /usr/src/Mesa-3.1
344     export NAN_ZLIB ?= /usr
345     export NAN_NSPR ?= $(LCGDIR)/nspr
346     export NAN_FREETYPE ?= $(LCGDIR)/freetype
347     export NAN_GETTEXT ?= $(LCGDIR)/gettext
348
349     # Uncomment the following line to use Mozilla inplace of netscape
350     # CPPFLAGS +=-DMOZ_NOT_NET
351     # Location of MOZILLA/Netscape header files...
352     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
353     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
354     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
355     # if this is not set.
356
357     export NAN_BUILDINFO ?= true
358     # Be paranoid regarding library creation (do not update archives)
359     export NAN_PARANOID ?= true
360
361     # l10n
362     #export INTERNATIONAL ?= true
363
364     # enable freetype2 support for text objects
365     #export WITH_FREETYPE2 ?= true
366
367   else
368   ifeq ($(OS),windows)
369
370     export ID = $(LOGNAME)
371     export NAN_PYTHON ?= $(LCGDIR)/python
372     export NAN_ICONV ?= $(LCGDIR)/iconv
373     export NAN_PYTHON_VERSION ?= 2.2
374     ifeq ($(FREE_WINDOWS), true)
375       export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
376       export NAN_FREETYPE ?= $(LCGDIR)/gcc/freetype
377       export NAN_ODE ?= $(LCGDIR)/gcc/ode
378     else
379       export NAN_PYTHON_BINARY ?= python
380       export NAN_FREETYPE ?= $(LCGDIR)/freetype
381       export NAN_ODE ?= $(LCGDIR)/ode
382     endif
383     export NAN_OPENAL ?= $(LCGDIR)/openal
384     export NAN_FMOD ?= $(LCGDIR)/fmod
385     export NAN_JPEG ?= $(LCGDIR)/jpeg
386     export NAN_PNG ?= $(LCGDIR)/png
387     export NAN_SDL ?= $(LCGDIR)/sdl
388     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
389     export NAN_MESA ?= /usr/src/Mesa-3.1
390     export NAN_ZLIB ?= $(LCGDIR)/zlib
391     export NAN_NSPR ?= $(LCGDIR)/nspr
392     export NAN_GETTEXT ?= $(LCGDIR)/gettext
393
394     # Uncomment the following line to use Mozilla inplace of netscape
395     # CPPFLAGS +=-DMOZ_NOT_NET
396     # Location of MOZILLA/Netscape header files...
397     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
398     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
399     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
400     # if this is not set.
401 export NAN_PYTHON_BINARY ?= python
402     export NAN_BUILDINFO ?= true
403     # Be paranoid regarding library creation (do not update archives)
404     export NAN_PARANOID ?= true
405
406     # l10n
407     export INTERNATIONAL ?= true
408
409     # enable freetype2 support for text objects
410     export WITH_FREETYPE2 ?= true
411     
412     # enable quicktime support
413     # export WITH_QUICKTIME ?= true
414
415   else # Platform not listed above
416
417     export NAN_PYTHON ?= $(LCGDIR)/python
418     export NAN_PYTHON_VERSION ?= 2.0
419         export NAN_PYTHON_BINARY ?= python
420     export NAN_OPENAL ?= $(LCGDIR)/openal
421     export NAN_FMOD ?= $(LCGDIR)/fmod
422     export NAN_JPEG ?= $(LCGDIR)/jpeg
423     export NAN_PNG ?= $(LCGDIR)/png
424     export NAN_SDL ?= $(LCGDIR)/sdl
425     export NAN_ODE ?= $(LCGDIR)/ode
426     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
427     export NAN_MESA ?= /usr/src/Mesa-3.1
428     export NAN_ZLIB ?= $(LCGDIR)/zlib
429     export NAN_NSPR ?= $(LCGDIR)/nspr
430     export NAN_FREETYPE ?= $(LCGDIR)/freetype
431     export NAN_GETTEXT ?= $(LCGDIR)/gettext
432
433     # Uncomment the following line to use Mozilla inplace of netscape
434     # CPPFLAGS +=-DMOZ_NOT_NET
435     # Location of MOZILLA/Netscape header files...
436     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
437     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
438     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
439     # if this is not set.
440
441     export NAN_BUILDINFO ?= true
442     # Be paranoid regarding library creation (do not update archives)
443     export NAN_PARANOID ?= true
444
445     # l10n
446     #export INTERNATIONAL ?= true
447
448     # enable freetype2 support for text objects
449     #export WITH_FREETYPE2 ?= true
450   endif
451 endif
452 endif
453 endif
454 endif
455 endif
456 endif
457 endif
458 endif