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