Tweak games/kreversi version 4.14.3
[dports.git] / games / tremulous / Makefile
1 # Created by: Alejandro Pulver <alepulver@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       tremulous
5 PORTVERSION=    1.1.0
6 PORTREVISION=   11
7 CATEGORIES=     games
8 MASTER_SITES=   SF/${PORTNAME}/${PORTNAME}/${PORTVERSION:R}
9
10 MAINTAINER=     ports@FreeBSD.org
11 COMMENT=        Free FPS game featuring two opposing teams: humans and aliens
12
13 LICENSE=        GPLv2
14
15 USES=           gmake zip
16 MAKE_ENV=       DEFAULT_BASEDIR="${DATADIR}" PTHREAD_LIBS="-lpthread"
17
18 WRKSRC=         ${WRKDIR}/${PORTNAME}
19 BUILD_WRKSRC=   ${WRKSRC}/${DISTNAME}-src
20
21 VM_ARCHS=       amd64 i386
22
23 OPTIONS_DEFINE=         GAMELIBS OPENAL OPENAL_DLOPEN OPTIMIZED_CFLAGS \
24                         SDL_AUDIO SDL_VIDEO VORBIS
25 OPTIONS_MULTI=          FLAVOR
26 OPTIONS_MULTI_FLAVOR=   CLIENT DEDICATED SMP_CLIENT MASTER_SERVER
27 OPTIONS_DEFAULT=        CLIENT DEDICATED OPTIMIZED_CFLAGS SMP_CLIENT
28
29 FLAVOR_DESC=            Clients and servers
30 CLIENT_DESC=            Build client
31 GAMELIBS_DESC=          Force building game libraries
32 DEDICATED_DESC=         Build dedicated server
33 MASTER_SERVER_DESC=     Build master server
34 OPENAL_DLOPEN_DESC=     Enable dinamic loading of OpenAL
35 SDL_AUDIO_DESC=         Use SDL for audio
36 SDL_VIDEO_DESC=         Use SDL for video
37 SMP_CLIENT_DESC=        Build SMP (threaded) client
38
39 .include <bsd.port.options.mk>
40
41 .for arch in ${ARCH}
42 .  if ${VM_ARCHS:M${arch}}
43 HAVE_VM_COMPILED=       yes
44 .  endif
45 .endfor
46
47 .if defined(HAVE_VM_COMPILED)
48 MAKE_ENV+=      HAVE_VM_COMPILED=true
49 .endif
50
51 .if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP_CLIENT}
52 # OpenAL
53 .  if ${PORT_OPTIONS:MOPENAL}
54 USES+=          openal:al
55 MAKE_ENV+=      USE_OPENAL=1
56 .    if ${PORT_OPTIONS:MOPENAL_DLOPEN}
57 MAKE_ENV+=      USE_OPENAL_DLOPEN=1
58 .    endif
59 .  endif
60 # SDL
61 .  if ${PORT_OPTIONS:MSDL_AUDIO}
62 USE_SDL=        sdl
63 MAKE_ENV+=      USE_SDL_AUDIO=1
64 .  endif
65 .  if ${PORT_OPTIONS:MSDL_VIDEO}
66 USE_SDL=        sdl
67 MAKE_ENV+=      USE_SDL_VIDEO=1
68 .  else
69 USE_GL=         gl
70 USE_XORG=       x11 xxf86dga
71 .  endif
72 # Vorbis
73 .  if ${PORT_OPTIONS:MVORBIS}
74 LIB_DEPENDS+=   libvorbis.so:audio/libvorbis
75 MAKE_ENV+=      USE_CODEC_VORBIS=1
76 .  endif
77 .endif
78
79 .if ${PORT_OPTIONS:MCLIENT}
80 MAKE_ENV+=      BUILD_CLIENT=1
81 PLIST_SUB+=     CLIENT=""
82 TRBIN+=         tremulous
83 .else
84 PLIST_SUB+=     CLIENT="@comment "
85 .endif
86
87 .if ${PORT_OPTIONS:MDEDICATED}
88 MAKE_ENV+=      BUILD_SERVER=1
89 PLIST_SUB+=     DEDICATED=""
90 TRBIN+=         tremded
91 .else
92 PLIST_SUB+=     DEDICATED="@comment "
93 .endif
94
95 .if ${PORT_OPTIONS:MGAMELIBS} || !defined(HAVE_VM_COMPILED)
96 MAKE_ENV+=      BUILD_GAME_SO=1
97 PLIST_SUB+=     GAMELIBS=""
98 .else
99 PLIST_SUB+=     GAMELIBS="@comment "
100 .endif
101
102 .if ${PORT_OPTIONS:MMASTER_SERVER}
103 LIB_DEPENDS+=   libtdb.so:databases/tdb
104 MAKE_ENV+=      BUILD_MASTER_SERVER=1
105 PLIST_SUB+=     MASTER_SERVER=""
106 .else
107 PLIST_SUB+=     MASTER_SERVER="@comment "
108 .endif
109
110 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
111 MAKE_ENV+=      USE_OPTIMIZED_CFLAGS=1
112 .endif
113
114 .if ${PORT_OPTIONS:MSMP_CLIENT}
115 MAKE_ENV+=      BUILD_CLIENT_SMP=1
116 PLIST_SUB+=     SMP=""
117 TRBIN+=         tremulous-smp
118 .else
119 PLIST_SUB+=     SMP="@comment "
120 .endif
121
122 post-extract:
123         @cd ${WRKSRC} && ${TAR} zxf ${DISTNAME}-src.tar.gz
124
125 post-patch:
126         @${REINPLACE_CMD} -e 's|botlib\.log|/dev/null|' \
127                 ${BUILD_WRKSRC}/src/botlib/be_interface.c
128         @${REINPLACE_CMD} -e '/callMask = 0/s|^static||' \
129                 ${BUILD_WRKSRC}/src/qcommon/vm_x86.c
130
131 do-install:
132 .for bin in ${TRBIN}
133         ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/build/release/${bin} \
134                 ${STAGEDIR}${PREFIX}/bin
135 .endfor
136 .if ${PORT_OPTIONS:MMASTER_SERVER}
137         ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/src/master/release/tremmaster \
138                 ${STAGEDIR}${PREFIX}/bin
139 .endif
140         @${MKDIR} ${STAGEDIR}${DATADIR}/base
141         ${INSTALL_DATA} ${WRKSRC}/base/* ${STAGEDIR}${DATADIR}/base
142         ${INSTALL_DATA} ${WRKSRC}/tremulous.xpm \
143                 ${STAGEDIR}${PREFIX}/share/pixmaps
144
145 .include <bsd.port.mk>