summaryrefslogtreecommitdiffstats
path: root/games/vavoom/Makefile
blob: 1ab26d290533fb343d1349bfec1a65c0914d78e9 (plain)
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
# Created by: Igor Pokrovsky <tiamat@comset.net>
# $FreeBSD$

PORTNAME=	vavoom
PORTVERSION=	1.33
PORTREVISION=	14
CATEGORIES=	games
MASTER_SITES=	SF/${PORTNAME}/Vavoom-source/${PORTVERSION}

MAINTAINER=	bar@FreeBSD.org
COMMENT=	Doom, Doom II, Heretic, Hexen, and Strife source port

LICENSE=	GPLv2

LIB_DEPENDS=	libpng.so:graphics/png

USES=		cmake:noninja dos2unix jpeg tar:bzip2
DOS2UNIX_REGEX=	((.*\.(c|cpp|h|s|asm|inc|vc|ls|acs|cfg|txt|vs|mak|mgw"))$$|\/(makefile\..*|makefile|Makefile)$$)

OPTIONS_DEFINE=	FLAC LAUNCHER MAD MIKMOD OPENAL OPTIMIZED_CFLAGS VORBIS SDL DOCS
OPTIONS_DEFAULT=	OPENGL SDL
LAUNCHER_DESC=	Build GUI launcher
OPENAL_DESC=	Enable OpenAL support
SDL_DESC=	Use SDL for OpenGL support

SUB_FILES=	pkg-message

# The `-fno-strict-aliasing' flag (default on FreeBSD 6.0+) produces
# non-working code for `vcc', so we remove it here if present.
CFLAGS:=	${CFLAGS:N-fno-strict-aliasing}
CXXFLAGS:=	${CFLAGS:N-fno-strict-aliasing}

OPTIONS_SUB=				yes

FLAC_LIB_DEPENDS=			libFLAC.so:audio/flac
FLAC_CMAKE_ON=				-DWITH_FLAC:BOOL=ON
FLAC_CMAKE_OFF=				-DWITH_FLAC:BOOL=OFF

LAUNCHER_USE=				WX=2.8+
LAUNCHER_CMAKE_ON=			-DENABLE_LAUNCHER:BOOL=ON \
	-DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}"
LAUNCHER_CMAKE_OFF=			-DENABLE_LAUNCHER:BOOL=OFF

MAD_LIB_DEPENDS=			libmad.so:audio/libmad
MAD_CMAKE_ON=				-DWITH_LIBMAD:BOOL=ON
MAD_CMAKE_OFF=				-DWITH_LIBMAD:BOOL=OFF

MIKMOD_LIB_DEPENDS=			libmikmod.so:audio/libmikmod
MIKMOD_CMAKE_ON=			-DWITH_MIKMOD:BOOL=ON
MIKMOD_CMAKE_OFF=			-DWITH_MIKMOD:BOOL=OFF

OPENAL_USES=				openal:al
OPENAL_CMAKE_ON=			-DWITH_OPENAL:BOOL=ON
OPENAL_CMAKE_OFF=			-DWITH_OPENAL:BOOL=OFF

VORBIS_LIB_DEPENDS=			libvorbis.so:audio/libvorbis
VORBIS_CMAKE_ON=			-DWITH_VORBIS:BOOL=ON
VORBIS_CMAKE_OFF=			-DWITH_VORBIS:BOOL=OFF

SDL_USE=					SDL=mixer,sdl GL=yes
SDL_CMAKE_ON=				-DWITH_SDL:BOOL=ON -DWITH_OPENGL:BOOL=ON
SDL_CMAKE_OFF=				-DWITH_SDL:BOOL=OFF -DWITH_OPENGL:BOOL=OFF

OPTIMIZED_CFLAGS_CFLAGS=	-O3 -ffast-math -fomit-frame-pointer

.include <bsd.port.options.mk>

post-patch:
	@${REINPLACE_CMD} -e 's|$$\* ||; s|$${IWADDIR}|-iwaddir ${DMDIR} $$*|' \
		${WRKSRC}/source/CMakeLists.txt
	@${REINPLACE_CMD} -e 's/<malloc.h>/<stdlib.h>/' \
		${WRKSRC}/utils/acc/parse.c
	@${REINPLACE_CMD} -e 's/<malloc.h>/<stdlib.h>/' \
		${WRKSRC}/utils/acc/strlist.c

post-configure:
.if ${PORT_OPTIONS:MLAUNCHER}
	@${REINPLACE_CMD} -e 's/-pthread;-D_THREAD_SAFE //; \
			s/-isystem /-I/g' \
		${WRKSRC}/utils/vlaunch/CMakeFiles/vlaunch.dir/flags.make
.endif

post-install:
.if ${PORT_OPTIONS:MDOCS}
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/docs/vavoom.txt ${STAGEDIR}${DOCSDIR}
.endif
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vavoom.bin
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vavoom-dedicated.bin

.include "${PORTSDIR}/games/doom-data/Makefile.include"

.include <bsd.port.mk>
OpenPOWER on IntegriCloud