1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/games/quake2max/Makefile

135 lines
3.1 KiB
Makefile

# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
# $FreeBSD$
PORTNAME= quake2max
PORTVERSION= 0.45
PORTREVISION= 13
CATEGORIES= games
MASTER_SITES= http://freebsd.nsu.ru/distfiles/ LOCAL/danfe
DISTNAME= Quake2maX_${PORTVERSION}-src_unix
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${Q2MAX_DATA}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= danfe@FreeBSD.org
COMMENT= OpenGL-only Quake II engine modification
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/gnu.txt
EXTRACT_DEPENDS= unrar:archivers/unrar
USES= gmake tar:bzip2 xorg
USE_XORG= x11 xext xxf86vm xxf86dga
ALL_TARGET= release
WRKSRC= ${WRKDIR}/${DISTNAME:S/quake2max/Quake2maX/}
LIBDIR= ${PREFIX}/lib/${PORTNAME}
MAKE_ENV= LIBDIR="${LIBDIR}"
PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
Q2MAX_DATA= ${PORTNAME}.044.rar
OPTIONS_DEFINE= CLIENT DEDICATED GAME GLX OPTIMIZED_CFLAGS SDLCLIENT SDLGL
OPTIONS_DEFAULT= CLIENT DEDICATED GLX OPTIMIZED_CFLAGS SDLCLIENT SDLGL
CLIENT_DESC= Build original client
DEDICATED_DESC= Build dedicated server
GAME_DESC= Build main game (default mod)
GLX_DESC= Build OpenGL renderer
SDLCLIENT_DESC= Build SDL client
SDLGL_DESC= Build SDL OpenGL renderer
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGLX} || ${PORT_OPTIONS:MSDLGL}
LIB_DEPENDS= libpng.so:graphics/png
USES+= gl jpeg
USE_GL= glu
.endif
.if ${PORT_OPTIONS:MSDLCLIENT} || ${PORT_OPTIONS:MSDLGL}
USES+= sdl
USE_SDL= sdl
.endif
.if ${PORT_OPTIONS:MCLIENT}
MAKE_ENV+= BUILD_QUAKE2MAX=YES
PLIST_SUB+= CLIENT=""
Q2MAX_BIN+= quake2max
.else
PLIST_SUB+= CLIENT="@comment "
.endif
.if ${PORT_OPTIONS:MDEDICATED}
MAKE_ENV+= BUILD_DEDICATED=YES
PLIST_SUB+= DEDICATED=""
Q2MAX_BIN+= quake2max-ded
.else
PLIST_SUB+= DEDICATED="@comment "
.endif
.if ${PORT_OPTIONS:MGAME}
MAKE_ENV+= BUILD_GAME=YES
PLIST_SUB+= GAME=""
.else
PLIST_SUB+= GAME="@comment "
.endif
.if ${PORT_OPTIONS:MGLX}
MAKE_ENV+= BUILD_GLX=YES
PLIST_SUB+= GLX=""
Q2MAX_REF+= glx
.else
PLIST_SUB+= GLX="@comment "
.endif
.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
MAKE_ENV+= WITH_OPTIMIZED_CFLAGS=YES
.endif
.if ${PORT_OPTIONS:MSDLCLIENT}
MAKE_ENV+= BUILD_QUAKE2MAX-SDL=YES
PLIST_SUB+= SDLCLIENT=""
Q2MAX_BIN+= quake2max-sdl
.else
PLIST_SUB+= SDLCLIENT="@comment "
.endif
.if ${PORT_OPTIONS:MSDLGL}
MAKE_ENV+= BUILD_SDLGL=YES
PLIST_SUB+= SDLGL=""
Q2MAX_REF+= sdlgl
.else
PLIST_SUB+= SDLGL="@comment "
.endif
post-extract:
@cd ${WRKSRC} && unrar e -idq ${DISTDIR}/${Q2MAX_DATA} \
baseq2/_maxpak.pak
post-patch:
# Resolve name collision with jpeg-8
@${REINPLACE_CMD} -e 's|jpeg_mem_src|local_&|' \
${WRKSRC}/ref_gl/gl_image.c
# Pacify Clang (non-void function should return a value)
@${REINPLACE_CMD} -e '900s|return|& false|' \
${WRKSRC}/client/qmenu.c
do-install:
@${MKDIR} ${STAGEDIR}${LIBDIR}/baseq2
.for f in ${Q2MAX_BIN}
${INSTALL_PROGRAM} ${WRKSRC}/quake2/${f} ${STAGEDIR}${PREFIX}/bin
.endfor
.for f in ${Q2MAX_REF}
${INSTALL_PROGRAM} ${WRKSRC}/quake2/rfx_${f}.so ${STAGEDIR}${LIBDIR}
.endfor
.if ${PORT_OPTIONS:MGAME}
${INSTALL_PROGRAM} ${WRKSRC}/quake2/baseq2/game.so \
${STAGEDIR}${LIBDIR}/baseq2
.endif
${INSTALL_DATA} ${WRKSRC}/_maxpak.pak \
${STAGEDIR}${LIBDIR}/baseq2/maxpak.pak
.include "${.CURDIR}/../quake2-data/Makefile.include"
.include <bsd.port.mk>