freebsd-ports/games/cleanq3/Makefile
Alejandro Pulver 4c345ed272 - Bump PORTREVISION.
- Use Makefile for building instead of scons, and remove Perl dependency.
- Use pkg-plist.
- Add OPTIONS. Allow to build without X11, threaded version, etc.
- Fix building on non-i386 and FreeBSD 4.X.
- Respect CFLAGS when optimizations are enabled.
- Add patch to fix 2 security vulnerabilities [1].

PR:		ports/98295
Submitted by:	alepulver (myself)
Approved by:	maintainer (timeout)
Obtained from:	q3icculus (http://icculus.org/quake3/) [1]
Security:	CVE-2006-2082 [1]
2006-07-23 18:56:26 +00:00

118 lines
2.6 KiB
Makefile

# New ports collection makefile for: CleanQ3
# Date created: 17 Mar 2006
# Whom: Alexey Dokuchaev <danfe@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= cleanq3
PORTVERSION= 0.5.2
PORTREVISION= 1
CATEGORIES= games
MASTER_SITES= http://tremor.quakedev.com/
DISTNAME= CleanQ3_v${PORTVERSION}-srcbin
MAINTAINER= danfe@FreeBSD.org
COMMENT= Cleaned up copy of the original Quake III Arena source code
USE_ZIP= yes
USE_DOS2UNIX= yes
USE_GMAKE= yes
USE_GCC= 3.2+
WRKSRC= ${WRKDIR}/CleanQ3
BUILD_WRKSRC= ${WRKSRC}/code/unix
OPTIONS= CLIENT "Build client" on \
DEDICATED "Build dedicated server" on \
GAMELIBS "Build game libraries (when not mandatory)" off \
OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
SMP "Build SMP (threaded) client" on
MAKE_ENV= LIBDIR="${LIBDIR}"
PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
LIBDIR= ${PREFIX}/lib/${PORTNAME}
VM_ARCHS= i386 powerpc
.include <bsd.port.pre.mk>
.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) && \
defined(WITHOUT_SMP)
IGNORE= needs at least one of CLIENT, DEDICATED and SMP options
.endif
.if ${ARCH} == "i386"
BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
.endif
.for i in ${ARCH}
. if ${VM_ARCHS:M${i}} != ""
HAVE_VM_COMPILED= yes
. endif
.endfor
.if !defined(HAVE_VM_COMPILED)
MAKE_ENV+= DLL_ONLY=true
.endif
.if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SMP)
USE_GL= yes
.endif
.if !defined(WITHOUT_CLIENT)
MAKE_ENV+= CLIENT=YES
PLIST_SUB+= CLIENT=""
Q3BIN+= cleanq3
.else
PLIST_SUB+= CLIENT="@comment "
.endif
.if !defined(WITHOUT_DEDICATED)
MAKE_ENV+= DEDICATED=YES
PLIST_SUB+= DEDICATED=""
Q3BIN+= cleanq3ded
.else
PLIST_SUB+= DEDICATED="@comment "
.endif
.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED)
MAKE_ENV+= GAMELIBS=YES
PLIST_SUB+= GAMELIBS=""
.else
PLIST_SUB+= GAMELIBS="@comment "
.endif
.if !defined(WITHOUT_OPTIMIZED_CFLAGS)
MAKE_ENV+= OPTIMIZED_CFLAGS=YES
.endif
.if !defined(WITHOUT_SMP)
MAKE_ENV+= SMP=YES \
PTHREAD_LIBS="${PTHREAD_LIBS}"
PLIST_SUB+= SMP=""
Q3BIN+= cleanq3-smp
.else
PLIST_SUB+= SMP="@comment "
.endif
post-patch:
@${REINPLACE_CMD} -e 's|botlib\.log|/dev/null|' \
${WRKSRC}/code/botlib/be_interface.c
@${REINPLACE_CMD} -e \
's|//[[:blank:]]*\(Swap_Init[[:blank:]]*();\)|\1|' \
${WRKSRC}/code/botlib/be_interface.c \
${WRKSRC}/code/renderer/tr_init.c
do-install:
.for bin in ${Q3BIN}
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${bin} ${PREFIX}/bin
.endfor
.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED)
.for dir in baseq3 missionpack
${MKDIR} ${LIBDIR}/${dir}
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${dir}/*.so ${LIBDIR}/${dir}
.endfor
.endif
.include "${.CURDIR}/../quake3-data/Makefile.include"
.include <bsd.port.post.mk>