freebsd-ports/games/quake2-data/Makefile.include
Alejandro Pulver 32499bf46d - Bump PORTREVISION.
- Build an install the original game.so file to avoid each engine having to
  build its own version (unless it provides additional features or is
  incompatible).
- Add MANUAL option (to install the game manual).
- Add some notes about Quake II ports in Makefile.include.
- Remove CTF option (split to "games/quake2-ctf").
- Remove mention of Rogue/Xatrix mission packs in files/pkg-message.in (split
  to "games/quake2/rogue" and "games/quake2-xatrix").
2006-07-28 21:38:59 +00:00

62 lines
2.8 KiB
Makefile

# 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).
#
# The following are 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 the
# 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 immediatly 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 examples see the existing ports.
#
# Set variables.
Q2PKGNAMEPREFIX?=quake2-
Q2DIR?= ${LOCALBASE}/share/quake2
# Add them to the ports system.
MAKE_ENV+= Q2DIR="${Q2DIR}"
PLIST_SUB+= Q2DIR="${Q2DIR:S/${LOCALBASE}\///}"
SUB_LIST+= Q2DIR="${Q2DIR}"
# Add the dependency.
.if ${PORTNAME} != "data"
RUN_DEPENDS+= ${Q2DIR}:${PORTSDIR}/games/quake2-data
.endif