pkgsrc/games/doomlegacy/Makefile
micha f532242fd9 games/doomlegacy: import doomlegacy-1.47.2
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.
2019-06-17 13:53:22 +00:00

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"