Changeset View
Changeset View
Standalone View
Standalone View
head/games/ioquake3/Makefile
# Created by: alepulver | # Created by: alepulver | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME?= ioquake3 | PORTNAME?= ioquake3 | ||||
DISTVERSION?= 1.36 | DISTVERSION?= 1.36 | ||||
PORTREVISION?= 15 | PORTREVISION?= 15 | ||||
CATEGORIES= games | CATEGORIES= games | ||||
MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/ | MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/ | ||||
# Using zip this way enables slaves to override it. | # Using zip this way enables slaves to override it. | ||||
EXTRACT_SUFX?= .zip | EXTRACT_SUFX?= .zip | ||||
MAINTAINER?= kamikaze@bsdforen.de | MAINTAINER?= kami@freebsd.org | ||||
COMMENT?= Cleaned-up and enhanced version of Quake 3 | COMMENT?= Cleaned-up and enhanced version of Quake 3 | ||||
LICENSE?= GPLv2 | |||||
LICENSE_FILE?= ${WRKSRC}/COPYING.txt | |||||
USES= pkgconfig gmake | USES= pkgconfig gmake | ||||
# Port configuration flags: | # Port configuration flags: | ||||
# CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2 | # CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2 | ||||
IOQ3?= CLIENT TOOLS GAMELIBS | IOQ3?= CLIENT TOOLS GAMELIBS | ||||
IOQ3ARCH?= ${ARCH} | IOQ3ARCH?= ${ARCH} | ||||
IOQ3SDL?= sdl | |||||
.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER} | .if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER} | ||||
BROKEN= Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER | BROKEN= Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER | ||||
.endif | .endif | ||||
# Client options | # Client options | ||||
.if ${IOQ3:MCLIENT} | .if ${IOQ3:MCLIENT} | ||||
OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG | OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG | ||||
OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS | OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS | ||||
SERVER_DESC= Install dedicated server | SERVER_DESC= Install dedicated server | ||||
MUMBLE_DESC= Enable Mumble support (no dependencies) | MUMBLE_DESC= Enable Mumble support (no dependencies) | ||||
.endif | .endif | ||||
.if ${IOQ3:MTOOLS} | IOQ3_OPTIONS= ${IOQ3:MTOOLS} ${IOQ3:MDLRENDERER} ${IOQ3:MGAMELIBS} \ | ||||
OPTIONS_DEFINE+= TOOLS | ${IOQ3:MOPUS} | ||||
OPTIONS_DEFAULT+= TOOLS | OPTIONS_DEFINE+= ${IOQ3_OPTIONS} DOCS | ||||
OPTIONS_DEFAULT+= ${IOQ3_OPTIONS} | |||||
TOOLS_DESC= Enable modding tools | TOOLS_DESC= Enable modding tools | ||||
.endif | |||||
.if ${IOQ3:MDLRENDERER} | |||||
OPTIONS_DEFINE+= DLRENDERER | |||||
OPTIONS_DEFAULT+= DLRENDERER | |||||
DLRENDERER_DESC= Build dynamically loaded renderer | DLRENDERER_DESC= Build dynamically loaded renderer | ||||
.endif | |||||
.if ${IOQ3:MGAMELIBS} | |||||
OPTIONS_DEFINE+= GAMELIBS | |||||
OPTIONS_DEFAULT+= GAMELIBS | |||||
GAMELIBS_DESC= Build game libraries | GAMELIBS_DESC= Build game libraries | ||||
.endif | |||||
.if ${IOQ3:MOPUS} | |||||
OPTIONS_DEFINE+= OPUS | |||||
OPTIONS_DEFAULT+= OPUS | |||||
.endif | |||||
OPTIONS_DEFINE+=DOCS | |||||
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \ | MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \ | ||||
DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \ | DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \ | ||||
HOMEPATH="${HOMEPATH}" \ | HOMEPATH="${HOMEPATH}" \ | ||||
VERSION="${Q3ENGINEVER}" \ | VERSION="${Q3ENGINEVER}" \ | ||||
ARCH="${IOQ3ARCH}" \ | ARCH="${IOQ3ARCH}" \ | ||||
TOOLS_CC="${CC}" \ | TOOLS_CC="${CC}" \ | ||||
USE_LOCAL_HEADERS=0 | USE_LOCAL_HEADERS=0 | ||||
Show All 25 Lines | |||||
.else | .else | ||||
Q3RENDERER?= renderer_opengl1_${IOQ3ARCH} | Q3RENDERER?= renderer_opengl1_${IOQ3ARCH} | ||||
.endif | .endif | ||||
Q3INSTALL?= | Q3INSTALL?= | ||||
Q3ENGINEVER?= ${DISTVERSION} | Q3ENGINEVER?= ${DISTVERSION} | ||||
ONLY_FOR_ARCHS= amd64 i386 | ONLY_FOR_ARCHS= amd64 i386 | ||||
DEBUG_VARS= ALL_TARGET=debug | |||||
SERVER_RUN_DEPENDS= ${Q3SERVER}${BINSUFFIX}:games/${PORTNAME}-server | |||||
CURL_LIB_DEPENDS= libcurl.so:ftp/curl | |||||
CURL_MAKE_ARGS= USE_CURL=1 USE_CURL_DLOPEN=0 | |||||
CURL_MAKE_ARGS_OFF= USE_CURL=0 | |||||
OPENAL_USES= openal:al | |||||
OPENAL_MAKE_ARGS= USE_OPENAL=1 USE_OPENAL_DLOPEN=0 | |||||
OPENAL_MAKE_ARGS_OFF= USE_OPENAL=0 | |||||
VORBIS_VARS= NEED_OGG=yes | |||||
VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis | |||||
VORBIS_MAKE_ARGS= USE_CODEC_VORBIS=1 | |||||
VORBIS_MAKE_ARGS_OFF= USE_CODEC_VORBIS=0 | |||||
OPUS_VARS= NEED_OGG=yes | |||||
OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile \ | |||||
libopus.so:audio/opus | |||||
OPUS_MAKE_ARGS= USE_CODEC_OPUS=1 USE_INTERNAL_OPUS=0 | |||||
OPUS_MAKE_ARGS_OFF= USE_CODEC_OPUS=0 | |||||
MUMBLE_MAKE_ARGS= USE_MUMBLE=1 | |||||
MUMBLE_MAKE_ARGS_OFF= USE_MUMBLE=0 | |||||
GAMELIBS_MAKE_ARGS= BUILD_GAME_SO=1 | |||||
GAMELIBS_MAKE_ARGS_OFF= BUILD_GAME_SO=0 | |||||
# Note that SMP is only supported on OS-X, hence the option has been removed. | |||||
SMP_VARS= Q3BIN+=${Q3CLIENT}-smp | |||||
SMP_MAKE_ARGS= BUILD_CLIENT_SMP=1 | |||||
SMP_MAKE_ARGS_OFF= BUILD_CLIENT_SMP=0 | |||||
DLRENDERER_MAKE_ARGS= USE_RENDERER_DLOPEN=1 | |||||
DLRENDERER_MAKE_ARGS_OFF= USE_RENDERER_DLOPEN=0 | |||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
.if ${PORT_OPTIONS:MDEBUG} | |||||
ALL_TARGET= debug | |||||
.endif | |||||
.if ${PORT_OPTIONS:MSERVER} | |||||
RUN_DEPENDS+= ${Q3SERVER}${BINSUFFIX}:games/${PORTNAME}-server | |||||
.endif | |||||
.if !defined(DESKTOP_ENTRIES) | .if !defined(DESKTOP_ENTRIES) | ||||
. if ${IOQ3:MCLIENT} | . if ${IOQ3:MCLIENT} | ||||
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \ | DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \ | ||||
"${Q3ICON}" \ | "${Q3ICON}" "${Q3CLIENT}${BINSUFFIX}" "Game;" false | ||||
"${Q3CLIENT}${BINSUFFIX}" "Game;" false | |||||
. endif | . endif | ||||
. if ${PORT_OPTIONS:MSMP} | . if ${PORT_OPTIONS:MSMP} | ||||
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER} SMP" "${COMMENT}" \ | DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER} SMP" "${COMMENT}" \ | ||||
"${Q3ICON}" \ | "${Q3ICON}" "${Q3CLIENT}-smp${BINSUFFIX}" "Game;" false | ||||
"${Q3CLIENT}-smp${BINSUFFIX}" "Game;" false | |||||
. endif | . endif | ||||
.endif | .endif | ||||
.if ${IOQ3:MCLIENT} | .if ${IOQ3:MCLIENT} | ||||
MAKE_ARGS+= BUILD_CLIENT=1 | MAKE_ARGS+= BUILD_CLIENT=1 | ||||
Q3BIN+= ${Q3CLIENT} | Q3BIN+= ${Q3CLIENT} | ||||
USE_SDL= sdl | USE_SDL= ${IOQ3SDL} | ||||
.else | .else | ||||
MAKE_ARGS+= BUILD_CLIENT=0 | MAKE_ARGS+= BUILD_CLIENT=0 | ||||
.endif | .endif | ||||
.if ${IOQ3:MSERVER} | .if ${IOQ3:MSERVER} | ||||
MAKE_ARGS+= BUILD_SERVER=1 | MAKE_ARGS+= BUILD_SERVER=1 | ||||
Q3BIN+= ${Q3SERVER} | Q3BIN+= ${Q3SERVER} | ||||
.else | .else | ||||
MAKE_ARGS+= BUILD_SERVER=0 | MAKE_ARGS+= BUILD_SERVER=0 | ||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MCURL} | |||||
LIB_DEPENDS+= libcurl.so:ftp/curl | |||||
MAKE_ARGS+= USE_CURL=1 USE_CURL_DLOPEN=0 | |||||
.else | |||||
MAKE_ARGS+= USE_CURL=0 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MOPENAL} | |||||
USES+= openal:al | |||||
MAKE_ARGS+= USE_OPENAL=1 USE_OPENAL_DLOPEN=0 | |||||
.else | |||||
MAKE_ARGS+= USE_OPENAL=0 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MVORBIS} | |||||
NEED_OGG= yes | |||||
LIB_DEPENDS+= libvorbis.so:audio/libvorbis | |||||
MAKE_ARGS+= USE_CODEC_VORBIS=1 | |||||
.else | |||||
MAKE_ARGS+= USE_CODEC_VORBIS=0 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MOPUS} | |||||
NEED_OGG= yes | |||||
LIB_DEPENDS+= libopusfile.so:audio/opusfile \ | |||||
libopus.so:audio/opus | |||||
MAKE_ARGS+= USE_CODEC_OPUS=1 USE_INTERNAL_OPUS=0 | |||||
.else | |||||
MAKE_ARGS+= USE_CODEC_OPUS=0 | |||||
.endif | |||||
.if defined(NEED_OGG) | .if defined(NEED_OGG) | ||||
LIB_DEPENDS+= libogg.so:audio/libogg | LIB_DEPENDS+= libogg.so:audio/libogg | ||||
MAKE_ARGS+= USE_INTERNAL_OGG=0 | MAKE_ARGS+= USE_INTERNAL_OGG=0 | ||||
.endif | |||||
.if ${PORT_OPTIONS:MMUMBLE} | |||||
MAKE_ARGS+= USE_MUMBLE=1 | |||||
.else | |||||
MAKE_ARGS+= USE_MUMBLE=0 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MGAMELIBS} | |||||
MAKE_ARGS+= BUILD_GAME_SO=1 | |||||
.else | |||||
MAKE_ARGS+= BUILD_GAME_SO=0 | |||||
.endif | |||||
# Note that SMP is only supported on OS-X, hence the option has been removed. | |||||
.if ${PORT_OPTIONS:MSMP} | |||||
MAKE_ARGS+= BUILD_CLIENT_SMP=1 | |||||
Q3BIN+= ${Q3CLIENT}-smp | |||||
.else | |||||
MAKE_ARGS+= BUILD_CLIENT_SMP=0 | |||||
.endif | |||||
.if ${PORT_OPTIONS:MDLRENDERER} | |||||
MAKE_ARGS+= USE_RENDERER_DLOPEN=1 | |||||
. if ${IOQ3:MOPENGL2} | |||||
Q3DOCS+= opengl2-readme.txt | |||||
. endif | |||||
.else | |||||
MAKE_ARGS+= USE_RENDERER_DLOPEN=0 | |||||
.endif | .endif | ||||
# Generate a set of install instruction tuples: <cmd>;<src>;<dst> | # Generate a set of install instruction tuples: <cmd>;<src>;<dst> | ||||
.for bin in ${Q3BIN} | .for bin in ${Q3BIN} | ||||
IOQ3_INST+= PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX} | IOQ3_INST+= PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX} | ||||
.endfor | .endfor | ||||
.if ${PORT_OPTIONS:MTOOLS} | .if ${PORT_OPTIONS:MTOOLS} | ||||
. for bin in ${Q3TOOLS} | . for bin in ${Q3TOOLS} | ||||
▲ Show 20 Lines • Show All 46 Lines • Show Last 20 Lines |