0c65f94d0a
- Consistently use vertical bar (pipe) in :S substitutions - Do not abuse .error statement, set IGNORE knob instead - Drop some unnecessary quotation marks in comparisons - Add a comment on why we cannot depend on particular .pak file - Simplify extraction of the `linuxq3apoint-1.32b-3.x86.run'
62 lines
3 KiB
Text
62 lines
3 KiB
Text
# Makefile for defining variables used by Quake II related ports.
|
|
#
|
|
# A dependency to "games/quake2-data" is automatically added (except for the
|
|
# data port itself). The ports using this definitions should assume the data
|
|
# is installed (i.e. no need for pkg-message asking to copy the .pak files),
|
|
# and the main game.so (except the engine incompatible with the original one).
|
|
#
|
|
# The following variables are defined, and can be used in the port:
|
|
#
|
|
# Q2PKGNAMEPREFIX - The package name prefix for Quake II additions
|
|
# Q2DIR - The Quake II data directory (also added to
|
|
# MAKE_ENV, PLIST_SUB, and SUB_LIST)
|
|
#
|
|
# Some notes for making this kind of ports:
|
|
#
|
|
# - The game engines should be modified to add ${Q2DIR} as the first search
|
|
# path (it's a stack so new paths override previous ones), and add
|
|
# "~/.${PORTNAME}" as the last one (this is where it writes configuration,
|
|
# saved games, etc.), which may need to be created if doesn't exist;
|
|
# - If the engine needs to load additional data (renderers, pak files, etc.)
|
|
# don't install it in ${Q2DIR}, use ${PREFIX}/lib/${PORTNAME} instead and
|
|
# add that directory to the search paths immediately after ${Q2DIR};
|
|
# - The reason to use "~/.${PORTNAME}" for writing is in the case the program
|
|
# isn't compatible with the original engine (e.g. new console variables,
|
|
# different saved game format, etc.). If just the configuration is
|
|
# different it can write in "~/.quake2" but use a different configuration
|
|
# file name (not config.cfg);
|
|
# - Search path summary (ordered):
|
|
# - cddir - Directory to be prepended (optional, configurable)
|
|
# - ${Q2DIR} - Base shared data directory
|
|
# - ${LIBDIR} - Program specific data directory (optional)
|
|
# - basedir - Base data directory (configurable)
|
|
# - "~/.${PORTNAME}" - Writing directory
|
|
# - The "game${ARCH}.so" in game engines and modifications should be changed
|
|
# to just "game.so" (the ${ARCH} can cause incompatibilities with new
|
|
# platforms and is unnecessary);
|
|
# - The modifications and data which is common to all the engines should be
|
|
# installed in ${Q2DIR};
|
|
# - The engines should not install game.so files for the normal game, CTF,
|
|
# Rogue, Xatrix, and all other which exist as a separate port. If the
|
|
# version the engine provides is different than the original one then add
|
|
# it as an option (off by default). If the engine is not compatible with
|
|
# the game.so files provided by the ports then ignore this rule.
|
|
#
|
|
# For the examples, please see existing ports.
|
|
#
|
|
|
|
Q2PKGNAMEPREFIX?= quake2-
|
|
Q2DIR?= ${LOCALBASE}/share/quake2
|
|
|
|
.if defined(PKGNAMEPREFIX) && ${PKGNAMEPREFIX} == ${Q2PKGNAMEPREFIX} && defined(OPTIONSMKINCLUDED)
|
|
IGNORE= is using Q2PKGNAMEPREFIX, but <bsd.port.options.mk> included too early
|
|
.endif
|
|
|
|
MAKE_ENV+= Q2DIR="${Q2DIR}"
|
|
PLIST_SUB+= Q2DIR="${Q2DIR:S|${LOCALBASE}/||}"
|
|
SUB_LIST+= Q2DIR="${Q2DIR}"
|
|
|
|
.if ${PORTNAME} != data
|
|
# Not depending on the particular .pak file since they are OPTIONS-dependent
|
|
RUN_DEPENDS+= ${Q2DIR}:${PORTSDIR}/games/quake2-data
|
|
.endif
|