allow NAN_SDL etc. to be overridden on OS X
[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     else
81       export NAN_FTGL ?= $(LCGDIR)/ftgl
82     endif
83
84   # Platform Dependent settings go below:
85
86   ifeq ($(OS),beos)
87
88     export ID = $(USER)
89     export HOST = $(HOSTNAME)
90     export NAN_PYTHON ?= $(LCGDIR)/python
91     export NAN_PYTHON_VERSION ?= 2.0
92     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
93     export NAN_OPENAL ?= $(LCGDIR)/openal
94     export NAN_FMOD ?= $(LCGDIR)/fmod
95     export NAN_JPEG ?= $(LCGDIR)/jpeg
96     export NAN_PNG ?= $(LCGDIR)/png
97     export NAN_ODE ?= $(LCGDIR)/ode
98     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
99     export NAN_MESA ?= /usr/src/Mesa-3.1
100     export NAN_ZLIB ?= $(LCGDIR)/zlib
101     export NAN_NSPR ?= $(LCGDIR)/nspr
102     export NAN_FREETYPE ?= $(LCGDIR)/freetype
103     export NAN_GETTEXT ?= $(LCGDIR)/gettext
104     export NAN_SDL ?= $(shell sdl-config --prefix)
105     export NAN_SDLLIBS ?= $(shell sdl-config --libs)
106     export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
107
108     # Uncomment the following line to use Mozilla inplace of netscape
109     # CPPFLAGS +=-DMOZ_NOT_NET
110     # Location of MOZILLA/Netscape header files...
111     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
112     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
113     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
114     # if this is not set.
115
116     export NAN_BUILDINFO ?= true
117     # Be paranoid regarding library creation (do not update archives)
118     export NAN_PARANOID ?= true
119
120     # l10n
121     #export INTERNATIONAL ?= true
122
123     # enable freetype2 support for text objects
124     #export WITH_FREETYPE2 ?= true
125
126   else
127   ifeq ($(OS),darwin)
128
129     export ID = $(shell whoami)
130     export HOST = $(shell hostname -s)
131     export NAN_PYTHON ?= /sw
132     export NAN_PYTHON_VERSION ?= 2.2
133     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
134     export NAN_OPENAL ?= $(LCGDIR)/openal
135     export NAN_FMOD ?= $(LCGDIR)/fmod
136     export NAN_JPEG ?= /sw
137     export NAN_PNG ?= /sw
138     export NAN_ODE ?= $(LCGDIR)/ode
139     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
140     export NAN_MESA ?= /usr/src/Mesa-3.1
141     export NAN_ZLIB ?= $(LCGDIR)/zlib
142     export NAN_NSPR ?= $(LCGDIR)/nspr
143     export NAN_FREETYPE ?= /sw
144     export NAN_GETTEXT ?= $(LCGDIR)/gettext
145     export NAN_SDL ?= $(LCGDIR)/sdl
146     export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
147     export NAN_SDLLIBS ?= $(NAN_SDL)/lib/libSDL.a -framework Cocoa
148
149     # Uncomment the following line to use Mozilla inplace of netscape
150     # CPPFLAGS +=-DMOZ_NOT_NET
151     # Location of MOZILLA/Netscape header files...
152     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
153     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
154     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
155     # if this is not set.
156
157     export NAN_BUILDINFO ?= true
158     # Be paranoid regarding library creation (do not update archives)
159     export NAN_PARANOID ?= true
160
161     # enable quicktime by default on OS X
162     export WITH_QUICKTIME ?= true
163
164     # enable l10n
165     export INTERNATIONAL ?= true
166
167     # enable freetype2 support for text objects
168     export WITH_FREETYPE2 ?= true
169
170   else
171   ifeq ($(OS),freebsd)
172
173     export ID = $(shell whoami)
174     export HOST = $(shell hostname -s)
175     export NAN_PYTHON ?= /usr/local
176     export NAN_PYTHON_VERSION ?= 2.2
177     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
178     export NAN_OPENAL ?= /usr/local
179     export NAN_FMOD ?= $(LCGDIR)/fmod
180     export NAN_JPEG ?= /usr/local
181     export NAN_PNG ?= /usr/local
182     export NAN_ODE ?= $(LCGDIR)/ode
183     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
184     export NAN_MESA ?= /usr/src/Mesa-3.1
185     export NAN_ZLIB ?= /usr
186     export NAN_NSPR ?= /usr/local
187     export NAN_FREETYPE ?= $(LCGDIR)/freetype
188     export NAN_GETTEXT ?= $(LCGDIR)/gettext
189     export NAN_SDL ?= $(shell sdl11-config --prefix)
190     export NAN_SDLLIBS ?= $(shell sdl11-config --libs)
191     export NAN_SDLCFLAGS ?= $(shell sdl11-config --cflags)
192
193     # Uncomment the following line to use Mozilla inplace of netscape
194     # CPPFLAGS +=-DMOZ_NOT_NET
195     # Location of MOZILLA/Netscape header files...
196     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
197     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
198     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
199     # if this is not set.
200
201     export NAN_BUILDINFO ?= true
202     # Be paranoid regarding library creation (do not update archives)
203     export NAN_PARANOID ?= true
204
205     # enable l10n
206     # export INTERNATIONAL ?= true
207
208     # enable freetype2 support for text objects
209     # export WITH_FREETYPE2 ?= true
210
211   else
212   ifeq ($(OS),irix)
213
214     export ID = $(shell whoami)
215     export HOST = $(shell /usr/bsd/hostname -s)
216     export NAN_PYTHON ?= $(LCGDIR)/python
217     export NAN_PYTHON_VERSION ?= 2.2
218     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
219     export NAN_OPENAL ?= $(LCGDIR)/openal
220     export NAN_FMOD ?= $(LCGDIR)/fmod
221     export NAN_JPEG ?= $(LCGDIR)/jpeg
222     export NAN_PNG ?= $(LCGDIR)/png
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 ?= $(LCGDIR)/nspr
228     export NAN_FREETYPE ?= /usr/freeware
229     export NAN_GETTEXT ?= /usr/freeware
230     export NAN_SDL ?= $(LCGDIR)/sdl
231     export NAN_SDLLIBS ?= -L$(NAN_SDL)/lib -lSDL
232     export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include/SDL
233  
234     # Uncomment the following line to use Mozilla inplace of netscape
235     # CPPFLAGS +=-DMOZ_NOT_NET
236     # Location of MOZILLA/Netscape header files...
237     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
238     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
239     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
240     # if this is not set.
241
242     export NAN_BUILDINFO ?= true
243     # Be paranoid regarding library creation (do not update archives)
244     export NAN_PARANOID ?= true
245
246     # enable l10n
247     export INTERNATIONAL ?= true
248
249     # enable freetype2 support for text objects
250     export WITH_FREETYPE2 ?= true
251
252   else
253   ifeq ($(OS),linux)
254
255     export ID = $(shell whoami)
256     export HOST = $(shell hostname -s)
257     export NAN_PYTHON ?= /usr
258     export NAN_PYTHON_VERSION ?= 2.2
259     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
260     export NAN_OPENAL ?= /usr
261     export NAN_FMOD ?= $(LCGDIR)/fmod
262     export NAN_JPEG ?= /usr
263     export NAN_PNG ?= /usr
264     export NAN_ODE ?= $(LCGDIR)/ode
265     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
266     export NAN_MESA ?= /usr
267     export NAN_ZLIB ?= /usr
268     export NAN_NSPR ?= $(LCGDIR)/nspr
269     export NAN_FREETYPE ?= /usr
270     export NAN_GETTEXT ?= /usr
271     export NAN_SDL ?= $(shell sdl-config --prefix)
272     export NAN_SDLLIBS ?= $(shell sdl-config --libs)
273     export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
274
275     # Uncomment the following line to use Mozilla inplace of netscape
276     export CPPFLAGS += -DMOZ_NOT_NET
277     # Location of MOZILLA/Netscape header files...
278     export NAN_MOZILLA_INC ?= /usr/include/mozilla
279     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
280     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
281     # if this is not set.
282
283     export NAN_BUILDINFO ?= true
284     # Be paranoid regarding library creation (do not update archives)
285     export NAN_PARANOID ?= true
286
287     # l10n
288     #export INTERNATIONAL ?= true
289
290     # enable freetype2 support for text objects
291     #export WITH_FREETYPE2 ?= true
292
293
294   else
295   ifeq ($(OS),openbsd)
296
297     export ID = $(shell whoami)
298     export HOST = $(shell hostname -s)
299     export NAN_PYTHON ?= $(LCGDIR)/python
300     export NAN_PYTHON_VERSION ?= 2.0
301     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
302     export NAN_OPENAL ?= $(LCGDIR)/openal
303     export NAN_FMOD ?= $(LCGDIR)/fmod
304     export NAN_JPEG ?= $(LCGDIR)/jpeg
305     export NAN_PNG ?= $(LCGDIR)/png
306     export NAN_ODE ?= $(LCGDIR)/ode
307     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
308     export NAN_MESA ?= /usr/src/Mesa-3.1
309     export NAN_ZLIB ?= $(LCGDIR)/zlib
310     export NAN_NSPR ?= $(LCGDIR)/nspr
311     export NAN_FREETYPE ?= $(LCGDIR)/freetype
312     export NAN_GETTEXT ?= $(LCGDIR)/gettext
313     export NAN_SDL ?= $(shell sdl-config --prefix)
314     export NAN_SDLLIBS ?= $(shell sdl-config --libs)
315     export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
316
317     # Uncomment the following line to use Mozilla inplace of netscape
318     # CPPFLAGS +=-DMOZ_NOT_NET
319     # Location of MOZILLA/Netscape header files...
320     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
321     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
322     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
323     # if this is not set.
324
325     export NAN_BUILDINFO ?= true
326     # Be paranoid regarding library creation (do not update archives)
327     export NAN_PARANOID ?= true
328
329     # l10n
330     #export INTERNATIONAL ?= true
331
332     # enable freetype2 support for text objects
333     #export WITH_FREETYPE2 ?= true
334
335   else
336   ifeq ($(OS),solaris)
337
338     export ID = $(shell /usr/ucb/whoami)
339     export HOST = $(shell hostname)
340     export NAN_PYTHON ?= /usr/local
341     export NAN_PYTHON_VERSION ?= 2.2
342     export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
343     export NAN_OPENAL ?= /usr/local
344     export NAN_FMOD ?= $(LCGDIR)/fmod
345     export NAN_JPEG ?= /usr/local
346     export NAN_PNG ?= /usr/local
347     export NAN_ODE ?= $(LCGDIR)/ode
348     export NAN_TERRAPLAY ?=
349     export NAN_MESA ?= /usr/src/Mesa-3.1
350     export NAN_ZLIB ?= /usr
351     export NAN_NSPR ?= $(LCGDIR)/nspr
352     export NAN_FREETYPE ?= $(LCGDIR)/freetype
353     export NAN_GETTEXT ?= $(LCGDIR)/gettext
354     export NAN_SDL ?= $(shell sdl-config --prefix)
355     export NAN_SDLLIBS ?= $(shell sdl-config --libs)
356     export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
357
358     # Uncomment the following line to use Mozilla inplace of netscape
359     # CPPFLAGS +=-DMOZ_NOT_NET
360     # Location of MOZILLA/Netscape header files...
361     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
362     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
363     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
364     # if this is not set.
365
366     export NAN_BUILDINFO ?= true
367     # Be paranoid regarding library creation (do not update archives)
368     export NAN_PARANOID ?= true
369
370     # l10n
371     #export INTERNATIONAL ?= true
372
373     # enable freetype2 support for text objects
374     #export WITH_FREETYPE2 ?= true
375
376   else
377   ifeq ($(OS),windows)
378
379     export ID = $(LOGNAME)
380     export NAN_PYTHON ?= $(LCGDIR)/python
381     export NAN_ICONV ?= $(LCGDIR)/iconv
382     export NAN_PYTHON_VERSION ?= 2.2
383     ifeq ($(FREE_WINDOWS), true)
384       export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
385       export NAN_FREETYPE ?= $(LCGDIR)/gcc/freetype
386       export NAN_ODE ?= $(LCGDIR)/gcc/ode
387       ifeq ($(NAN_SDL),)
388           export NAN_SDL ?= $(LCGDIR)/gcc/sdl
389           export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
390       endif
391     else
392       export NAN_PYTHON_BINARY ?= python
393       export NAN_FREETYPE ?= $(LCGDIR)/freetype
394       export NAN_ODE ?= $(LCGDIR)/ode
395       ifeq ($(NAN_SDL),)
396           export NAN_SDL ?= $(LCGDIR)/sdl
397           export NAN_SDLCFLAGS ?= -I$(NAN_SDL)/include
398       endif
399     endif
400     export NAN_OPENAL ?= $(LCGDIR)/openal
401     export NAN_FMOD ?= $(LCGDIR)/fmod
402     export NAN_JPEG ?= $(LCGDIR)/jpeg
403     export NAN_PNG ?= $(LCGDIR)/png
404     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
405     export NAN_MESA ?= /usr/src/Mesa-3.1
406     export NAN_ZLIB ?= $(LCGDIR)/zlib
407     export NAN_NSPR ?= $(LCGDIR)/nspr
408     export NAN_GETTEXT ?= $(LCGDIR)/gettext
409
410     # Uncomment the following line to use Mozilla inplace of netscape
411     # CPPFLAGS +=-DMOZ_NOT_NET
412     # Location of MOZILLA/Netscape header files...
413     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
414     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
415     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
416     # if this is not set.
417         export NAN_PYTHON_BINARY ?= python
418     export NAN_BUILDINFO ?= true
419     # Be paranoid regarding library creation (do not update archives)
420     export NAN_PARANOID ?= true
421
422     # l10n
423     export INTERNATIONAL ?= true
424
425     # enable freetype2 support for text objects
426     export WITH_FREETYPE2 ?= true
427     
428     # enable quicktime support
429     # export WITH_QUICKTIME ?= true
430
431   else # Platform not listed above
432
433     export NAN_PYTHON ?= $(LCGDIR)/python
434     export NAN_PYTHON_VERSION ?= 2.0
435     export NAN_PYTHON_BINARY ?= python
436     export NAN_OPENAL ?= $(LCGDIR)/openal
437     export NAN_FMOD ?= $(LCGDIR)/fmod
438     export NAN_JPEG ?= $(LCGDIR)/jpeg
439     export NAN_PNG ?= $(LCGDIR)/png
440     export NAN_SDL ?= $(LCGDIR)/sdl
441     export NAN_ODE ?= $(LCGDIR)/ode
442     export NAN_TERRAPLAY ?= $(LCGDIR)/terraplay
443     export NAN_MESA ?= /usr/src/Mesa-3.1
444     export NAN_ZLIB ?= $(LCGDIR)/zlib
445     export NAN_NSPR ?= $(LCGDIR)/nspr
446     export NAN_FREETYPE ?= $(LCGDIR)/freetype
447     export NAN_GETTEXT ?= $(LCGDIR)/gettext
448     export NAN_SDL ?= $(shell sdl-config --prefix)
449     export NAN_SDLLIBS ?= $(shell sdl-config --libs)
450     export NAN_SDLCFLAGS ?= $(shell sdl-config --cflags)
451
452     # Uncomment the following line to use Mozilla inplace of netscape
453     # CPPFLAGS +=-DMOZ_NOT_NET
454     # Location of MOZILLA/Netscape header files...
455     export NAN_MOZILLA_INC ?= $(LCGDIR)/mozilla/include
456     export NAN_MOZILLA_LIB ?= $(LCGDIR)/mozilla/lib/
457     # Will fall back to look in NAN_MOZILLA_INC/nspr and NAN_MOZILLA_LIB
458     # if this is not set.
459
460     export NAN_BUILDINFO ?= true
461     # Be paranoid regarding library creation (do not update archives)
462     export NAN_PARANOID ?= true
463
464     # l10n
465     #export INTERNATIONAL ?= true
466
467     # enable freetype2 support for text objects
468     #export WITH_FREETYPE2 ?= true
469   endif
470 endif
471 endif
472 endif
473 endif
474 endif
475 endif
476 endif
477 endif