# New ports collection makefile for: ioquake3 # Date created: 3 Jun 2006 # Whom: alepulver # # $FreeBSD$ # PORTNAME= ioquake3 PORTVERSION= 1.33 CATEGORIES= games MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= alepulver MAINTAINER= alepulver@FreeBSD.org COMMENT= Cleaned-up and enhaced version of Quake 3 USE_BZIP2= yes USE_GCC= 3.2+ USE_GMAKE= yes WRKSRC= ${WRKDIR}/quake3 OPTIONS= CLIENT "Build client" on \ GAMELIBS "Build game libraries (when not mandatory)" off \ DEDICATED "Build dedicated server" on \ OPENAL "Enable OpenAL (3D sound) support" off \ OPENAL_DLOPEN "Enable dynamic loading of OpenAL" off \ OPTIMIZED_CFLAGS "Enable compilation optimizations" on \ SDL_AUDIO "Use SDL for audio" off \ SDL_VIDEO "Use SDL for video" off \ SMP "Build SMP (threaded) client" on \ VORBIS "Enable Ogg Vorbis codec support" off MAKE_ENV+= DEFAULT_BASEDIR="${Q3DIR}" LIBDIR="${LIBDIR}" \ PTHREAD_LIBS="${PTHREAD_LIBS}" PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" LIBDIR= ${PREFIX}/lib/${PORTNAME} SVN_REV= 777 VM_ARCHS= amd64 i386 powerpc .include .if ${OSVERSION} < 500000 EXTRA_PATCHES+= ${FILESDIR}/extra-patch-code__unix__unix_shared.c .endif .if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) && \ defined(WITHOUT_SMP) IGNORE= needs at least one of CLIENT, DEDICATED and SMP options .endif .for i in ${ARCH} . if ${VM_ARCHS:M${i}} != "" HAVE_VM_COMPILED= yes . endif .endfor .if defined(HAVE_VM_COMPILED) MAKE_ENV+= HAVE_VM_COMPILED=true .endif .if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SMP) # OpenAL . if defined(WITH_OPENAL) LIB_DEPENDS+= openal.0:${PORTSDIR}/audio/openal MAKE_ENV+= USE_OPENAL=1 . if defined(WITH_OPENAL_DLOPEN) MAKE_ENV+= USE_OPENAL_DLOPEN=1 . endif . endif # SDL . if defined(WITH_SDL_AUDIO) USE_SDL= sdl MAKE_ENV+= USE_SDL_AUDIO=1 . endif . if defined(WITH_SDL_VIDEO) USE_SDL= sdl MAKE_ENV+= USE_SDL_VIDEO=1 . else USE_GL= yes . endif # Vorbis . if defined(WITH_VORBIS) LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis MAKE_ENV+= USE_CODEC_VORBIS=1 . endif .endif .if !defined(WITHOUT_CLIENT) MAKE_ENV+= BUILD_CLIENT=1 PLIST_SUB+= CLIENT="" Q3BIN+= ioquake3 .else PLIST_SUB+= CLIENT="@comment " .endif .if !defined(WITHOUT_DEDICATED) MAKE_ENV+= BUILD_SERVER=1 PLIST_SUB+= DEDICATED="" Q3BIN+= ioq3ded .else PLIST_SUB+= DEDICATED="@comment " .endif .if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED) MAKE_ENV+= BUILD_GAME_SO=1 PLIST_SUB+= GAMELIBS="" .else PLIST_SUB+= GAMELIBS="@comment " .endif .if !defined(WITHOUT_OPTIMIZED_CFLAGS) MAKE_ENV+= USE_OPTIMIZED_CFLAGS=1 .endif .if !defined(WITHOUT_SMP) MAKE_ENV+= BUILD_CLIENT_SMP=1 PLIST_SUB+= SMP="" Q3BIN+= ioquake3-smp .else PLIST_SUB+= SMP="@comment " .endif .if ${OSVERSION} < 500000 post-patch: @${REINPLACE_CMD} -e 's|stdint\.h|inttypes.h|' \ ${BUILD_WRKSRC}/code/qcommon/q_shared.h .endif do-install: .for bin in ${Q3BIN} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${bin} ${PREFIX}/bin .endfor .if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED) .for dir in baseq3 missionpack ${MKDIR} ${LIBDIR}/${dir} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/${dir}/*.so ${LIBDIR}/${dir} .endfor .endif post-install: .if defined(WITH_SDL_AUDIO) || defined(WITH_OPENAL) @${ECHO_CMD} @${ECHO_CMD} "WARNING: if you have sound problems try recompiling without SDL_AUDIO and OPENAL options." | ${FMT} @${ECHO_CMD} .endif maint-gen-distfile: @if [ -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ]; then \ ${ECHO_CMD} "ERROR: the distfile already exists."; \ ${FALSE}; \ fi svn export -r${SVN_REV} svn://svn.icculus.org/quake3/trunk quake3 ${TAR} jcf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} quake3 ${RM} -rf quake3 .include "${.CURDIR}/../quake3-data/Makefile.include" .include