From cdf8f3696c29e83c9a37339cb605567909c43a2f Mon Sep 17 00:00:00 2001 From: Alexey Dokuchaev Date: Sun, 17 Mar 2013 16:37:13 +0000 Subject: [PATCH] - Trim old-school Makefile header per recent agreement - Convert to modern OPTIONS framework (courtesy of jgh@) - Prefer more explicit "gl" to simple "yes" in USE_GL - Drop shlib ABI versions from LIB_DEPENDS - Mute MKDIR's, generally cleanup Makefile - Reformat port description text while I am here --- games/q2pro/Makefile | 71 +++++++++++++++++++++---------------------- games/q2pro/pkg-descr | 19 ++++++------ 2 files changed, 44 insertions(+), 46 deletions(-) diff --git a/games/q2pro/Makefile b/games/q2pro/Makefile index 583e5193606c..a764b915cc56 100644 --- a/games/q2pro/Makefile +++ b/games/q2pro/Makefile @@ -1,9 +1,5 @@ -# New ports collection makefile for: q2pro -# Date created: 2006-12-25 -# Whom: Alejandro Pulver -# +# Created by: Alejandro Pulver # $FreeBSD$ -# PORTNAME= q2pro PORTVERSION= ${SVN_REV} @@ -21,29 +17,29 @@ USE_GMAKE= yes WRKSRC= ${WRKDIR}/${PORTNAME} ALL_TARGET= # -OPTIONS= CLIENT "Build client" on \ - DEDICATED "Build dedicated server" on \ - GAME "Build a main game .so file" off \ - GL "Build OpenGL render" on \ - SOFT "Build software render" on \ - UI "Build user interface (for CLIENT menus)" on \ - X86_ASM "Enable use of optimized x86 assembly code" on +SVN_REV= 142 MAKE_ENV= LIBDIR="${LIBDIR}" PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" - -SVN_REV= 142 LIBDIR= ${PREFIX}/lib/${PORTNAME} -.include "${.CURDIR}/../quake2-data/Makefile.include" +OPTIONS_DEFINE= GAME GL SOFT UI +OPTIONS_DEFINE_i386= ASM +OPTIONS_MULTI= FLAVOR +OPTIONS_MULTI_FLAVOR= CLIENT DEDICATED +OPTIONS_DEFAULT= CLIENT DEDICATED GL SOFT UI +OPTIONS_DEFAULT_I386= ASM -.include +CLIENT_DESC= Build client +DEDICATED_DESC= Build dedicated server +GAME_DESC= Build main game (default mod) +GL_DESC= Build OpenGL render +SOFT_DESC= Build software render +UI_DESC= Build user interface (for client menus) -.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) -IGNORE= needs at least one executable (CLIENT and DEDICATED) -.endif +.include -.if !defined(WITHOUT_CLIENT) +.if ${PORT_OPTIONS:MCLIENT} USE_SDL+= sdl ALL_TARGET+= client PLIST_SUB+= CLIENT="" @@ -51,23 +47,23 @@ PLIST_SUB+= CLIENT="" PLIST_SUB+= CLIENT="@comment " .endif -.if !defined(WITHOUT_DEDICATED) +.if ${PORT_OPTIONS:MDEDICATED} ALL_TARGET+= server PLIST_SUB+= DEDICATED="" .else PLIST_SUB+= DEDICATED="@comment " .endif -.if defined(WITH_GAME) +.if ${PORT_OPTIONS:MGAME} ALL_TARGET+= game PLIST_SUB+= GAME="" .else PLIST_SUB+= GAME="@comment " .endif -.if !defined(WITHOUT_GL) -USE_GL= yes -LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg \ +.if ${PORT_OPTIONS:MGL} +USE_GL= gl +LIB_DEPENDS+= jpeg:${PORTSDIR}/graphics/jpeg \ png15:${PORTSDIR}/graphics/png ALL_TARGET+= ref_newgl PLIST_SUB+= GL="" @@ -75,21 +71,21 @@ PLIST_SUB+= GL="" PLIST_SUB+= GL="@comment " .endif -.if !defined(WITHOUT_SOFT) +.if ${PORT_OPTIONS:MSOFT} ALL_TARGET+= ref_soft PLIST_SUB+= SOFT="" .else PLIST_SUB+= SOFT="@comment " .endif -.if !defined(WITHOUT_UI) +.if ${PORT_OPTIONS:MUI} ALL_TARGET+= ui PLIST_SUB+= UI="" .else PLIST_SUB+= UI="@comment " .endif -.if !defined(WITHOUT_X86_ASM) && ${ARCH} == "i386" +.if ${PORT_OPTIONS:MASM} MAKE_ENV+= USE_X86_ASM=yes .endif @@ -99,27 +95,27 @@ post-patch: ${WRKSRC}/ref_shared/r_images.c do-install: - ${MKDIR} ${LIBDIR}/baseq2 -.if !defined(WITHOUT_CLIENT) + @${MKDIR} ${LIBDIR}/baseq2 +.if ${PORT_OPTIONS:MCLIENT} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/q2pro ${PREFIX}/bin .endif -.if !defined(WITHOUT_DEDICATED) +.if ${PORT_OPTIONS:MDEDICATED} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/q2proded ${PREFIX}/bin .endif -.if defined(WITH_GAME) +.if ${PORT_OPTIONS:MGAME} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/game.so ${LIBDIR}/baseq2 .endif -.if !defined(WITHOUT_GL) +.if ${PORT_OPTIONS:MGL} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/ref_newgl.so ${LIBDIR} .endif -.if !defined(WITHOUT_SOFT) +.if ${PORT_OPTIONS:MSOFT} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/ref_soft.so ${LIBDIR} .endif -.if !defined(WITHOUT_UI) +.if ${PORT_OPTIONS:MUI} ${INSTALL_PROGRAM} ${WRKSRC}/build/release/ui.so ${LIBDIR} .endif -maint-gen-distfile: +generate-distfile: @if [ -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ]; then \ ${ECHO_CMD} "ERROR: the distfile already exists."; \ ${FALSE}; \ @@ -129,4 +125,5 @@ maint-gen-distfile: ${TAR} jcf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} q2pro ${RM} -rf q2pro -.include +.include "${.CURDIR}/../quake2-data/Makefile.include" +.include diff --git a/games/q2pro/pkg-descr b/games/q2pro/pkg-descr index 55f4734bd8ee..afbf3d2f39cf 100644 --- a/games/q2pro/pkg-descr +++ b/games/q2pro/pkg-descr @@ -1,15 +1,16 @@ -Q2PRO is a Quake2 engine modification. Client and server sides are both +Q2PRO is a Quake II engine modification. Client and server sides are both compatible with original Quake2 v3.20 network architecture, as well as with -modern R1Q2 network architecture. Q2PRO is designed to be secure, fast and +modern R1Q2 network architecture. Q2PRO is designed to be secure, fast, and doesn't provide any graphical enhancements that are contrary to the classic -Quake2 look and feel. It provides some features yet unique to Quake2, notably -server side Multi View Demos. Q2PRO has it's own software and OpenGL refresh -libraries and runs under Win32 and GNU/Linux natively. +Quake2 look and feel. It yet provides some features unique to Quake2, most +notably server side MVDs (multi view demos). Q2PRO has its own software and +OpenGL refresh libraries and runs under Windows and Unix-like systems. Q2PRO supports the following network protocols: -- 34, original Quake2 protocol. -- 35, enhanced R1Q2 protocol. -- 36, enhanced Q2PRO protocol, extension of R1Q2 protocol. -- 37, special broadband MVD protocol. + + - 34, original Quake2 protocol + - 35, enhanced R1Q2 protocol + - 36, enhanced Q2PRO protocol, extension of R1Q2 protocol + - 37, special broadband MVD protocol WWW: http://q2pro.sourceforge.net/