summaryrefslogtreecommitdiff
path: root/games/quakeforge/Makefile
blob: c55614aff17adaf44448968fbd948f00ee1e0c08 (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
# New ports collection makefile for:	QuakeForge
# Date created:		4 January 2000
# Whom:			darius@dons.net.au
#
# $FreeBSD$
#

PORTNAME=	quakeforge
PORTVERSION=	0.5.5
PORTREVISION=	3
CATEGORIES=	games
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:S/$/:sf/}
MASTER_SITE_SUBDIR=	quake/:sf
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:sf
DIST_SUBDIR=	${PORTNAME}
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}

MAINTAINER=	alepulver@FreeBSD.org
COMMENT=	Cleaned up copy of the GPLd Quake 1 source code

NOT_FOR_ARCHS=	sparc64
GNU_CONFIGURE=	yes
USE_BZIP2=	yes
USE_BISON=	yes
USE_GMAKE=	yes
WANT_SDL=	yes

CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ARGS+=--with-global-cfg=${PREFIX}/etc/quakeforge.conf \
		--with-sharepath=${DATADIR} \
		--disable-optimize

OPTIONS=	CLIENTS "Build clients" on \
		OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
		SDL "Build SDL client" off \
		SERVERS "Build dedicated servers" on \
		SKYBOXES "Install skyboxes pak" off \
		STATIC_PLUGINS "Build plugins into executable" off \
		VORBIS "Enable Ogg Vorbis support in clients" off \
		XMMS "Enable XMMS support in clients" off

MAN1=		pak.1 qfcc.1 qflight.1 qfvis.1 wad.1
SUB_FILES=	pkg-message
INSTALLS_SHLIB=	yes

DATADIR=	${Q1DIR}

.include "${.CURDIR}/../quake-data/Makefile.include"

.include <bsd.port.pre.mk>

.if !defined(WITHOUT_CLIENTS)
USE_GL=		yes
PLIST_SUB+=	CLIENTS=""

.if defined(WITH_SDL)
USE_SDL=	sdl
CONFIGURE_ARGS+=--with-sdl=${LOCALBASE}
PLIST_SUB+=	SDL=""
.else
CONFIGURE_ARGS+=--without-sdl
PLIST_SUB+=	SDL="@comment "
.endif

.if defined(WITH_VORBIS)
LIB_DEPENDS+=	vorbis.3:${PORTSDIR}/audio/libvorbis
CONFIGURE_ARGS+=--with-ogg=${LOCALBASE} --with-vorbis=${LOCALBASE}
PLIST_SUB+=	VORBIS=""
.else
CONFIGURE_ARGS+=--without-ogg --without-vorbis
PLIST_SUB+=	VORBIS="@comment "
.endif

.if defined(WITH_XMMS)
LIB_DEPENDS+=	xmms.4:${PORTSDIR}/multimedia/xmms
CONFIGURE_ARGS+=--with-xmms-prefix=${X11BASE}
PLIST_SUB+=	XMMS=""
.else
CONFIGURE_ARGS+=--without-xmms
PLIST_SUB+=	XMMS="@comment "
.endif

.else
CONFIGURE_ARGS+=--without-clients
PLIST_SUB+=	CLIENTS="@comment "
.endif	# WITH_CLIENTS

.if !defined(WITHOUT_OPTIMIZED_CFLAGS)
CFLAGS+=	-O3 -funroll-loops -fomit-frame-pointer -fno-common \
		-fexpensive-optimizations -fstrict-aliasing
.   if ${ARCH} != "alpha"
CFLAGS+=	-ffast-math
.   endif
.endif

.if !defined(WITHOUT_SERVERS)
PLIST_SUB+=	SERVERS=""
.else
CONFIGURE_ARGS+=--without-servers
PLIST_SUB+=	SERVERS="@comment "
.endif

.if defined(WITH_SKYBOXES)
MASTER_SITES+=	http://www.quakeforge.net/files/:qf
DISTFILES+=	skyboxes.pak:qf
PLIST_SUB+=	SKYBOXES=""
.else
PLIST_SUB+=	SKYBOXES="@comment "
.endif

.if defined(WITH_STATIC_PLUGINS)
CONFIGURE_ARGS+=--with-static-plugins
PLIST_SUB+=	PLUGINS="@comment "
.else
PLIST_SUB+=	PLUGINS=""
.endif

post-install:
.if defined(WITH_SKYBOXES)
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/skyboxes.pak ${DATADIR}/QF
.endif
.if !defined(NOPORTDOCS)
	${MKDIR} ${DOCSDIR}
.   for f in *.txt *.q1 *.q2 *.ico *.gif *.fig *.h CodingStyle
	${INSTALL_DATA} ${WRKSRC}/doc/${f} ${DOCSDIR}
.   endfor
.   for d in config data ideas
	${CP} -R ${WRKSRC}/doc/${d} ${DOCSDIR}
.   endfor
.endif
	@${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}

.include <bsd.port.post.mk>