Lines 15-74
Link Here
|
15 |
USES= pkgconfig |
15 |
USES= pkgconfig |
16 |
USE_GMAKE= yes |
16 |
USE_GMAKE= yes |
17 |
|
17 |
|
18 |
.if defined(PKGNAMESUFFIX) && ${PKGNAMESUFFIX:M*-server} |
18 |
# Port configuration flags: |
19 |
# Server config |
19 |
# CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2 |
20 |
WITH_DEDICATED= yes |
20 |
IOQ3?= CLIENT TOOLS GAMELIBS |
21 |
WITHOUT_CLIENT= yes |
21 |
IOQ3ARCH?= ${ARCH} |
22 |
WITHOUT_SERVER= yes |
22 |
|
23 |
WITHOUT_CURL= yes |
23 |
.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER} |
24 |
WITHOUT_OPENAL= yes |
24 |
BROKEN= Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER |
25 |
WITHOUT_MUMBLE= yes |
25 |
.endif |
26 |
WITHOUT_VORBIS= yes |
26 |
|
27 |
WITHOUT_TOOLS= yes |
27 |
# Client options |
28 |
WITHOUT_DLRENDERER= yes |
28 |
.if ${IOQ3:MCLIENT} |
29 |
.else |
|
|
30 |
# Client config |
31 |
WITH_CLIENT= yes |
32 |
WITHOUT_DEDICATED= yes |
33 |
OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG |
29 |
OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG |
34 |
OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS |
30 |
OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS |
35 |
SERVER_DESC= Install dedicated server |
31 |
SERVER_DESC= Install dedicated server |
36 |
MUMBLE_DESC= Enable Mumble support (no dependencies) |
32 |
MUMBLE_DESC= Enable Mumble support (no dependencies) |
37 |
. if defined(NO_TOOLS) |
33 |
.endif |
38 |
WITHOUT_TOOLS= yes |
34 |
.if ${IOQ3:MTOOLS} |
39 |
. else |
|
|
40 |
OPTIONS_DEFINE+= TOOLS |
35 |
OPTIONS_DEFINE+= TOOLS |
41 |
OPTIONS_DEFAULT+= TOOLS |
36 |
OPTIONS_DEFAULT+= TOOLS |
42 |
TOOLS_DESC= Enable modding tools |
37 |
TOOLS_DESC= Enable modding tools |
43 |
. endif |
38 |
.endif |
44 |
. if defined(HAS_DLRENDERER) |
39 |
.if ${IOQ3:MDLRENDERER} |
45 |
OPTIONS_DEFINE+= DLRENDERER |
40 |
OPTIONS_DEFINE+= DLRENDERER |
46 |
OPTIONS_DEFAULT+= DLRENDERER |
41 |
OPTIONS_DEFAULT+= DLRENDERER |
47 |
DLRENDERER_DESC= Build dynamically loaded renderer |
42 |
DLRENDERER_DESC= Build dynamically loaded renderer |
48 |
. endif |
|
|
49 |
.endif |
43 |
.endif |
50 |
# Common config |
44 |
.if ${IOQ3:MGAMELIBS} |
51 |
.if !defined(NO_GAMELIBS) |
|
|
52 |
OPTIONS_DEFINE+= GAMELIBS |
45 |
OPTIONS_DEFINE+= GAMELIBS |
53 |
OPTIONS_DEFAULT+= GAMELIBS |
46 |
OPTIONS_DEFAULT+= GAMELIBS |
54 |
GAMELIBS_DESC= Build game libraries |
47 |
GAMELIBS_DESC= Build game libraries |
55 |
.endif |
48 |
.endif |
|
|
49 |
.if ${IOQ3:MOPUS} |
50 |
OPTIONS_DEFINE+= OPUS |
51 |
OPTIONS_DEFAULT+= OPUS |
52 |
OPUS_DESC= Opus audio codec support |
53 |
.endif |
56 |
|
54 |
|
57 |
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \ |
55 |
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \ |
58 |
DEFAULT_LIBDIR="${LIBDIR}" \ |
56 |
DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \ |
59 |
HOMEPATH="${HOMEPATH}" \ |
57 |
HOMEPATH="${HOMEPATH}" \ |
60 |
VERSION="${Q3ENGINEVER}" \ |
58 |
VERSION="${Q3ENGINEVER}" \ |
61 |
ARCH="${ARCH}" \ |
59 |
ARCH="${IOQ3ARCH}" \ |
62 |
USE_LOCAL_HEADERS=0 |
60 |
USE_LOCAL_HEADERS=0 |
63 |
PLIST_SUB+= LIBDIR="${LIBDIR:S/${PREFIX}\///}" \ |
|
|
64 |
ARCH="${ARCH}" \ |
65 |
BINSUFFIX="${BINSUFFIX}" |
66 |
ALL_TARGET= release |
61 |
ALL_TARGET= release |
67 |
MAKE_JOBS_SAFE= yes |
62 |
MAKE_JOBS_SAFE= yes |
68 |
|
63 |
|
69 |
LIBDIR= ${PREFIX}/lib/${PORTNAME}${PKGNAMESUFFIX} |
64 |
LIBDIR= lib/${PORTNAME}${PKGNAMESUFFIX} |
70 |
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX} |
65 |
DOCSDIR= share/doc/${PORTNAME}${PKGNAMESUFFIX} |
71 |
BUILDDIR= ${WRKSRC}/build/${ALL_TARGET}-${OPSYS:L}-${ARCH} |
66 |
BUILDDIR= ${WRKSRC}/build/${ALL_TARGET}-${OPSYS:L}-${IOQ3ARCH} |
72 |
BINSUFFIX?= |
67 |
BINSUFFIX?= |
73 |
HOMEPATH?= /.${PORTNAME} |
68 |
HOMEPATH?= /.${PORTNAME} |
74 |
Q3CLIENT?= ioquake3 |
69 |
Q3CLIENT?= ioquake3 |
Lines 77-86
Link Here
|
77 |
q3cpp \ |
72 |
q3cpp \ |
78 |
q3lcc \ |
73 |
q3lcc \ |
79 |
q3rcc |
74 |
q3rcc |
|
|
75 |
Q3DOCS?= README \ |
76 |
id-readme.txt \ |
77 |
md4-readme.txt \ |
78 |
voip-readme.txt |
80 |
Q3BASE?= baseq3 \ |
79 |
Q3BASE?= baseq3 \ |
81 |
missionpack |
80 |
missionpack |
|
|
81 |
Q3GAMELIBS?= cgame \ |
82 |
qagame \ |
83 |
ui |
82 |
Q3ICON?= ${PREFIX}/share/pixmaps/quake3.xpm |
84 |
Q3ICON?= ${PREFIX}/share/pixmaps/quake3.xpm |
83 |
Q3RENDERER?= renderer_opengl1_${ARCH} |
85 |
.if ${IOQ3:MOPENGL2} |
|
|
86 |
Q3RENDERER?= renderer_opengl1_${IOQ3ARCH} renderer_opengl2_${IOQ3ARCH} |
87 |
.else |
88 |
Q3RENDERER?= renderer_opengl1_${IOQ3ARCH} |
89 |
.endif |
84 |
Q3INSTALL?= |
90 |
Q3INSTALL?= |
85 |
Q3ENGINEVER?= ${DISTVERSION} |
91 |
Q3ENGINEVER?= ${DISTVERSION} |
86 |
|
92 |
|
Lines 97-103
Link Here
|
97 |
.endif |
103 |
.endif |
98 |
|
104 |
|
99 |
.if !defined(DESKTOP_ENTRIES) |
105 |
.if !defined(DESKTOP_ENTRIES) |
100 |
. if ${PORT_OPTIONS:MCLIENT} |
106 |
. if ${IOQ3:MCLIENT} |
101 |
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \ |
107 |
DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \ |
102 |
"${Q3ICON}" \ |
108 |
"${Q3ICON}" \ |
103 |
"${Q3CLIENT}${BINSUFFIX}" "Game;" false |
109 |
"${Q3CLIENT}${BINSUFFIX}" "Game;" false |
Lines 109-121
Link Here
|
109 |
. endif |
115 |
. endif |
110 |
.endif |
116 |
.endif |
111 |
|
117 |
|
112 |
.if ! ${PORT_OPTIONS:MCLIENT} && ! ${PORT_OPTIONS:MDEDICATED} && \ |
118 |
.if ${IOQ3:MCLIENT} |
113 |
! ${PORT_OPTIONS:MSMP} |
119 |
MAKE_ARGS+= BUILD_CLIENT=1 |
114 |
IGNORE= needs at least one of CLIENT, DEDICATED and SMP options |
120 |
Q3BIN+= ${Q3CLIENT} |
|
|
121 |
USE_SDL= sdl |
122 |
.else |
123 |
MAKE_ARGS+= BUILD_CLIENT=0 |
115 |
.endif |
124 |
.endif |
116 |
|
125 |
|
117 |
.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP} |
126 |
.if ${IOQ3:MSERVER} |
118 |
# cURL |
127 |
MAKE_ARGS+= BUILD_SERVER=1 |
|
|
128 |
Q3BIN+= ${Q3SERVER} |
129 |
.else |
130 |
MAKE_ARGS+= BUILD_SERVER=0 |
131 |
.endif |
132 |
|
119 |
.if ${PORT_OPTIONS:MCURL} |
133 |
.if ${PORT_OPTIONS:MCURL} |
120 |
LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl |
134 |
LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl |
121 |
MAKE_ARGS+= USE_CURL=1 USE_CURL_DLOPEN=0 |
135 |
MAKE_ARGS+= USE_CURL=1 USE_CURL_DLOPEN=0 |
Lines 122-128
Link Here
|
122 |
.else |
136 |
.else |
123 |
MAKE_ARGS+= USE_CURL=0 |
137 |
MAKE_ARGS+= USE_CURL=0 |
124 |
.endif |
138 |
.endif |
125 |
# OpenAL |
139 |
|
126 |
.if ${PORT_OPTIONS:MOPENAL} |
140 |
.if ${PORT_OPTIONS:MOPENAL} |
127 |
USE_OPENAL= al |
141 |
USE_OPENAL= al |
128 |
MAKE_ARGS+= USE_OPENAL=1 USE_OPENAL_DLOPEN=0 |
142 |
MAKE_ARGS+= USE_OPENAL=1 USE_OPENAL_DLOPEN=0 |
Lines 129-236
Link Here
|
129 |
.else |
143 |
.else |
130 |
MAKE_ARGS+= USE_OPENAL=0 |
144 |
MAKE_ARGS+= USE_OPENAL=0 |
131 |
.endif |
145 |
.endif |
132 |
# SDL |
146 |
|
133 |
USE_SDL= sdl |
|
|
134 |
# Vorbis |
135 |
.if ${PORT_OPTIONS:MVORBIS} |
147 |
.if ${PORT_OPTIONS:MVORBIS} |
136 |
LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis |
148 |
LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis |
137 |
MAKE_ARGS+= USE_CODEC_VORBIS=1 |
149 |
MAKE_ARGS+= USE_CODEC_VORBIS=1 |
138 |
.else |
150 |
.else |
139 |
MAKE_ARGS+= USE_CODEC_VORBIS=0 |
151 |
MAKE_ARGS+= USE_CODEC_VORBIS=0 |
140 |
.endif |
152 |
.endif |
141 |
# Mumble |
|
|
142 |
.if ${PORT_OPTIONS:MMUMBLE} |
143 |
MAKE_ARGS+= USE_MUMBLE=1 |
144 |
.else |
145 |
MAKE_ARGS+= USE_MUMBLE=0 |
146 |
.endif |
147 |
.else |
148 |
# Features that aren't installed without a client |
149 |
WITHOUT_DLRENDERER= yes |
150 |
.endif |
151 |
|
153 |
|
152 |
# SMP is only built with CLIENT. |
154 |
.if ${PORT_OPTIONS:MOPUS} |
153 |
.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP} |
155 |
MAKE_ARGS+= USE_CODEC_OPUS=1 USE_INTERNAL_OPUS=1 |
154 |
MAKE_ARGS+= BUILD_CLIENT=1 |
|
|
155 |
PLIST_SUB+= CLIENT="" |
156 |
Q3BIN+= ${Q3CLIENT} |
157 |
.else |
156 |
.else |
158 |
MAKE_ARGS+= BUILD_CLIENT=0 |
157 |
MAKE_ARGS+= USE_CODEC_OPUS=0 |
159 |
PLIST_SUB+= CLIENT="@comment " |
|
|
160 |
.endif |
158 |
.endif |
161 |
|
159 |
|
162 |
.if ${PORT_OPTIONS:MDEDICATED} |
160 |
.if ${PORT_OPTIONS:MMUMBLE} |
163 |
MAKE_ARGS+= BUILD_SERVER=1 |
161 |
MAKE_ARGS+= USE_MUMBLE=1 |
164 |
PLIST_SUB+= DEDICATED="" |
|
|
165 |
Q3BIN+= ${Q3SERVER} |
166 |
.else |
162 |
.else |
167 |
MAKE_ARGS+= BUILD_SERVER=0 |
163 |
MAKE_ARGS+= USE_MUMBLE=0 |
168 |
PLIST_SUB+= DEDICATED="@comment " |
|
|
169 |
.endif |
164 |
.endif |
170 |
|
165 |
|
171 |
.if ${PORT_OPTIONS:MGAMELIBS} |
166 |
.if ${PORT_OPTIONS:MGAMELIBS} |
172 |
MAKE_ARGS+= BUILD_GAME_SO=1 |
167 |
MAKE_ARGS+= BUILD_GAME_SO=1 |
173 |
PLIST_SUB+= GAMELIBS="" |
|
|
174 |
.else |
168 |
.else |
175 |
PLIST_SUB+= GAMELIBS="@comment " |
169 |
MAKE_ARGS+= BUILD_GAME_SO=0 |
176 |
.endif |
170 |
.endif |
177 |
|
171 |
|
178 |
# Note that SMP is only supported on OS-X, hence the option has been removed. |
172 |
# Note that SMP is only supported on OS-X, hence the option has been removed. |
179 |
.if ${PORT_OPTIONS:MSMP} |
173 |
.if ${PORT_OPTIONS:MSMP} |
180 |
MAKE_ARGS+= BUILD_CLIENT_SMP=1 |
174 |
MAKE_ARGS+= BUILD_CLIENT_SMP=1 |
181 |
PLIST_SUB+= SMP="" |
|
|
182 |
Q3BIN+= ${Q3CLIENT}-smp |
175 |
Q3BIN+= ${Q3CLIENT}-smp |
183 |
.else |
176 |
.else |
184 |
MAKE_ARGS+= BUILD_CLIENT_SMP=0 |
177 |
MAKE_ARGS+= BUILD_CLIENT_SMP=0 |
185 |
PLIST_SUB+= SMP="@comment " |
|
|
186 |
.endif |
178 |
.endif |
187 |
|
179 |
|
188 |
.if ${PORT_OPTIONS:MDLRENDERER} |
180 |
.if ${PORT_OPTIONS:MDLRENDERER} |
189 |
PLIST_SUB+= DLRENDERER="" |
|
|
190 |
MAKE_ARGS+= USE_RENDERER_DLOPEN=1 |
181 |
MAKE_ARGS+= USE_RENDERER_DLOPEN=1 |
|
|
182 |
. if ${IOQ3:MOPENGL2} |
183 |
Q3DOCS+= opengl2-readme.txt |
184 |
. endif |
191 |
.else |
185 |
.else |
192 |
MAKE_ARGS+= USE_RENDERER_DLOPEN=0 |
186 |
MAKE_ARGS+= USE_RENDERER_DLOPEN=0 |
193 |
PLIST_SUB+= DLRENDERER="@comment " |
|
|
194 |
.endif |
187 |
.endif |
195 |
|
188 |
|
196 |
.if ${PORT_OPTIONS:MTOOLS} |
189 |
# Generate a set of install instruction tuples: <cmd>;<src>;<dst> |
197 |
PLIST_SUB+= TOOLS="" |
|
|
198 |
.else |
199 |
PLIST_SUB+= TOOLS="@comment " |
200 |
.endif |
201 |
|
202 |
do-install: ${Q3INSTALL} |
203 |
.for bin in ${Q3BIN} |
190 |
.for bin in ${Q3BIN} |
204 |
${INSTALL_PROGRAM} ${BUILDDIR}/${bin}.${ARCH} \ |
191 |
IOQ3_INST+= PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX} |
205 |
${PREFIX}/bin/${bin}${BINSUFFIX} |
|
|
206 |
.endfor |
192 |
.endfor |
207 |
.if ${PORT_OPTIONS:MTOOLS} |
193 |
.if ${PORT_OPTIONS:MTOOLS} |
208 |
.for bin in ${Q3TOOLS} |
194 |
. for bin in ${Q3TOOLS} |
209 |
${INSTALL_PROGRAM} ${BUILDDIR}/tools/${bin} \ |
195 |
IOQ3_INST+= PROGRAM;tools/${bin};bin/${bin}${BINSUFFIX} |
210 |
${PREFIX}/bin/${bin}${BINSUFFIX} |
196 |
. endfor |
211 |
.endfor |
|
|
212 |
.endif |
197 |
.endif |
213 |
.if ${PORT_OPTIONS:MDLRENDERER} |
198 |
.if ${PORT_OPTIONS:MDLRENDERER} |
214 |
.for renderer in ${Q3RENDERER} |
199 |
. for renderer in ${Q3RENDERER} |
215 |
${MKDIR} ${LIBDIR} |
200 |
IOQ3_INST+= LIB;${renderer}.so;${LIBDIR}/${renderer}.so |
216 |
${INSTALL_LIB} ${BUILDDIR}/${renderer}.so ${LIBDIR} |
201 |
. endfor |
217 |
.endfor |
|
|
218 |
.endif |
202 |
.endif |
219 |
.if ${PORT_OPTIONS:MGAMELIBS} |
203 |
.if ${PORT_OPTIONS:MGAMELIBS} |
220 |
.for dir in ${Q3BASE} |
204 |
. for dir in ${Q3BASE} |
221 |
${MKDIR} ${LIBDIR}/${dir} |
205 |
PLIST_DIRS+= ${LIBDIR}/${dir} |
222 |
${INSTALL_LIB} ${BUILDDIR}/${dir}/*.so ${LIBDIR}/${dir} |
206 |
. for lib in ${Q3GAMELIBS} |
223 |
.endfor |
207 |
IOQ3_INST+= LIB;${dir}/${lib}${IOQ3ARCH}.so;${LIBDIR}/${dir}/${lib}${IOQ3ARCH}.so |
|
|
208 |
. endfor |
209 |
. endfor |
224 |
.endif |
210 |
.endif |
|
|
211 |
.if ${PORT_OPTIONS:MDLRENDERER} || ${PORT_OPTIONS:MGAMELIBS} |
212 |
PLIST_DIRS+= ${LIBDIR} |
213 |
.endif |
225 |
.if ${PORT_OPTIONS:MDOCS} |
214 |
.if ${PORT_OPTIONS:MDOCS} |
226 |
${MKDIR} ${DOCSDIR} |
215 |
PLIST_DIRS+= ${DOCSDIR} |
227 |
${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR} |
216 |
. for doc in ${Q3DOCS} |
|
|
217 |
IOQ3_INST+= DATA;../../${doc};${DOCSDIR}/${doc} |
218 |
. endfor |
228 |
.endif |
219 |
.endif |
229 |
|
220 |
|
|
|
221 |
# Generate PLIST_FILES |
222 |
.for inst in ${IOQ3_INST} |
223 |
PLIST_FILES+= ${inst:C/.*;//} |
224 |
.endfor |
225 |
|
226 |
# Generate install target |
227 |
do-install: ${Q3INSTALL} |
228 |
.for dir in ${PLIST_DIRS} |
229 |
${MKDIR} ${PREFIX}/${dir} |
230 |
.endfor |
231 |
.for inst in ${IOQ3_INST} |
232 |
${INSTALL_${inst:C/;.*//}} ${BUILDDIR}/${inst:C/[^;]*;//:C/;.*//} \ |
233 |
${PREFIX}/${inst:C/.*;//} |
234 |
.endfor |
235 |
|
230 |
post-install: |
236 |
post-install: |
231 |
@${ECHO_CMD} |
237 |
@${JOT} -s '' -b= 78 |
232 |
@${CAT} ${PKGMESSAGE} |
238 |
@${CAT} ${PKGMESSAGE} |
233 |
@${ECHO_CMD} |
239 |
@${JOT} -s '' -b= 78 |
234 |
|
240 |
|
235 |
.if !defined(Q3TOTALCONV) |
241 |
.if !defined(Q3TOTALCONV) |
236 |
.include "${.CURDIR}/../quake3-data/Makefile.include" |
242 |
.include "${.CURDIR}/../quake3-data/Makefile.include" |