source: trunk/kBuild/sdks/LIBSDL.kmk@ 1504

Last change on this file since 1504 was 1504, checked in by bird, 17 years ago

Environment / global variable policy changes. Renamed the following but will continue to check for the old ones:
BUILD_TYPE -> KBUILD_TYPE
BUILD_TARGET -> KBUILD_TARGET
BUILD_TARGET_ARCH -> KBUILD_TARGET_ARCH
BUILD_TARGET_CPU -> KBUILD_TARGET_CPU
BUILD_PLATFORM -> KBUILD_HOST
BUILD_PLATFORM_ARCH -> KBUILD_HOST_ARCH
BUILD_PLATFORM_CPU -> KBUILD_HOST_CPU
PATH_KBUILD -> KBUILD_PATH
PATH_KBUILD_BIN -> KBUILD_BIN_PATH

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.0 KB
Line 
1# $Id: LIBSDL.kmk 1504 2008-04-09 00:04:42Z bird $
2## @file
3#
4# kBuild SDK - Simple DirectMedia Layer, targeting $(KBUILD_TARGET).
5#
6# Copyright (c) 2006-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
7#
8#
9# This file is part of kBuild.
10#
11# kBuild is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# kBuild is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kBuild; if not, write to the Free Software
23# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24#
25#
26
27SDK_LIBSDL := Simple DirectMedia Layer, targeting $(KBUILD_TARGET).
28
29# SDK Specific Properties
30_SDK_LIBSDK_IS_FRAMEWORK := no
31ifndef PATH_SDK_LIBSDL
32 PATH_SDK_LIBSDL := $(wildcard $(PATH_DEVTOOLS_TRG)/libsdl/v*)
33 ifeq ($(PATH_SDK_LIBSDL),)
34 PATH_SDK_LIBSDL := $(wildcard $(PATH_DEVTOOLS_BLD)/libsdl/v*)
35 endif
36 ifneq ($(PATH_SDK_LIBSDL),)
37 PATH_SDK_LIBSDL := $(lastword $(sort $(PATH_SDK_LIBSDL)))
38 else
39
40 # Darwin might have a framework for it.
41 ifeq ($(KBUILD_TARGET),darwin)
42 PATH_SDK_LIBSDL := $(firstword $(wildcard \
43 /System/Library/Frameworks/SDL.frameworks/SDL \
44 /Library/Frameworks/SDL.framework/SDL \
45 ) )
46 ifneq ($(PATH_SDK_LIBSDL),)
47 PATH_SDK_LIBSDL := $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL)))
48 _SDK_LIBSDK_IS_FRAMEWORK := yes
49 endif
50 endif
51
52 ifeq ($(PATH_SDK_LIBSDL),)
53 # Search in the typical unix places.
54 ifeq ($(filter-out %64,$(KBUILD_TARGET_ARCH)),)
55 PATH_SDK_LIBSDL := $(firstword $(wildcard \
56 /lib64/libSDL.* \
57 /lib/libSDL.* \
58 /usr/lib64/libSDL.* \
59 /usr/lib/libSDL.* \
60 /usr/local/lib64/libSDL.* \
61 /usr/local/lib/libSDL.* \
62 /opt/lib64/libSDL.* \
63 /opt/lib/libSDL.* \
64 /opt/local/lib64/libSDL.* \
65 /opt/local/lib/libSDL.* \
66 /sw/lib64/libSDL.* \
67 /sw/lib/libSDL.* \
68 ) )
69 else
70 PATH_SDK_LIBSDL := $(firstword $(wildcard \
71 /lib32/libSDL.* \
72 /lib/libSDL.* \
73 /usr/lib32/libSDL.* \
74 /usr/lib/libSDL.* \
75 /usr/local/lib32/libSDL.* \
76 /usr/local/lib/libSDL.* \
77 /opt/lib32/libSDL.* \
78 /opt/lib/libSDL.* \
79 /opt/local/lib32/libSDL.* \
80 /opt/local/lib/libSDL.* \
81 /sw/lib32/libSDL.* \
82 /sw/lib/libSDL.* \
83 ) )
84 endif
85 ifneq ($(PATH_SDK_LIBSDL),)
86 PATH_SDK_LIBSDL := $(patsubst %/,%,$(dir $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL)))))
87 else
88 $(warning kBuild: PATH_SDK_LIBSDL couldn't be determined!)
89 PATH_SDK_LIBSDL := $(PATH_DEVTOOLS_TRG)/libsdl/not/found
90 endif
91 endif
92 endif
93else
94 PATH_SDK_LIBSDL := $(PATH_SDK_LIBSDL)
95 ifeq ($(KBUILD_TARGET),darwin)
96 # Check if it's the framework or not.
97 _SDK_LIBSDK_IS_FRAMEWORK := $(if $(wildcard $(PATH_SDK_LIBSDL)/Headers/SDL.h),yes)
98 endif
99endif
100
101#
102# The way libsdl is distributed on the different platforms
103# varies quite a bit, thus this kludge.
104#
105ifeq ($(KBUILD_TARGET),os2)
106 LIB_SDK_LIBSDL_SDLMAIN ?=
107 DLL_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.dll
108 DLL_SDK_LIBSDL_FSLIB ?= $(PATH_SDK_LIBSDL)/SDL/FSLib.dll
109 LIB_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.lib
110 LIB_SDK_LIBSDL_SDLGFX ?= $(PATH_SDK_LIBSDL)/SDLGfx/SDLGFX.lib
111 LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/SDLImage/SDLIMAGE.lib
112 LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/SDLMixer/SDLMIXER.lib
113 LIB_SDK_LIBSDL_SDLNET ?= $(PATH_SDK_LIBSDL)/SDLNet/SDLNET.lib
114 LIB_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/SDLTTF/SDLTTF.lib
115
116 # General Properties used by kBuild
117 SDK_LIBSDL_INCS ?= \
118 $(PATH_SDK_LIBSDL)/SDL/include \
119 $(PATH_SDK_LIBSDL)/SDLGfx \
120 $(PATH_SDK_LIBSDL)/SDLImage \
121 $(PATH_SDK_LIBSDL)/SDLMixer \
122 $(PATH_SDK_LIBSDL)/SDLNet \
123 $(PATH_SDK_LIBSDL)/SDLTTF
124 SDK_LIBSDL_LIBS ?= \
125 $(LIB_SDK_LIBSDL_SDL)
126 SDK_LIBSDL_LIBPATH ?= \
127 $(PATH_SDK_LIBSDL)/SDL \
128 $(PATH_SDK_LIBSDL)/SDLGfx \
129 $(PATH_SDK_LIBSDL)/SDLImage \
130 $(PATH_SDK_LIBSDL)/SDLMixer \
131 $(PATH_SDK_LIBSDL)/SDLNet \
132 $(PATH_SDK_LIBSDL)/SDLTTF
133
134else ifeq ($(KBUILD_TARGET),win) # ASSUMES VC++ on windows, sorry.
135 LIB_SDK_LIBSDL_SDLMAIN ?= $(PATH_SDK_LIBSDL)/lib/SDLmain.lib
136 LIB_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/lib/SDL.lib
137 DLL_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/lib/SDL.dll
138 LIB_SDK_LIBSDL_SDLGFX ?= $(PATH_SDK_LIBSDL)/lib/SDL_gfx.lib
139 LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/lib/SDL_image.lib
140 LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/lib/SDL_mixer.lib
141 LIB_SDK_LIBSDL_SDLNET ?= $(PATH_SDK_LIBSDL)/lib/SDL_net.lib
142 LIB_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.lib
143 DLL_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.dll
144
145 # General Properties used by kBuild
146 SDK_LIBSDL_INCS ?= \
147 $(PATH_SDK_LIBSDL)/include/SDL \
148 $(PATH_SDK_LIBSDL)/include
149 SDK_LIBSDL_LIBS ?= \
150 $(LIB_SDK_LIBSDL_SDL)
151 SDK_LIBSDL_LIBPATH ?= \
152 $(PATH_SDK_LIBSDL)/lib
153
154else ifeq ($(KBUILD_TARGET).$(_SDK_LIBSDK_IS_FRAMEWORK),darwin.yes)
155 # darwin + framework
156 LIB_SDK_LIBSDL_SDLMAIN ?= $(NO_SUCH_VARIABLE)
157 LIB_SDK_LIBSDL_SDL ?= $(NO_SUCH_VARIABLE)
158 LIB_SDK_LIBSDL_SDLGFX ?= $(NO_SUCH_VARIABLE)
159 LIB_SDK_LIBSDL_SDLIMAGE ?= $(NO_SUCH_VARIABLE)
160 LIB_SDK_LIBSDL_SDLMIXER ?= $(NO_SUCH_VARIABLE)
161 LIB_SDK_LIBSDL_SDLNET ?= $(NO_SUCH_VARIABLE)
162 LIB_SDK_LIBSDL_SDLTTF ?= $(NO_SUCH_VARIABLE)
163
164 # General Properties used by kBuild
165 SDK_LIBSDL_INCS ?= $(PATH_SDK_LIBSDL)/Headers
166 SDK_LIBSDL_LDFLAGS ?= -framework SDL
167
168else # ASSUMES Unix like system
169 LIB_SDK_LIBSDL_SDLMAIN ?= SDLmain
170 LIB_SDK_LIBSDL_SDL ?= SDL
171 LIB_SDK_LIBSDL_SDLGFX ?= SDL_gfx
172 LIB_SDK_LIBSDL_SDLIMAGE ?= SDL_image
173 LIB_SDK_LIBSDL_SDLMIXER ?= SDL_mixer
174 LIB_SDK_LIBSDL_SDLNET ?= SDL_net
175 LIB_SDK_LIBSDL_SDLTTF ?= SDL_ttf
176
177 # General Properties used by kBuild
178 ifndef SDK_LIBSDL_INCS
179 ifneq ($(wildcard $(PATH_SDK_LIBSDL)/include/SDL/),)
180 SDK_LIBSDL_INCS := $(PATH_SDK_LIBSDL)/include/SDL
181 else
182 SDK_LIBSDL_INCS := $(PATH_SDK_LIBSDL)/include
183 endif
184 endif
185 SDK_LIBSDL_LIBS ?= \
186 $(LIB_SDK_LIBSDL_SDL)
187 SDK_LIBSDL_LIBPATH ?= \
188 $(PATH_SDK_LIBSDL)/lib
189endif
Note: See TracBrowser for help on using the repository browser.