freebsd-ports/Mk/bsd.sdl.mk
Kirill Ponomarev 01c588a635 - Fix 'all-depends-list' target in cases if dependencies list is
very long and if some dependencies can't be added into the list.
  [1]

- Fix FAM support.  Make gamin the default FAM system. [2]

- Introduce new 'quicksearch' target to show only port, path and
  info section of the matching ports. [3]

- Introduce new category - rubygems. [4]

- Fix stale dependencies while installing qmail slaveport and
  another port that depends on qmail. [5]

- Add commentary for describes target in bsd.port.mk. [6]

- Fix warning issued during make index on archs !368. [7]

- Add USE_DOS2UNIX variable.  If set to "YES", remove the ^M from
  all files under ${WRKSRC}. If set to a string, remove in all files
  under ${WRKSRC} with one of these names the ^Ms. [8]

- Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by
  checking the existance of the Perl modules with the "perl -e 'use
  module;'" command. [9]

- Fix bsd.port.mk variable quoting issues.  No quoting is necessary
  anymore either in the Makefile or on the command line.  Affected
  variables include:

  BROKEN
  FORBIDDEN
  IGNORE
  MANUAL_PACKAGE_BUILD
  NO_CDROM
  NO_PACKAGE
  RESTRICTED

  [10]

- Add NOFETCHFILES variable.  If set, don't download these files
  from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from
  ${MASTER_SITE_OVERRIDE}). [11]

- Improve 'search' target output. [12]

- Add a new virtual category for Amateur Radio - hamradio. [13]

- Cleanup some old/unused pathes in bsd.port.mk. [14]

- Add @dirrmtry for plists which does the same as:
  "@unexec rmdir %D/foo 2>/dev/null || true" [15]

- Remove virtual category - offix. [16]

- Use portsnap instead of cvsup or cvs on "make update" in
  /usr/ports. [17]

- Move location of bsd.autotools.mk within bsd.port.mk [18]

- Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19]

- Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20]

- Replace the string "FreeBSD" by "The FreeBSD Project" in the
  security warning [21]

- Add bsd.local.mk for local modification to ports framework. [22]

- Replace rcNG spelling by rc.d [23]

- Remove superfluous USE_REINPLACE. [24]

Special thanks to:      linimon for spending hours with all these patches
                        clement for fixes
                        kris for help with pointyhat
PR:     ports/86310 [1], ports/89498 [2], ports/83530 [3],
        ports/83789 [4], ports/84053 [5], ports/86281 [6],
        ports/87214 [7], ports/87234 [8], ports/87318 [9],
        ports/87396 [10], ports/87605 [11], ports/87840 [12],
        ports/88230 [13], ports/88493 [14], ports/88711 [15],
        ports/88751 [16], ports/89281 [17], ports/89999 [18],
        ports/90031 [19], ports/90150 [20], ports/90668 [21],
        ports/91433 [23], ports/88754 [24]
Submitted by:   mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3],
                pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7],
                edwin [8, 9, 11, 15, 21],
                fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12],
                Carl Makin <carl@stagecraft.cx> [13], arved [14],
                NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18],
                jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00

181 lines
3.9 KiB
Makefile

#-*- 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.
#
# If you want to check for the availability for certain SDL ports, you
# can set WANT_SDL and run it through bsd.port.pre.mk:
# WANT_SDL= yes
# USE_SDL= sdl
# .include <bsd.port.pre.mk>
# .if ${HAVE_SDL:Mgraphics}
# USE_SDL+= graphics
# .endif
# .include <bsd.port.post.mk>
# Run "make -V USE_SDL" to see which libs are asked for at the end.
#
#
# $FreeBSD$
#
SDL_Include_MAINTAINER= edwin@FreeBSD.org
#
# These are the current supported SDL modules
#
_USE_SDL_ALL= gfx gui image mixer mm net sdl sound ttf
#
# 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= 13
_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_mixer= 2
_SUBDIR_mixer= audio
_REQUIRES_mixer=sdl
_VERSION_mm= 8
_SUBDIR_mm= devel
_LIB_mm= SDLmm
_PORTDIR_mm= sdlmm
_REQUIRES_mm= sdl
_VERSION_net= 0
_SUBDIR_net= net
_REQUIRES_net= sdl
_VERSION_sdl= 7
_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
#
# If WANT_SDL is defined, check for the available libraries
#
.if !defined(AFTERPORTMK)
.if !defined(SDL_Include_pre)
SDL_Include_pre= bsd.sdl.mk
HAVE_SDL?=
.if defined(WANT_SDL)
.for component in ${_USE_SDL_ALL}
.if exists(${LOCALBASE}/lib/lib${_LIB_${component}}.so.${_VERSION_${component}})
HAVE_SDL+= ${component}
.endif
.endfor
.endif
.endif
.endif
#
# If USE_SDL is defined, make dependencies for the libraries
#
.if !defined(BEFOREPORTMK)
.if !defined(SDL_Include_post)
.if defined(USE_SDL)
SDL_Include_post= bsd.sdl.mk
#
# Keep some backward compatibility
#
.if ${USE_SDL}=="yes"
USE_SDL= sdl
.endif
#
# 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
.endif
.endif