mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
4a5c97cd51
The patch applied without incident. Tested on DragonFly poudriere, everything built fine. It include an i386 fix, which is why the previous commit was reverted. The only modification was to change EXTRACT_CMD to TAR in a couple of places. PR: ports/187859 submitted by; maintainer (Dominic Fandrey)
254 lines
5.6 KiB
Makefile
254 lines
5.6 KiB
Makefile
# Created by: alepulver
|
|
# $FreeBSD$
|
|
|
|
PORTNAME?= ioquake3
|
|
DISTVERSION?= 1.36
|
|
PORTREVISION?= 13
|
|
CATEGORIES= games
|
|
MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/
|
|
# Using zip this way enables slaves to override it.
|
|
EXTRACT_SUFX?= .zip
|
|
|
|
MAINTAINER?= kamikaze@bsdforen.de
|
|
COMMENT?= Cleaned-up and enhanced version of Quake 3
|
|
|
|
USES= pkgconfig gmake
|
|
|
|
# Port configuration flags:
|
|
# CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2
|
|
IOQ3?= CLIENT TOOLS GAMELIBS
|
|
IOQ3ARCH?= ${ARCH}
|
|
|
|
.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER}
|
|
BROKEN= Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER
|
|
.endif
|
|
|
|
# Client options
|
|
.if ${IOQ3:MCLIENT}
|
|
OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG
|
|
OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS
|
|
SERVER_DESC= Install dedicated server
|
|
MUMBLE_DESC= Enable Mumble support (no dependencies)
|
|
.endif
|
|
.if ${IOQ3:MTOOLS}
|
|
OPTIONS_DEFINE+= TOOLS
|
|
OPTIONS_DEFAULT+= TOOLS
|
|
TOOLS_DESC= Enable modding tools
|
|
.endif
|
|
.if ${IOQ3:MDLRENDERER}
|
|
OPTIONS_DEFINE+= DLRENDERER
|
|
OPTIONS_DEFAULT+= DLRENDERER
|
|
DLRENDERER_DESC= Build dynamically loaded renderer
|
|
.endif
|
|
.if ${IOQ3:MGAMELIBS}
|
|
OPTIONS_DEFINE+= GAMELIBS
|
|
OPTIONS_DEFAULT+= GAMELIBS
|
|
GAMELIBS_DESC= Build game libraries
|
|
.endif
|
|
.if ${IOQ3:MOPUS}
|
|
OPTIONS_DEFINE+= OPUS
|
|
OPTIONS_DEFAULT+= OPUS
|
|
OPUS_DESC= Opus audio codec support
|
|
.endif
|
|
|
|
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \
|
|
DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \
|
|
HOMEPATH="${HOMEPATH}" \
|
|
VERSION="${Q3ENGINEVER}" \
|
|
ARCH="${IOQ3ARCH}" \
|
|
TOOLS_CC="${CC}" \
|
|
USE_LOCAL_HEADERS=0
|
|
ALL_TARGET= release
|
|
|
|
LIBDIR= lib/${PORTNAME}${PKGNAMESUFFIX}
|
|
DOCSDIR= share/doc/${PORTNAME}${PKGNAMESUFFIX}
|
|
BUILDDIR= ${WRKSRC}/build/${ALL_TARGET}-freebsd-${IOQ3ARCH}
|
|
BINSUFFIX?=
|
|
HOMEPATH?= /.${PORTNAME}
|
|
Q3CLIENT?= ioquake3
|
|
Q3SERVER?= ioq3ded
|
|
Q3TOOLS?= q3asm \
|
|
q3cpp \
|
|
q3lcc \
|
|
q3rcc
|
|
Q3DOCS?= README \
|
|
id-readme.txt \
|
|
md4-readme.txt \
|
|
voip-readme.txt
|
|
Q3BASE?= baseq3 \
|
|
missionpack
|
|
Q3GAMELIBS?= cgame \
|
|
qagame \
|
|
ui
|
|
Q3ICON?= ${PREFIX}/share/pixmaps/quake3.xpm
|
|
.if ${IOQ3:MOPENGL2}
|
|
Q3RENDERER?= renderer_opengl1_${IOQ3ARCH} renderer_opengl2_${IOQ3ARCH}
|
|
.else
|
|
Q3RENDERER?= renderer_opengl1_${IOQ3ARCH}
|
|
.endif
|
|
Q3INSTALL?=
|
|
Q3ENGINEVER?= ${DISTVERSION}
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MDEBUG}
|
|
ALL_TARGET= debug
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSERVER}
|
|
RUN_DEPENDS+= ${Q3SERVER}${BINSUFFIX}:${PORTSDIR}/games/${PORTNAME}-server
|
|
.endif
|
|
|
|
.if !defined(DESKTOP_ENTRIES)
|
|
. if ${IOQ3:MCLIENT}
|
|
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \
|
|
"${Q3ICON}" \
|
|
"${Q3CLIENT}${BINSUFFIX}" "Game;" false
|
|
. endif
|
|
. if ${PORT_OPTIONS:MSMP}
|
|
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER} SMP" "${COMMENT}" \
|
|
"${Q3ICON}" \
|
|
"${Q3CLIENT}-smp${BINSUFFIX}" "Game;" false
|
|
. endif
|
|
.endif
|
|
|
|
.if ${IOQ3:MCLIENT}
|
|
MAKE_ARGS+= BUILD_CLIENT=1
|
|
Q3BIN+= ${Q3CLIENT}
|
|
USE_SDL= sdl
|
|
.else
|
|
MAKE_ARGS+= BUILD_CLIENT=0
|
|
.endif
|
|
|
|
.if ${IOQ3:MSERVER}
|
|
MAKE_ARGS+= BUILD_SERVER=1
|
|
Q3BIN+= ${Q3SERVER}
|
|
.else
|
|
MAKE_ARGS+= BUILD_SERVER=0
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCURL}
|
|
LIB_DEPENDS+= libcurl.so:${PORTSDIR}/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:${PORTSDIR}/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:${PORTSDIR}/audio/opusfile \
|
|
libopus.so:${PORTSDIR}/audio/opus
|
|
MAKE_ARGS+= USE_CODEC_OPUS=1 USE_INTERNAL_OPUS=0
|
|
.else
|
|
MAKE_ARGS+= USE_CODEC_OPUS=0
|
|
.endif
|
|
|
|
.if defined(NEED_OGG)
|
|
LIB_DEPENDS+= libogg.so:${PORTSDIR}/audio/libogg
|
|
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
|
|
|
|
# Generate a set of install instruction tuples: <cmd>;<src>;<dst>
|
|
.for bin in ${Q3BIN}
|
|
IOQ3_INST+= PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX}
|
|
.endfor
|
|
.if ${PORT_OPTIONS:MTOOLS}
|
|
. for bin in ${Q3TOOLS}
|
|
IOQ3_INST+= PROGRAM;tools/${bin};bin/${bin}${BINSUFFIX}
|
|
. endfor
|
|
.endif
|
|
.if ${PORT_OPTIONS:MDLRENDERER}
|
|
. for renderer in ${Q3RENDERER}
|
|
IOQ3_INST+= LIB;${renderer}.so;${LIBDIR}/${renderer}.so
|
|
. endfor
|
|
.endif
|
|
.if ${PORT_OPTIONS:MGAMELIBS}
|
|
. for dir in ${Q3BASE}
|
|
PLIST_DIRS+= ${LIBDIR}/${dir}
|
|
. for lib in ${Q3GAMELIBS}
|
|
IOQ3_INST+= LIB;${dir}/${lib}${IOQ3ARCH}.so;${LIBDIR}/${dir}/${lib}${IOQ3ARCH}.so
|
|
. endfor
|
|
. endfor
|
|
.endif
|
|
.if ${PORT_OPTIONS:MDLRENDERER} || ${PORT_OPTIONS:MGAMELIBS}
|
|
PLIST_DIRS+= ${LIBDIR}
|
|
.endif
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
PLIST_DIRS+= ${DOCSDIR}
|
|
. for doc in ${Q3DOCS}
|
|
IOQ3_INST+= DATA;../../${doc};${DOCSDIR}/${doc}
|
|
. endfor
|
|
.endif
|
|
|
|
# Generate PLIST_FILES
|
|
.for inst in ${IOQ3_INST}
|
|
PLIST_FILES+= ${inst:C/.*;//}
|
|
.endfor
|
|
|
|
# Generate install target
|
|
do-install: ${Q3INSTALL}
|
|
.for dir in ${PLIST_DIRS}
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/${dir}
|
|
.endfor
|
|
.for inst in ${IOQ3_INST}
|
|
${INSTALL_${inst:C/;.*//}} ${BUILDDIR}/${inst:C/[^;]*;//:C/;.*//} \
|
|
${STAGEDIR}${PREFIX}/${inst:C/.*;//}
|
|
.endfor
|
|
|
|
post-install:
|
|
@${JOT} -s '' -b= 78
|
|
@${CAT} ${PKGMESSAGE}
|
|
@${JOT} -s '' -b= 78
|
|
|
|
.if !defined(Q3TOTALCONV)
|
|
.include "${.CURDIR}/../quake3-data/Makefile.include"
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|