aboutsummaryrefslogblamecommitdiff
path: root/games/tremulous/Makefile
blob: ec0f4e79629fad9fb43f397b3abccf762364cf62 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                      
           


                         
                  
                     
                                                           
 
                                 


                                                                             
 
                         
                                                                     
 


                                         





                                                                        

                                                                    
                                           



                                                     
                                                        


                                                   
 
                              
 
                    
                          
                           
        





                                     
                                                          
        
                             
                         
                            
                                      
                                   

          
     
                                

                               

                                

                               
       

                            
        
        
                             
                                                        
                                  
        

      
                           






                                  
                              






                                     
                                                           





                                    
                                  
                                                   





                                         
                                     


                                      
                               












                                                          

                                                          


                    

                                                                 
       
                                  
                                                                          
                                        
      

                                                                   

                                                  
 
                      
# Created by: Alejandro Pulver <alepulver@FreeBSD.org>
# $FreeBSD$

PORTNAME=	tremulous
PORTVERSION=	1.1.0
PORTREVISION=	11
CATEGORIES=	games
MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTVERSION:R}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Free FPS game featuring two opposing teams: humans and aliens

LICENSE=	GPLv2

USES=		gmake zip
MAKE_ENV=	DEFAULT_BASEDIR="${DATADIR}" PTHREAD_LIBS="-lpthread"

WRKSRC=		${WRKDIR}/${PORTNAME}
BUILD_WRKSRC=	${WRKSRC}/${DISTNAME}-src

VM_ARCHS=	amd64 i386

OPTIONS_DEFINE=		GAMELIBS OPENAL OPENAL_DLOPEN OPTIMIZED_CFLAGS \
			SDL_AUDIO SDL_VIDEO VORBIS
OPTIONS_MULTI=		FLAVOR
OPTIONS_MULTI_FLAVOR=	CLIENT DEDICATED SMP_CLIENT MASTER_SERVER
OPTIONS_DEFAULT=	CLIENT DEDICATED OPTIMIZED_CFLAGS SMP_CLIENT

FLAVOR_DESC=		Clients and servers
CLIENT_DESC=		Build client
GAMELIBS_DESC=		Force building game libraries
DEDICATED_DESC=		Build dedicated server
MASTER_SERVER_DESC=	Build master server
OPENAL_DLOPEN_DESC=	Enable dinamic loading of OpenAL
SDL_AUDIO_DESC=		Use SDL for audio
SDL_VIDEO_DESC=		Use SDL for video
SMP_CLIENT_DESC=	Build SMP (threaded) client

.include <bsd.port.options.mk>

.for arch in ${ARCH}
.  if ${VM_ARCHS:M${arch}}
HAVE_VM_COMPILED=	yes
.  endif
.endfor

.if defined(HAVE_VM_COMPILED)
MAKE_ENV+=	HAVE_VM_COMPILED=true
.endif

.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP_CLIENT}
# OpenAL
.  if ${PORT_OPTIONS:MOPENAL}
USES+=		openal:al
MAKE_ENV+=	USE_OPENAL=1
.    if ${PORT_OPTIONS:MOPENAL_DLOPEN}
MAKE_ENV+=	USE_OPENAL_DLOPEN=1
.    endif
.  endif
# SDL
.  if ${PORT_OPTIONS:MSDL_AUDIO}
USE_SDL=	sdl
MAKE_ENV+=	USE_SDL_AUDIO=1
.  endif
.  if ${PORT_OPTIONS:MSDL_VIDEO}
USE_SDL=	sdl
MAKE_ENV+=	USE_SDL_VIDEO=1
.  else
USE_GL=		gl
USE_XORG=	x11 xxf86dga
.  endif
# Vorbis
.  if ${PORT_OPTIONS:MVORBIS}
LIB_DEPENDS+=	libvorbis.so:${PORTSDIR}/audio/libvorbis
MAKE_ENV+=	USE_CODEC_VORBIS=1
.  endif
.endif

.if ${PORT_OPTIONS:MCLIENT}
MAKE_ENV+=	BUILD_CLIENT=1
PLIST_SUB+=	CLIENT=""
TRBIN+=		tremulous
.else
PLIST_SUB+=	CLIENT="@comment "
.endif

.if ${PORT_OPTIONS:MDEDICATED}
MAKE_ENV+=	BUILD_SERVER=1
PLIST_SUB+=	DEDICATED=""
TRBIN+=		tremded
.else
PLIST_SUB+=	DEDICATED="@comment "
.endif

.if ${PORT_OPTIONS:MGAMELIBS} || !defined(HAVE_VM_COMPILED)
MAKE_ENV+=	BUILD_GAME_SO=1
PLIST_SUB+=	GAMELIBS=""
.else
PLIST_SUB+=	GAMELIBS="@comment "
.endif

.if ${PORT_OPTIONS:MMASTER_SERVER}
LIB_DEPENDS+=	libtdb.so:${PORTSDIR}/databases/tdb
MAKE_ENV+=	BUILD_MASTER_SERVER=1
PLIST_SUB+=	MASTER_SERVER=""
.else
PLIST_SUB+=	MASTER_SERVER="@comment "
.endif

.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
MAKE_ENV+=	USE_OPTIMIZED_CFLAGS=1
.endif

.if ${PORT_OPTIONS:MSMP_CLIENT}
MAKE_ENV+=	BUILD_CLIENT_SMP=1
PLIST_SUB+=	SMP=""
TRBIN+=		tremulous-smp
.else
PLIST_SUB+=	SMP="@comment "
.endif

post-extract:
	@cd ${WRKSRC} && ${TAR} zxf ${DISTNAME}-src.tar.gz

post-patch:
	@${REINPLACE_CMD} -e 's|botlib\.log|/dev/null|' \
		${BUILD_WRKSRC}/src/botlib/be_interface.c
	@${REINPLACE_CMD} -e '/callMask = 0/s|^static||' \
		${BUILD_WRKSRC}/src/qcommon/vm_x86.c

do-install:
.for bin in ${TRBIN}
	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/build/release/${bin} \
		${STAGEDIR}${PREFIX}/bin
.endfor
.if ${PORT_OPTIONS:MMASTER_SERVER}
	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/src/master/release/tremmaster \
		${STAGEDIR}${PREFIX}/bin
.endif
	@${MKDIR} ${STAGEDIR}${DATADIR}/base
	${INSTALL_DATA} ${WRKSRC}/base/* ${STAGEDIR}${DATADIR}/base
	${INSTALL_DATA} ${WRKSRC}/tremulous.xpm \
		${STAGEDIR}${PREFIX}/share/pixmaps

.include <bsd.port.mk>