aboutsummaryrefslogtreecommitdiff
path: root/games/q2p/Makefile
blob: f1e95b96ff80c1358e8c09cb43f34cede043d872 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
# $FreeBSD$

PORTNAME=	q2p
PORTVERSION=	0.2.20061231
PORTREVISION=	16
CATEGORIES=	games
MASTER_SITES=	http://bfeared.com/library/quake/archive/quakedev/qudos/quake2/engines/Q2P/
DISTNAME=	Q2P-0.2-2006-12-31

MAINTAINER=	danfe@FreeBSD.org
COMMENT=	Enhanced OpenGL-only Quake II engine

USES=		gmake tar:bzip2
USE_XORG=	xxf86dga xext xxf86vm x11
ALL_TARGET=	release

MAKE_ENV=	DATADIR="${Q2DIR}" LIBDIR="${LIBDIR}"
PLIST_SUB=	LIBDIR="${LIBDIR:S|${PREFIX}/||}"
LIBDIR=		${PREFIX}/lib/${PORTNAME}

PORTDOCS=	Q2P_readme.txt Ogg_readme.txt

OPTIONS_DEFINE=	CLIENT CTF DEDICATED GAME GLX OPTIMIZED_CFLAGS OSS \
		SDL SDLGL DOCS
OPTIONS_DEFAULT=	CLIENT DEDICATED GLX OPTIMIZED_CFLAGS OSS SDL SDLGL

CLIENT_DESC=	Build client
CTF_DESC=	Build CTF (Capture The Flag) mod
DEDICATED_DESC=	Build dedicated server
GAME_DESC=	Build main game (default mod)
GLX_DESC=	Build OpenGL renderer
SDL_DESC=	Sound support via SDL
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+=		jpeg
USE_GL=		glu
.endif

.if ${PORT_OPTIONS:MSDL} || ${PORT_OPTIONS:MSDLGL}
USE_SDL=	sdl
.endif

.if ${PORT_OPTIONS:MCLIENT}
LIB_DEPENDS+=	libvorbis.so:audio/libvorbis
MAKE_ENV+=	BUILD_Q2P=YES
PLIST_SUB+=	CLIENT=""
Q2BIN+=		${PORTNAME}
.else
PLIST_SUB+=	CLIENT="@comment "
.endif

.if ${PORT_OPTIONS:MCTF}
MAKE_ENV+=	BUILD_CTF=YES
PLIST_SUB+=	CTF=""
.else
PLIST_SUB+=	CTF="@comment "
.endif

.if ${PORT_OPTIONS:MDEDICATED}
MAKE_ENV+=	BUILD_DEDICATED=YES
PLIST_SUB+=	DEDICATED=""
Q2BIN+=		${PORTNAME}-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

.for opt in GLX SDLGL
.  if ${PORT_OPTIONS:M${opt}}
MAKE_ENV+=	BUILD_${opt}=YES
PLIST_SUB+=	${opt}=""
Q2REF+=		${opt:tl:S/glx/gl/:S/sdlgl/sdl/}
.  else
PLIST_SUB+=	${opt}="@comment "
.  endif
.endfor

.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
MAKE_ENV+=	OPTIMIZE=YES
.endif

.if ${PORT_OPTIONS:MOSS}
MAKE_ENV+=	BUILD_OSS_SND=YES
PLIST_SUB+=	OSS=""
Q2SND+=		oss
.else
PLIST_SUB+=	OSS="@comment "
.endif

.if ${PORT_OPTIONS:MSDL}
MAKE_ENV+=	BUILD_SDL_SND=YES
PLIST_SUB+=	SDL=""
Q2SND+=		sdl
.else
PLIST_SUB+=	SDL="@comment "
.endif

post-patch:
# Resolve name collision with jpeg-8
	@${REINPLACE_CMD} -e 's|jpeg_mem_src|local_jpeg_mem_src|' \
		${WRKSRC}/ref_gl/gl_image.c

do-install:
.for bin in ${Q2BIN}
	${INSTALL_PROGRAM} ${WRKSRC}/quake2/${bin} ${STAGEDIR}${PREFIX}/bin
.endfor
	@${MKDIR} ${STAGEDIR}${LIBDIR}/baseq2
.for ref in ${Q2REF}
	${INSTALL_PROGRAM} ${WRKSRC}/quake2/vid_${ref}.so ${STAGEDIR}${LIBDIR}
.endfor
.for snd in ${Q2SND}
	${INSTALL_PROGRAM} ${WRKSRC}/quake2/snd_${snd}.so ${STAGEDIR}${LIBDIR}
.endfor
.if ${PORT_OPTIONS:MCTF}
	@${MKDIR} ${STAGEDIR}${LIBDIR}/ctf
	${INSTALL_PROGRAM} ${WRKSRC}/quake2/ctf/game.so \
		${STAGEDIR}${LIBDIR}/ctf
.endif
.if ${PORT_OPTIONS:MGAME}
	${INSTALL_PROGRAM} ${WRKSRC}/quake2/baseq2/game.so \
		${STAGEDIR}${LIBDIR}/baseq2
.endif
	${INSTALL_DATA} ${WRKSRC}/data/baseq2/* ${STAGEDIR}${LIBDIR}/baseq2
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}

.include "${.CURDIR}/../quake2-data/Makefile.include"
.include <bsd.port.mk>