summaryrefslogtreecommitdiffstats
path: root/rules/sdl.make
blob: 101cebb3f65c51b0148f16aa2ac5564bcd391776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
# -*-makefile-*-
# $Id: template 4565 2006-02-10 14:23:10Z mkl $
#
# Copyright (C) 2006 by Erwin Rol
#          
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_SDL_LIB) += sdl

#
# Paths and names
#
SDL_LIB_VERSION	:= 1.2.9
SDL_LIB		:= SDL-$(SDL_LIB_VERSION)
SDL_LIB_SUFFIX	:= tar.gz
SDL_LIB_URL	:= http://www.libsdl.org/release//$(SDL_LIB).$(SDL_LIB_SUFFIX)
SDL_LIB_SOURCE	:= $(SRCDIR)/$(SDL_LIB).$(SDL_LIB_SUFFIX)
SDL_LIB_DIR	:= $(BUILDDIR)/$(SDL_LIB)

-include $(call package_depfile)

# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------

sdl_get: $(STATEDIR)/sdl.get

$(STATEDIR)/sdl.get: $(sdl_get_deps_default)
	@$(call targetinfo, $@)
	@$(call touch, $@)

$(SDL_LIB_SOURCE):
	@$(call targetinfo, $@)
	@$(call get, SDL_LIB)

# ----------------------------------------------------------------------------
# Extract
# ----------------------------------------------------------------------------

sdl_extract: $(STATEDIR)/sdl.extract

$(STATEDIR)/sdl.extract: $(sdl_extract_deps_default)
	@$(call targetinfo, $@)
	@$(call clean, $(SDL_LIB_DIR))
	@$(call extract, SDL_LIB)
	@$(call patchin, $(SDL_LIB))
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

sdl_prepare: $(STATEDIR)/sdl.prepare

SDL_LIB_PATH	:=  PATH=$(CROSS_PATH)
SDL_LIB_ENV 	:=  $(CROSS_ENV)

#
# autoconf
#
SDL_LIB_AUTOCONF := $(CROSS_AUTOCONF_USR)
ifdef PTXCONF_SDL_SHARED
SDL_LIB_AUTOCONF += --enable-shared
else
SDL_LIB_AUTOCONF += --disable-shared
endif
ifdef PTXCONF_SDL_STATIC
SDL_LIB_AUTOCONF += --enable-static
else
SDL_LIB_AUTOCONF += --disable-static
endif

ifdef PTXCONF_SDL_AUDIO
SDL_LIB_AUTOCONF += --enable-audio      

 ifdef PTXCONF_SDL_OSS
 SDL_LIB_AUTOCONF += --enable-oss
 else
 SDL_LIB_AUTOCONF += --disable-oss
 endif

 ifdef PTXCONF_SDL_ALSA
 SDL_LIB_AUTOCONF += --enable-alsa     
 SDL_LIB_AUTOCONF += --disable-alsatest 
 #SDL_LIB_AUTOCONF += --with-alsa-prefix=PFX 
 #SDL_LIB_AUTOCONF += --with-alsa-inc-prefix=PFX 
  ifdef PTXCONF_SDL_ALSA_SHARED
  SDL_LIB_AUTOCONF += --enable-alsa-shared  
  else
  SDL_LIB_AUTOCONF += --disable-alsa-shared
  endif
 else
 SDL_LIB_AUTOCONF += --disable-alsa
 endif

 ifdef PTXCONF_SDL_ESD
 SDL_LIB_AUTOCONF += --enable-esd   
 SDL_LIB_AUTOCONF += --disable-esdtest
 #SDL_LIB_AUTOCONF += --with-esd-prefix=PFX 
 #SDL_LIB_AUTOCONF += --with-esd-exec-prefix=PFX 
  ifdef PTXCONF_SDL_ESD_SHARED
  SDL_LIB_AUTOCONF += --enable-esd-shared   
  else
  SDL_LIB_AUTOCONF += --disable-esd-shared
  endif
 else
 SDL_LIB_AUTOCONF += --disable-esd
 endif

 ifdef PTXCONF_SDL_ARTS
 SDL_LIB_AUTOCONF += --enable-arts         
  ifdef PTXCONF_SDL_ARTS_SHARED
  SDL_LIB_AUTOCONF += --enable-arts-shared  
  else
  SDL_LIB_AUTOCONF += --disable-arts-shared
  endif
 else
 SDL_LIB_AUTOCONF += --disable-arts
 endif

 ifdef PTXCONF_SDL_NAS
 SDL_LIB_AUTOCONF += --enable-nas       
 else
 SDL_LIB_AUTOCONF += --disable-nas
 endif

 ifdef PTXCONF_SDL_DISKAUDIO
 SDL_LIB_AUTOCONF += --enable-diskaudio   
 else
 SDL_LIB_AUTOCONF += --disable-diskaudio
 endif

else
DL_LIB_AUTOCONF += --disable-audio
endif

ifdef PTXCONF_SDL_VIDEO
SDL_LIB_AUTOCONF += --enable-video  

 ifdef PTXCONF_SDL_NANOX
 SDL_LIB_AUTOCONF += --enable-video-nanox
 SDL_LIB_AUTOCONF += --enable-nanox-debug
 SDL_LIB_AUTOCONF += --enable-nanox-share-memory
 SDL_LIB_AUTOCONF += --enable-nanox-direct-fb
 else
 SDL_LIB_AUTOCONF += --disable-video-nanox
 endif

 ifdef PTXCONF_SDL_XORG
 SDL_LIB_AUTOCONF += --with-x              
 SDL_LIB_AUTOCONF += --enable-video-x11   
 SDL_LIB_AUTOCONF += --enable-video-x11-vm 
 SDL_LIB_AUTOCONF += --enable-dga         
 SDL_LIB_AUTOCONF += --enable-video-x11-dgamouse 
 SDL_LIB_AUTOCONF += --enable-video-x11-xv  
 SDL_LIB_AUTOCONF += --enable-video-x11-xinerama 
 SDL_LIB_AUTOCONF += --enable-video-x11-xme 
 SDL_LIB_AUTOCONF += --enable-video-dga    
 else
 SDL_LIB_AUTOCONF += --without-x
 endif

 ifdef PTXCONF_SDL_FBCON
 SDL_LIB_AUTOCONF += --enable-video-fbcon 
 else
 SDL_LIB_AUTOCONF += --disable-video-fbcon
 endif

 ifdef PTXCONF_SDL_DIRECTFB
 SDL_LIB_AUTOCONF += --enable-video-directfb 
 else
 SDL_LIB_AUTOCONF += --disable-video-directfb
 endif

 ifdef PTXCONF_SDL_AALIB
 SDL_LIB_AUTOCONF += --enable-video-aalib 
 else
 SDL_LIB_AUTOCONF += --disable-video-aalib
 endif

 ifdef PTXCONF_SDL_OPENGL
 SDL_LIB_AUTOCONF += --enable-video-opengl  
 SDL_LIB_AUTOCONF += --enable-osmesa-shared 
 else
 SDL_LIB_AUTOCONF += --disable-video-opengl
 endif

 ifdef PTXCONF_SDL_QTOPIA
 SDL_LIB_AUTOCONF += --enable-video-qtopia 
 else
 SDL_LIB_AUTOCONF += --disable-video-qtopia
 endif

else
SDL_LIB_AUTOCONF += --disable-video 
endif

ifdef PTXCONF_SDL_EVENT
SDL_LIB_AUTOCONF += --enable-events  
else
SDL_LIB_AUTOCONF += --disable-events
endif

ifdef PTXCONF_SDL_JOYSTICK
SDL_LIB_AUTOCONF += --enable-joystick  
else
SDL_LIB_AUTOCONF += --disable-joystick
endif

ifdef PTXCONF_SDL_CDROM
SDL_LIB_AUTOCONF += --enable-cdrom    
else
SDL_LIB_AUTOCONF += --disable-cdrom
endif

ifdef PTXCONF_SDL_THREADS
SDL_LIB_AUTOCONF += --enable-threads  
 ifdef PTXCONF_SDL_PTH
 SDL_LIB_AUTOCONF += --enable-pth         
 else
 SDL_LIB_AUTOCONF += --disable-pth
 endif
else
SDL_LIB_AUTOCONF += --disable-threads
endif

ifdef PTXCONF_SDL_TIMERS
SDL_LIB_AUTOCONF += --enable-timers  
else
SDL_LIB_AUTOCONF += --disable-timers
endif

ifdef PTXCONF_SDL_ENDIAN
SDL_LIB_AUTOCONF += --enable-endian 
else
SDL_LIB_AUTOCONF += --disable-endian
endif

ifdef PTXCONF_SDL_FILE
SDL_LIB_AUTOCONF += --enable-file   
else
SDL_LIB_AUTOCONF += --disable-file
endif

ifdef PTXCONF_SDL_CPUINFO
SDL_LIB_AUTOCONF += --enable-cpuinfo
else
SDL_LIB_AUTOCONF += --disable-cpuinfo
endif

ifdef PTXCONF_SDL_NASM
SDL_LIB_AUTOCONF += --enable-nasm    
else
SDL_LIB_AUTOCONF += --disable-nasm
endif

SDL_LIB_AUTOCONF += --disable-debug
SDL_LIB_AUTOCONF += --disable-strict-ansi
SDL_LIB_AUTOCONF += --disable-video-ps2gs  
SDL_LIB_AUTOCONF += --disable-video-ggi   
SDL_LIB_AUTOCONF += --disable-video-svga 
SDL_LIB_AUTOCONF += --disable-video-vgl 
SDL_LIB_AUTOCONF += --disable-video-xbios 
SDL_LIB_AUTOCONF += --disable-video-gem   
SDL_LIB_AUTOCONF += --enable-video-dummy  
SDL_LIB_AUTOCONF += --enable-pthreads    
SDL_LIB_AUTOCONF += --enable-pthread-sem 
SDL_LIB_AUTOCONF += --enable-sigaction   
SDL_LIB_AUTOCONF += --disable-stdio-redirect
SDL_LIB_AUTOCONF += --disable-directx      
SDL_LIB_AUTOCONF += --disable-video-picogui
SDL_LIB_AUTOCONF += --enable-sdl-dlopen   
SDL_LIB_AUTOCONF += --disable-atari-ldg  
SDL_LIB_AUTOCONF += --enable-rpath      
SDL_LIB_AUTOCONF += --disable-mintaudio
SDL_LIB_AUTOCONF += --disable-video-photon
SDL_LIB_AUTOCONF += --enable-input-events

#
# FIXME
# the dependency generator doesn't work for conditional selects yet
#
sdl_prepare_deps  = $(STATEDIR)/sdl.extract
ifdef PTXCONF_SDL_ALSA
sdl_prepare_deps += $(STATEDIR)/alsa-lib.install
endif
ifdef PTXCONF_SDL_XORG
sdl_prepare_deps += $(STATEDIR)/xorg-lib-X11.install
sdl_prepare_deps += $(STATEDIR)/xorg-lib-Xt.install
sdl_prepare_deps += $(STATEDIR)/xorg-lib-Xv.install
sdl_prepare_deps += $(STATEDIR)/xorg-lib-XvMC.install
sdl_prepare_deps += $(STATEDIR)/xorg-lib-Xinerama.install
endif

$(STATEDIR)/sdl.prepare: $(sdl_prepare_deps)
	@$(call targetinfo, $@)
	@$(call clean, $(SDL_LIB_DIR)/config.cache)
	cd $(SDL_LIB_DIR) && \
		$(SDL_LIB_PATH) $(SDL_LIB_ENV) \
		./configure $(SDL_LIB_AUTOCONF)
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------

sdl_compile: $(STATEDIR)/sdl.compile

$(STATEDIR)/sdl.compile: $(sdl_compile_deps_default)
	@$(call targetinfo, $@)
	cd $(SDL_LIB_DIR) && $(SDL_LIB_PATH) make
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Install
# ----------------------------------------------------------------------------

sdl_install: $(STATEDIR)/sdl.install

$(STATEDIR)/sdl.install: $(sdl_install_deps_default)
	@$(call targetinfo, $@)
	@$(call install, SDL_LIB)
	# install sdl-config in bin dir
	mkdir -p $(PTXCONF_PREFIX)/bin
	cp $(SDL_LIB_DIR)/sdl-config $(PTXCONF_PREFIX)/bin/
	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

sdl_targetinstall: $(STATEDIR)/sdl.targetinstall

#
# FIXME
# the dependency generator doesn't work for conditional selects yet
#
sdl_targetinstall_deps  = $(STATEDIR)/sdl.install
ifdef PTXCONF_SDL_ALSA
sdl_targetinstall_deps += $(STATEDIR)/alsa-lib.targetinstall
endif
ifdef PTXCONF_SDL_XORG
sdl_targettargetinstall_deps += $(STATEDIR)/xorg-lib-X11.targetinstall
sdl_targettargetinstall_deps += $(STATEDIR)/xorg-lib-Xt.targetinstall
sdl_targettargetinstall_deps += $(STATEDIR)/xorg-lib-Xv.targetinstall
sdl_targettargetinstall_deps += $(STATEDIR)/xorg-lib-XvMC.targetinstall
sdl_targettargetinstall_deps += $(STATEDIR)/xorg-lib-Xinerama.targetinstall
endif


$(STATEDIR)/sdl.targetinstall: $(sdl_targetinstall_deps)
	@$(call targetinfo, $@)

	@$(call install_init, sdl)
	@$(call install_fixup, sdl,PACKAGE,sdl)
	@$(call install_fixup, sdl,PRIORITY,optional)
	@$(call install_fixup, sdl,VERSION,$(SDL_LIB_VERSION))
	@$(call install_fixup, sdl,SECTION,base)
	@$(call install_fixup, sdl,AUTHOR,"Erwin Rol <ero\@pengutronix.de>")
	@$(call install_fixup, sdl,DEPENDS,)
	@$(call install_fixup, sdl,DESCRIPTION,missing)

	@$(call install_copy, sdl, 0, 0, 0644, \
		$(SDL_LIB_DIR)/src/.libs/libSDL-1.2.so.0.7.2, \
		/usr/lib/libSDL-1.2.so.0.7.2)

	@$(call install_link, sdl, \
		libSDL-1.2.so.0.7.2, \
		/usr/lib/libSDL-1.2.so.0)

	@$(call install_link, sdl, \
		libSDL-1.2.so.0.7.2, \
		/usr/lib/libSDL-1.2.so)

	@$(call install_finish, sdl)

	@$(call touch, $@)

# ----------------------------------------------------------------------------
# Clean
# ----------------------------------------------------------------------------

sdl_clean:
	rm -rf $(STATEDIR)/sdl.*
	rm -rf $(IMAGEDIR)/sdl_*
	rm -rf $(SDL_LIB_DIR)

# vim: syntax=make