makefiledir/Makefile.libdetection
author tron
Wed, 08 Mar 2006 19:47:18 +0000
changeset 3168 34cfe6f61a12
parent 3083 80fd38645e84
child 3197 95255bcc2e23
permissions -rw-r--r--
(svn r3796) When unmagicfying code, do it Right(tm) and also give the variables sensible names. I flipped a 'b' and a 'd' in r3785
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     1
# this file detects what OS and libs the computer have/are running
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     2
3083
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     3
ifndef CONFIG_VERSION
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     4
CONFIG_VERSION:=0
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     5
endif
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     6
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     7
ifeq ($(shell expr $(CONFIG_VERSION) \< 9), 1)
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     8
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     9
# Automatically recognize if building on Win32
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    10
ifdef WINDIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    11
ifndef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    12
WIN32:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    13
CYGWIN:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    14
MINGW:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    15
STATIC:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    16
SKIP_STATIC_CHECK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    17
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    18
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    19
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    20
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    21
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    22
# Automatically recognize if building on FreeBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    23
ifeq ($(shell uname),FreeBSD)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    24
FREEBSD:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    25
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    26
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    27
# Automatically recognize if building on MacOSX
2000
56bcd637009d (svn r2506) - Fix: [OSX, makefile] The makefile can now also see OSX 10.4 as OSX
bjarni
parents: 1955
diff changeset
    28
ifeq ($(shell uname), Darwin)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    29
OSX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    30
# OSX uses the unix setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    31
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    32
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    33
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    34
# Automatically recognize if building on MorphOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    35
ifeq ($(shell uname), MorphOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    36
MORPHOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    37
# MorphOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    38
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    39
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    40
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    41
# Automatically recognize if building on BeOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    42
ifeq ($(shell uname), BeOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    43
BEOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    44
# BeOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    45
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    46
# Except that in BeOS 5.0 we need to use net_server, not BONE networking
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    47
ifeq ($(shell uname -r), 5.0)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    48
BEOS_NET_SERVER:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    49
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    50
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    51
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    52
# Automatically recognize if building on SunOS/Solaris
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    53
ifeq ($(shell uname), SunOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    54
SUNOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    55
# SunOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    56
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    57
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    58
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    59
# FreeBSD uses sdl11 instead of sdl
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    60
ifdef FREEBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    61
SDL-CONFIG:=sdl11-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    62
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    63
SDL-CONFIG:=sdl-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    64
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    65
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    66
# Networking, enabled by default
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    67
WITH_NETWORK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    68
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    69
# Library detections
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    70
WITH_SDL:=$(shell $(SDL-CONFIG) --version 2>/dev/null)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    71
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    72
# libpng detection
1955
52a84e880864 (svn r2461) -Feature [Makefile] libpng-config can now be called something else in Makefile.config
bjarni
parents: 1823
diff changeset
    73
WITH_PNG:=$(shell $(LIBPNG-CONFIG) --version 2>/dev/null)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    74
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    75
ifdef WITH_PNG
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    76
# LibPNG depends on Zlib
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    77
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    78
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    79
# We go looking for zlib with a little hack
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    80
WITH_ZLIB:=$(shell ls /usr/include | grep "zlib.h" 2>/dev/null) \
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    81
$(shell ls /usr/local/include | grep "zlib.h" 2>/dev/null)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    82
ifdef WITH_ZLIB
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    83
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    84
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    85
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    86
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    87
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    88
# sets the default paths
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    89
ifdef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    90
ifndef OSX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    91
ifndef MORPHOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    92
ifndef BIN_DIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    93
#BINARY_DIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    94
#DATA_DIR_PREFIX:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    95
#INSTALL_DIR:=/usr/local/
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    96
#USE_HOMEDIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    97
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    98
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    99
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   100
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   101
2736
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   102
ifdef OSX
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   103
# we prefer to use cocoa drivers rather than SDL drivers
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   104
# if you really want SDL drivers, you can always modify Makefile.config
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   105
WITH_COCOA:=1
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   106
WITH_SDL:=
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   107
endif
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   108
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   109
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   110
# workaround
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   111
# cygwin have problems with libpng, so we will just disable it for now until the problem is solved
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   112
ifdef CYGWIN
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   113
WITH_PNG:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   114
endif
3083
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
   115
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
   116
endif