mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-13 03:03:15 +00:00
217 lines
5.2 KiB
Makefile
217 lines
5.2 KiB
Makefile
# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= qudos
|
|
PORTVERSION= 0.40.1
|
|
PORTREVISION= 18
|
|
CATEGORIES= games
|
|
MASTER_SITES= http://www.bfeared.com/library/quake/archive/quakedev/qudos/quake2/engines/QuDos/
|
|
DISTNAME= QuDos-${PORTVERSION}-src
|
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
|
|
QuDos-${PORTVERSION}.pk3
|
|
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= danfe@FreeBSD.org
|
|
COMMENT= Enhanced OpenGL-only Quake II engine
|
|
|
|
USES= gmake tar:bzip2
|
|
MAKE_ENV= WITH_DATADIR=YES WITH_LIBDIR=YES WITH_XMMS=NO \
|
|
DATADIR="${Q2DIR}" LIBDIR="${LIBDIR}" BUILD_ARTS_SND=NO
|
|
PLIST_SUB= LIBDIR="${LIBDIR:S,${PREFIX}/,,}" VER="${PORTVERSION}"
|
|
LIBDIR= ${PREFIX}/lib/${PORTNAME}
|
|
|
|
MOD_LIST= 3ZB2 CTF JABOT ROGUE XATRIX ZAERO
|
|
|
|
OPTIONS_DEFINE= 3ZB2 BOTS CLIENT CTF DEDICATED GAME GAME_MOD \
|
|
GLX IPV6 JABOT JOYSTICK OSS QMAX REDBLUE RETEXTURE \
|
|
ROGUE SDL SDLGL XATRIX ZAERO DOCS
|
|
OPTIONS_DEFINE_i386= ASM
|
|
OPTIONS_DEFINE_amd64= ASM
|
|
OPTIONS_DEFAULT_i386= ASM
|
|
OPTIONS_DEFAULT_amd64= ASM
|
|
|
|
OPTIONS_DEFAULT= 3ZB2 BOTS CLIENT DEDICATED GAME_MOD GLX JOYSTICK OSS \
|
|
QMAX SDL SDLGL
|
|
|
|
3ZB2_DESC= Build 3zb2 mod (bots)
|
|
BOTS_DESC= Ace Bot support in mods
|
|
CLIENT_DESC= Build client
|
|
CTF_DESC= Build CTF (Capture The Flag) mod
|
|
DEDICATED_DESC= Build dedicated server
|
|
GAME_DESC= Build main game (default mod)
|
|
GAME_MOD_DESC= Add custom add-ons to the main game
|
|
JABOT_DESC= Build JABot mod (bots)
|
|
JOYSTICK_DESC= Joystick support
|
|
QMAX_DESC= Enable fancier OpenGL graphics
|
|
REDBLUE_DESC= Enable red-blue 3D glasses renderer
|
|
RETEXTURE_DESC= Retextured graphics support
|
|
ROGUE_DESC= Build Ground Zero (Rogue) mission pack
|
|
SDLGL_DESC= Build SDL OpenGL renderer
|
|
XATRIX_DESC= Build The Reckoning (Xatrix) mission pack
|
|
ZAERO_DESC= Build Zaero mission pack
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.for mod in ${MOD_LIST}
|
|
. if ${PORT_OPTIONS:M${mod}}
|
|
MAKE_ENV+= BUILD_${mod}=YES
|
|
PLIST_SUB+= ${mod}=""
|
|
. else
|
|
MAKE_ENV+= BUILD_${mod}=NO
|
|
PLIST_SUB+= ${mod}="@comment "
|
|
. endif
|
|
.endfor
|
|
|
|
.if ${PORT_OPTIONS:MGLX} || ${PORT_OPTIONS:MSDLGL}
|
|
USES+= jpeg
|
|
USE_GL= glu
|
|
LIB_DEPENDS+= libpng.so:${PORTSDIR}/graphics/png
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSDL} || ${PORT_OPTIONS:MSDLGL}
|
|
USE_SDL= sdl
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCLIENT}
|
|
LIB_DEPENDS+= libvorbis.so:${PORTSDIR}/audio/libvorbis
|
|
MAKE_ENV+= BUILD_QUAKE2=YES
|
|
PLIST_SUB+= CLIENT=""
|
|
Q2BIN+= ${PORTNAME}
|
|
.else
|
|
MAKE_ENV+= BUILD_QUAKE2=NO
|
|
PLIST_SUB+= CLIENT="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MDEDICATED}
|
|
MAKE_ENV+= BUILD_DEDICATED=YES
|
|
PLIST_SUB+= DEDICATED=""
|
|
Q2BIN+= ${PORTNAME}-ded
|
|
.else
|
|
MAKE_ENV+= BUILD_DEDICATED=NO
|
|
PLIST_SUB+= DEDICATED="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MGAME}
|
|
MAKE_ENV+= BUILD_GAME=YES
|
|
PLIST_SUB+= GAME=""
|
|
.else
|
|
MAKE_ENV+= BUILD_GAME=NO
|
|
PLIST_SUB+= GAME="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MGAME_MOD}
|
|
MAKE_ENV+= WITH_GAME_MOD=YES
|
|
.else
|
|
MAKE_ENV+= WITH_GAME_MOD=NO
|
|
.endif
|
|
|
|
.for opt in GLX SDLGL
|
|
. if ${PORT_OPTIONS:M${opt}}
|
|
MAKE_ENV+= BUILD_${opt}=YES
|
|
PLIST_SUB+= ${opt}=""
|
|
Q2REF+= ${opt:tl}
|
|
. else
|
|
MAKE_ENV+= BUILD_${opt}=NO
|
|
PLIST_SUB+= ${opt}="@comment "
|
|
. endif
|
|
.endfor
|
|
|
|
.if ${PORT_OPTIONS:MIPV6}
|
|
MAKE_ENV+= WITH_IPV6=YES
|
|
.else
|
|
MAKE_ENV+= WITH_IPV6=NO
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MJOYSTICK}
|
|
MAKE_ENV+= WITH_JOYSTICK=YES
|
|
.else
|
|
MAKE_ENV+= WITH_JOYSTICK=NO
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MOSS}
|
|
MAKE_ENV+= BUILD_OSS_SND=YES
|
|
PLIST_SUB+= OSS=""
|
|
Q2SND+= oss
|
|
.else
|
|
MAKE_ENV+= BUILD_OSS_SND=NO
|
|
PLIST_SUB+= OSS="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MQMAX}
|
|
MAKE_ENV+= WITH_QMAX=YES
|
|
.else
|
|
MAKE_ENV+= WITH_QMAX=NO
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MREDBLUE}
|
|
MAKE_ENV+= WITH_REDBLUE=YES
|
|
.else
|
|
MAKE_ENV+= WITH_REDBLUE=NO
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MRETEXTURE}
|
|
MAKE_ENV+= WITH_RETEXTURE=YES
|
|
.else
|
|
MAKE_ENV+= WITH_RETEXTURE=NO
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSDL}
|
|
MAKE_ENV+= BUILD_SDL_SND=YES
|
|
PLIST_SUB+= SDL=""
|
|
Q2SND+= sdl
|
|
.else
|
|
MAKE_ENV+= BUILD_SDL_SND=NO
|
|
PLIST_SUB+= SDL="@comment "
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MASM}
|
|
MAKE_ENV+= WITH_X86_ASM=YES
|
|
.else
|
|
MAKE_ENV+= WITH_X86_ASM=NO
|
|
.endif
|
|
|
|
post-patch:
|
|
# Resolve name collision with jpeg-8
|
|
@${REINPLACE_CMD} -e 's|jpeg_mem_src|local_jpeg_mem_src|' \
|
|
${WRKSRC}/src/ref_gl/gl_image.c
|
|
# Remove controversial options unsupported by modern compilers (e.g. Clang)
|
|
@${REINPLACE_CMD} -e 's|-falign-loops=2 -falign-jumps=2 ||' \
|
|
${WRKSRC}/src/ref_gl/Makefile ${WRKSRC}/Makefile
|
|
|
|
post-build:
|
|
.for bin in ${Q2BIN}
|
|
@cd ${WRKSRC}/quake2 && ${MV} ${bin:S/qudos/QuDos/} ${bin}
|
|
.endfor
|
|
|
|
do-install:
|
|
.for bin in ${Q2BIN}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/quake2/${bin} ${STAGEDIR}${PREFIX}/bin
|
|
.endfor
|
|
@${MKDIR} ${STAGEDIR}${LIBDIR}/baseq2
|
|
.for ref in ${Q2REF}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/quake2/ref_q2${ref}.so \
|
|
${STAGEDIR}${LIBDIR}
|
|
.endfor
|
|
.for snd in ${Q2SND}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/quake2/snd_${snd}.so ${STAGEDIR}${LIBDIR}
|
|
.endfor
|
|
.if ${PORT_OPTIONS:MGAME}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/quake2/baseq2/game.so \
|
|
${STAGEDIR}${LIBDIR}/baseq2
|
|
.endif
|
|
.for mod in ${MOD_LIST:tl}
|
|
.if ${PORT_OPTIONS:M${mod:tu}}
|
|
@${MKDIR} ${STAGEDIR}${LIBDIR}/${mod}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/quake2/${mod}/game.so \
|
|
${STAGEDIR}${LIBDIR}/${mod}
|
|
.endif
|
|
.endfor
|
|
${INSTALL_DATA} ${_DISTDIR}/QuDos-${PORTVERSION}.pk3 \
|
|
${STAGEDIR}${LIBDIR}/baseq2
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/docs/QuDos.txt \
|
|
${WRKSRC}/docs/Ogg_readme.txt ${STAGEDIR}${DOCSDIR}
|
|
|
|
.include "${.CURDIR}/../quake2-data/Makefile.include"
|
|
.include <bsd.port.mk>
|