summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2004-01-20 09:14:50 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2004-01-20 09:14:50 +0000
commitadb227d8a9cf3ae647e267d27b725ad3a64abba5 (patch)
tree00eea57ea625b808a92756d48c40c9787d7d64f8 /Mk
parentHere come the patches! (diff)
Actually add bsd.sdl.mk from the previous commit.
Notes
Notes: svn path=/head/; revision=98635
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.sdl.mk144
1 files changed, 144 insertions, 0 deletions
diff --git a/Mk/bsd.sdl.mk b/Mk/bsd.sdl.mk
new file mode 100644
index 000000000000..47476154f42f
--- /dev/null
+++ b/Mk/bsd.sdl.mk
@@ -0,0 +1,144 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# bsd.sdl.mk - Support for SDL-based ports.
+#
+# Created by: Edwin Groothuis <edwin@freebsd.org>
+#
+# For FreeBSD committers:
+# - Changes in the version number of the shared libraries are encouraged.
+# - For the rest, please try to run them via the maintainer but feel free
+# to commit themselves if nothing breaks.
+#
+# For ports-developers:
+# If your port needs SDL or one of the SDL modules, you can easily
+# include them with the "USE_SDL=" statement. For example if you need
+# the standard SDL and SDL_sound, use "USE_SDL=sdl sound" and the
+# required libraries are included in your LIB_DEPENDS.
+#
+
+#
+# $FreeBSD$
+#
+
+.if !defined(SDL_Include)
+
+SDL_Include= bsd.sdl.mk
+SDL_Include_MAINTAINER= edwin@FreeBSD.org
+
+#
+# These are the current supported SDL modules
+#
+_USE_SDL_ALL= gfx gui image mixer ldbad mm net sdl sound ttf
+
+#
+# Keep some backward compatibility
+#
+.if ${USE_SDL}=="yes"
+USE_SDL=sdl
+.endif
+
+#
+# Variables used to determine what is needed:
+# _VERSION_xxx version of the shared library (required)
+# _SUBDIR_xxx subdirectory below ${PORTSDIR} (required)
+# _PORTDIR_xxx subdirectory below ${PORTSDIR}/${_SUBDIR_xxx}, default sdl_xxx
+# _LIB_xxx name of the shared lib, default SDL_xxx
+# _REQUIRES_xxx also needs these SDL libraries
+#
+
+_VERSION_gfx= 10
+_SUBDIR_gfx= graphics
+_REQUIRES_gfx= sdl
+
+_VERSION_gui= 0
+_SUBDIR_gui= x11-toolkits
+_REQUIRES_gui= sdl image ttf
+
+_VERSION_image= 10
+_SUBDIR_image= graphics
+_REQUIRES_image=sdl
+
+_VERSION_ldbad= 4
+_SUBDIR_ldbad= devel
+_REQUIRES_ldbad=sdl
+
+_VERSION_mixer= 2
+_SUBDIR_mixer= audio
+_REQUIRES_mixer=sdl
+
+_VERSION_mm= 8
+_SUBDIR_mm= devel
+_LIB_mm= SDLmm
+_REQUIRES_mm= sdl
+
+_VERSION_net= 0
+_SUBDIR_net= net
+_REQUIRES_net= sdl
+
+_VERSION_sdl= 5
+_SUBDIR_sdl= devel
+_LIB_sdl= SDL-1.1
+_PORTDIR_sdl= sdl12
+
+_VERSION_sound= 1
+_SUBDIR_sound= audio
+_LIB_sound= SDL_sound-1.0
+_REQUIRES_sound=sdl
+
+_VERSION_ttf= 3
+_SUBDIR_ttf= graphics
+_REQUIRES_ttf= sdl
+
+#
+# Update the variables if they need the default values.
+#
+.for component in ${_USE_SDL_ALL}
+. if !defined(_LIB_${component})
+_LIB_${component}=SDL_${component}
+. endif
+. if !defined(_PORTDIR_${component})
+_PORTDIR_${component}=sdl_${component}
+. endif
+. if !defined(_REQUIRES_${component})
+_REQUIRES_${component}=
+. endif
+.endfor
+
+#
+# Check if all the values given in USE_SDL are valid.
+#
+_USE_SDL=
+.for component in ${USE_SDL}
+. if ${_USE_SDL_ALL:M${component}}==""
+BROKEN= "Unknown SDL component ${component}"
+. endif
+_USE_SDL+= ${_REQUIRES_${component}} ${component}
+.endfor
+
+#
+# Uniquefy[sp] the list of libs required
+#
+__USE_SDL=
+.for component in ${_USE_SDL}
+. if ${__USE_SDL:M${component}}==""
+__USE_SDL+= ${component}
+. endif
+.endfor
+
+#
+# Finally make the list of libs required
+#
+.for component in ${__USE_SDL}
+LIB_DEPENDS+= ${_LIB_${component}}.${_VERSION_${component}}:${PORTSDIR}/${_SUBDIR_${component}}/${_PORTDIR_${component}}
+.endfor
+
+#
+# "Normal" dependencies and variables
+#
+BUILD_DEPENDS+= ${SDL_CONFIG}:${PORTSDIR}/${_SUBDIR_sdl}/${_PORTDIR_sdl}
+SDL_CONFIG?= ${LOCALBASE}/bin/sdl11-config
+CONFIGURE_ENV+= SDL_CONFIG=${SDL_CONFIG}
+MAKE_ENV+= SDL_CONFIG=${SDL_CONFIG}
+
+.endif