f532242fd9
This is one of the most popular Doom source ports. It enhances Doom with things like: - Free Look - OpenGL renderer - Heretic support, - TCP/IP networking and much more. Doom Legacy can play Doom, Boom, Marine's Best Friend (MBF), and Heretic maps. In addition to the original games by id Software and Raven Software, there are hundreds of free, fan-made maps available on the Internet. These maps are typically distributed as PWAD files, which are not fully self-contained. For each game you will also need the corresponding IWAD data file, which contains all the graphics, wall and floor textures, sounds, and music for that game. For example, if you want to play Doom II maps, you'll need the IWAD file doom2.wad, or one of the free replacements. Legacy has implemented the fundamental and de-facto-standard Boom extensions, and the Marine's Best Friend (MBF) extensions. Legacy also has implemented among other things 3D floors, swimmable water and other special effects using extended linedef codes, and supports the FraggleScript scripting language. This package contains the SDL build of Doom Legacy.
95 lines
3 KiB
Makefile
95 lines
3 KiB
Makefile
# $NetBSD: Makefile,v 1.1 2019/06/17 13:53:22 micha Exp $
|
|
|
|
VERS= 1.47.2
|
|
PKGNAME= doomlegacy-${VERS}
|
|
CATEGORIES= games
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=doomlegacy/}
|
|
DISTNAME= ${PKGNAME:S/-/_/}_source
|
|
DISTFILES= ${DEFAULT_DISTFILES} doomlegacy_${VERS}_common.zip
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= micha@NetBSD.org
|
|
HOMEPAGE= http://doomlegacy.sourceforge.net/
|
|
COMMENT= The legacy of Doom
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
# Tested on Linux/ppc (32bit Big Endian) and NetBSD/amd64 (64bit Little Endian)
|
|
# Untested: In general the source code has support for the other listed OS too
|
|
ONLY_FOR_PLATFORM= Darwin-*-* DragonFly-*-* FreeBSD-*-* Linux-*-* \
|
|
NetBSD-*-* OpenBSD-*-* SunOS-*-*
|
|
|
|
USE_LANGUAGES+= c99
|
|
|
|
USE_TOOLS+= gmake
|
|
MAKE_JOBS_SAFE= no
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
.include "../../mk/endian.mk"
|
|
|
|
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
|
|
MAKE_FLAGS+= OS=FREEBSD
|
|
.elif ${OPSYS} == "NetBSD"
|
|
MAKE_FLAGS+= OS=NETBSD
|
|
.elif ${OPSYS} == "Darwin"
|
|
MAKE_FLAGS+= OS=MAC
|
|
.else
|
|
# Other Unix (should work for GNU/Linux, OpenBSD and SunOS)
|
|
MAKE_FLAGS+= OS=LINUX
|
|
.endif
|
|
MAKE_FLAGS+= HAVE_MIXER=1
|
|
|
|
.if ${MACHINE_ENDIAN} == "big"
|
|
# Some compilers define this themselves (but maybe not all)
|
|
CFLAGS+= -D__BIG_ENDIAN__
|
|
.endif
|
|
|
|
# DOOMWADDIR is intentionally shared with other Doom packages
|
|
DOOMWADDIR= share/doom
|
|
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc/doomlegacy ${DOOMWADDIR}
|
|
|
|
MESSAGE_SRC+= MESSAGE.doomlegacy
|
|
MESSAGE_SUBST+= PKGNAME=${PKGNAME:C/-.*//}
|
|
MESSAGE_SUBST+= DOOMWADDIR_CONF="${PREFIX}/${DOOMWADDIR}"
|
|
|
|
# Configure defaults for LEGACYWADDIR and DOOMWADDIR
|
|
SUBST_CLASSES+= doomdef
|
|
SUBST_STAGE.doomdef= do-configure
|
|
SUBST_MESSAGE.doomdef= Preparing doomdef.h file ...
|
|
SUBST_FILES.doomdef= src/doomdef.h
|
|
SUBST_SED.doomdef= -e 's,LEGACYWADDIR "/usr/local/share/games/doomlegacy",LEGACYWADDIR "${PREFIX}/${DOOMWADDIR}",g'
|
|
SUBST_SED.doomdef+= -e 's,DEFWADS01 "~/games/doomlegacy/wads",DEFWADS01 "${PREFIX}/${DOOMWADDIR}",'
|
|
|
|
pre-configure:
|
|
${CP} ${FILESDIR}/doomlegacy.in1 ${WRKDIR}
|
|
|
|
# Process manpage template
|
|
do-configure:
|
|
cd ${WRKDIR} && \
|
|
${SED} -e 's,$$NAME,doomlegacy,g' \
|
|
-e 's,$$VERSION,${VERS},g' \
|
|
-e 's,$$WADDIR,${PREFIX}/${DOOMWADDIR},g' \
|
|
doomlegacy.in1 >doomlegacy.1
|
|
|
|
do-install:
|
|
cd ${WRKSRC} && \
|
|
${INSTALL_PROGRAM} bin/doomlegacy \
|
|
${DESTDIR}${PREFIX}/bin; \
|
|
${INSTALL_DATA} docs/legacy.css docs/whatsnew.html \
|
|
${DESTDIR}${PREFIX}/share/doc/doomlegacy; \
|
|
cd ${WRKDIR}/doomlegacy_${VERS} && \
|
|
${INSTALL_DATA} legacy.wad \
|
|
${DESTDIR}${PREFIX}/${DOOMWADDIR}/legacy.wad; \
|
|
cd ${WRKDIR} && \
|
|
${INSTALL_MAN} ${WRKDIR}/doomlegacy.1 \
|
|
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
|
|
|
|
# Ensure that at least the shareware Episode 1 of Doom is available
|
|
# Note: The demos from games/doom1 are not compatible with the Legacy engine
|
|
DEPENDS+= doom1-[0-9]*:../../games/doom1
|
|
|
|
BUILDLINK_API_DEPENDS.SDL_mixer+= SDL_mixer>=1.2.7
|
|
.include "../../audio/SDL_mixer/buildlink3.mk"
|
|
BUILDLINK_API_DEPENDS.SDL+= SDL>=1.2.10
|
|
.include "../../devel/SDL/buildlink3.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|