#-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # # $FreeBSD$ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. # This file is in the public domain. # # Please view me with 4 column tabs! # This is the master file for the most common elements to all port # Makefile in the ports system. For a more general overview of its # use and importance, see the Porter's Handbook. # There are two different types of "maintainers" in the ports framework. # The maintainer alias of the bsd.port.mk file is listed below in the # FreeBSD_MAINTAINER entry. You should consult them if you have any # questions/suggestions regarding this file. # # DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET # A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL # UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED! FreeBSD_MAINTAINER= portmgr@FreeBSD.org # For each port, the MAINTAINER variable is what you should consult for # contact information on the person(s) to contact if you have questions/ # suggestions about that specific port. By default (if no MAINTAINER # is listed), a port is maintained by the subscribers of the ports@FreeBSD.org # mailing list, and any correspondence should be directed there. # # MAINTAINER - The e-mail address of the contact person for this port # (default: ports@FreeBSD.org). # # These are meta-variables that are automatically set to the system # you are running on. These are provided in case you need to take # different actions for different values. # # ARCH - The architecture, as returned by "uname -p". # OPSYS - Portability clause. This is the operating system the # makefile is being used on. Automatically set to # "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. # OSREL - The release version (numeric) of the operating system. # OSVERSION - The value of __FreeBSD_version. # PORTOBJFORMAT - The object format ("aout" or "elf"). # # This is the beginning of the list of all variables that need to be # defined in a port, listed in order that they should be included # to fit in with existing conventions. (Exception: MAINTAINER actually # should appear after EXTRACT_ONLY and before MASTER_SITE_BACKUP). # # These variables are used to identify your port. # # PORTNAME - Name of software. Mandatory. # PORTVERSION - Version of software. Mandatory. # PORTREVISION - Version of port. Optional. Commonly used to indicate # that an update has happened that affects the port # framework itself, but not the distributed software # (e.g., local patches or Makefile changes). # PORTEPOCH - Optional. In certain odd cases, the PORTREVISION logic # can be fooled by ports that appear to go backwards # numerically (e.g. if port-0.3 is newer than port-1998). # In this case, incrementing PORTEPOCH forces the revision. # Default: 0 (no effect). # PKGNAME - Always defined as # ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}. # Do not define this in your Makefile. # PKGNAMEPREFIX - Prefix to specify that port is language-specific, etc. # Optional. # PKGNAMESUFFIX - Suffix to specify compilation options. Optional. # UNIQUENAME - A name for your port that is globally unique. By default, # this is set to ${LATEST_LINK} when LATEST_LINK is set, # and to ${PKGNAMEPREFIX}${PORTNAME} otherwise. # DISTNAME - Name of port or distribution used in generating # WRKSRC and DISTFILES below (default: # ${PORTNAME}-${PORTVERSION}). # CATEGORIES - A list of descriptive categories into which this port falls. # Mandatory. # # These variable describe how to fetch files required for building the port. # # DISTFILES - Name(s) of archive file(s) containing distribution # (default: ${DISTNAME}${EXTRACT_SUFX}). Set this to # an empty string if the port doesn't require it. # EXTRACT_SUFX - Suffix for archive names (default: .tar.bz2 if USE_BZIP2 # is set, .zip if USE_ZIP is set, .tar.gz otherwise). # You never have to set both DISTFILES and EXTRACT_SUFX. # MASTER_SITES - Primary location(s) for distribution files if not found # locally. See bsd.sites.mk for common choices for # MASTER_SITES. # MASTER_SITE_SUBDIR - Subdirectory of MASTER_SITES (default: empty). # Will sometimes need to be set to ${PORTNAME} for (e.g.) # MASTER_SITE_SOURCEFORGE. Only guaranteed to work for # choices of ${MASTER_SITES} defined in bsd.sites.mk. # PATCHFILES - Name(s) of additional files that contain distribution # patches (default: none). make will look for them at # PATCH_SITES (see below). They will automatically be # uncompressed before patching if the names end with # ".gz", ".bz2" or ".Z". # PATCH_SITES - Primary location(s) for distribution patch files # if not found locally. # DIST_SUBDIR - Suffix to ${DISTDIR} (default: none). If set, all # ${DISTFILES} and ${PATCHFILES} will be put in this # subdirectory of ${DISTDIR} (see below). Also they will # be fetched in this subdirectory from FreeBSD mirror sites. # ALLFILES - All of ${DISTFILES} and ${PATCHFILES}. # IGNOREFILES - If some of the ${ALLFILES} are not checksum-able, set # this variable to their names (default: empty). # EXTRACT_ONLY - If defined, a subset of ${DISTFILES} you want to # actually extract (default: none). # # (NOTE: by convention, the MAINTAINER entry (see above) should go here.) # # These variables are typically set in /etc/make.conf to indicate # the user's preferred location to fetch files from. You should # rarely need to set these. # # MASTER_SITE_BACKUP - Backup location(s) for distribution files and patch # files if not found locally and ${MASTER_SITES}/${PATCH_SITES} # (default: # ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/) # MASTER_SITE_OVERRIDE - If set, override the MASTER_SITES setting with this # value. # MASTER_SITE_FREEBSD - If set, only use ${MASTER_SITE_BACKUP} for # MASTER_SITES. # CD_MOUNTPTS - List of CDROM mountpoints to look for distfiles under. # This variable supercedes CD_MOUNTPT, which is # obsolete. # # Set these if your port should not be built under certain circumstances. # These are string variables; you should set them to the reason why # they are necessary. # # RESTRICTED - Prevent the distribution of distfiles and packages to # the FTP sites or on CDROM (e.g. forbidden by license # considerations). # NO_CDROM - Packages and distfiles may not go on CDROM (e.g. must # not be re-sold) but can go on FTP sites. # NO_PACKAGE - Port should not be packaged for ftp sites or CDROMs, # but distfiles can be put on ftp sites and CDROMs. # FORBIDDEN - Package build should not be attempted because of # security vulnerabilities. # IGNORE - Package build should be skipped entirely (e.g. # because of serious unfixable problems in the build, # because it cannot be manually fetched, etc). Error # logs will not appear on bento, so this should be # used sparingly. # BROKEN - Port is believed to be broken. Package builds will # still be attempted on the bento package cluster to # test this assumption. # # In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles # or patchfiles have redistribution restrictions, set the following # to the list of such files. # # RESTRICTED_FILES - List of files that cannot be redistributed # (default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED # or NO_CDROM is set, empty otherwise). # # These variables are booleans, so you don't need to set them to the reason. # # IS_INTERACTIVE - Set this if your port needs to interact with the user # during any step in a package build. User can then decide # to skip this port by setting ${BATCH}, or compiling only # the interactive ports by setting ${INTERACTIVE}. # (Default: not set.) # USE_SUBMAKE - Set this if you want that each of the port's main 6 targets # (extract, patch, configure, build, install and package) to be # executed in a separate make(1) process. Useful when one of # the stages needs to influence make(1) variables of the later # stages using ${WRKDIR}/Makefile.inc generated on the fly. # (Default: not set.) # # Set these if your port only makes sense to certain architectures. # They are lists containing names for them (e.g., "alpha i386"). # (Defaults: not set.) # # ONLY_FOR_ARCHS - Only build ports if ${ARCH} matches one of these. # NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these. # # These variables control options about how a port gets built and/or # are shorthand notations for common sets of dependencies. # Use these if your port uses some of the common software packages. By # convention these should be set to 'yes', although they only need to be # defined. (Defaults: not set, unless explicitly indicated below.) # # Note: the distinction between the USE_* and WANT_* variables, and the # WITH_* and WITHOUT_* variables, are that the former are restricted to # usage inside the ports framework, and the latter are reserved for user- # settable options. (Setting USE_* in /etc/make.conf is always wrong). # # USE_BZIP2 - Says that the port tarballs use bzip2, not gzip, for # compression. # USE_ZIP - Says that the port distfile uses zip, not tar w/[bg]zip # for compression. # USE_GCC - Says that the port requires this version of gcc, either in # the system or installed from a port. # USE_GMAKE - Says that the port uses gmake. # GMAKE - Set to path of GNU make if not in $PATH (default: gmake). ## # USE_AUTOMAKE_VER (PORT MAY SET THIS VALUE) # - Implies USE_AUTOMAKE. # - Implies WANT_AUTOMAKE_VER=(value) # USE_AUTOMAKE (PORT MAY SET THIS VALUE) # - Implies USE_AUTOCONF. # - Implies WANT_AUTOMAKE_VER?=14. # - Causes automake execution prior to configure step. # WANT_AUTOMAKE_VER (PORT MAY SET THIS VALUE) # - Implies GNU_CONFIGURE=yes. # - Says that the port wants automake; legal values # are: 14, 15, 17. # - Each specify a version of automake to use # and appropriatly set both AUTOMAKE{,_DIR} # and ACLOCAL{,_DIR} variables. # - If set with an unknown value, the port is marked BROKEN. # - Implies WANT_AUTOCONF_VER=(appropriate version) # AUTOMAKE_ARGS (PORT MAY ALTER THIS VALUE) # - Pass these args to ${AUTOMAKE} if ${USE_AUTOMAKE_VER} # is set. If an application sets this value, it should # use the += form of assignment to append, not overwrite. ## # USE_AUTOCONF_VER (PORT MAY SET THIS VALUE) # - Implies USE_AUTOCONF. # - Implies WANT_AUTOCONF_VER=(value) # USE_AUTOCONF (PORT MAY SET THIS VALUE) # - Implies WANT_AUTOCONF_VER?=213. # - Causes autoconf execution prior to configure step. # USE_AUTOHEADER (PORT MAY SET THIS VALUE) # - Implies USE_AUTOCONF. # WANT_AUTOCONF_VER (PORT MAY SET THIS VALUE) # - Implies GNU_CONFIGURE=yes. # - Says that the port wants autoconf; legal values # are: 213, 253, 257. # - Each specify a version of autoconf to use # and appropriatly set AUTOCONF{,_DIR} and other # autoconf-related program paths. # - If set with an unknown value, the port is marked BROKEN. # AUTOCONF_ARGS (PORT MAY ALTER THIS VALUE) # - Pass these args to ${AUTOCONF} if ${USE_AUTOCONF_VER} # is set. If an application sets this value, it should # use the += form of assignment to append, not overwrite. # AUTOHEADER_ARGS (PORT MAY ALTER THIS VALUE) # - Pass these args to ${AUTOHEADER} if ${USE_AUTOHEADER} # is set. If an application sets this value, it should # use the += form of assignment to append, not overwrite. ## # AUTOMAKE (READ-ONLY) # - Set to path of GNU automake (default: # according to USE_AUTOMAKE_VER value) # AUTOMAKE_ENV (READ-ONLY) # - Pass these env var=value pairs (shell-like) # to ${AUTOMAKE} if ${USE_AUTOMAKE_VER} is set. # ACLOCAL (READ-ONLY) # - Set to path of GNU automake aclocal (default: # according to USE_AUTOMAKE_VER value) # ACLOCAL_DIR (READ-ONLY) # - Set to path of GNU automake aclocal shared directory # (default: according to USE_AUTOMAKE_VER value) # AUTOMAKE_DIR (READ-ONLY) # - Set to path of GNU automake shared directory (default: # according to USE_AUTOMAKE_VER value) ## # AUTOCONF (READ-ONLY) # - Set to path of GNU autoconf (default: # according to USE_AUTOCONF_VER value) # AUTOCONF_ENV (READ-ONLY) # - Pass these env var=value pairs (shell-like) # to ${AUTOCONF} if ${USE_AUTOCONF_VER} is set. # AUTOHEADER (READ-ONLY) # - Set to path of GNU autoconf autoheader # (default: according to USE_AUTOCONF_VER value) # AUTORECONF (READ-ONLY) # - Set to path of GNU autoconf autoreconf # (default: according to USE_AUTOCONF_VER value) # AUTOSCAN (READ-ONLY) # - Set to path of GNU autoconf autoscan # (default: according to USE_AUTOCONF_VER value) # AUTOIFNAMES (READ-ONLY) # - Set to path of GNU autoconf autoifnames # (default: according to USE_AUTOCONF_VER value) # AUTOCONF_DIR (READ-ONLY) # - Set to path of GNU autoconf shared directory (default: # according to USE_AUTOCONF_VER value) ## # USE_LIBTOOL_VER (PORT MAY SET THIS VALUE) # - Implies USE_LIBTOOL. # - Implies WANT_LIBTOOL_VER=(value) # USE_LIBTOOL (PORT MAY SET THIS VALUE) # - Says that the port uses Libtool. # - Implies GNU_CONFIGURE. # - Implies WANT_LIBTOOL_VER?=13 # LIBTOOL (READ-ONLY) # - Set to path of libtool (default: # according to USE_LIBTOOL_VER value) # LIBTOOLIZE (READ-ONLY) # - Set to path of libtoolize (default: # according to USE_LIBTOOL_VER value) # LIBTOOL_VERSION (READ-ONLY) # - Exported version of USE_LIBTOOL_VER # LIBTOOL_SHAREDIR (READ-ONLY) # - Set to path of GNU libtool shared directory (default: # according to USE_LIBTOOL_VER value) # LIBTOOL_LIBEXECDIR (READ-ONLY) # - Set to path of GNU libtool libexec directory (default: # according to USE_LIBTOOL_VER value) # LIBTOOLFILES - Files to patch for libtool (defaults: "aclocal.m4" if # USE_AUTOCONF is set, "configure" otherwise). # LIBTOOLFLAGS - Additional flags to pass to ltconfig # (default: --disable-ltlibs) ## # USE_GETOPT_LONG - Says that the port uses getopt_long. If OSVERSION # less than 500041, automatically adds devel/libgnugeopt # to LIB_DEPENDS, and pass adjusted values of # CPPFLAGS and LDFLAGS in CONFIGURE_ENV. # Default: not set. ## # USE_ICONV - Says that the port uses libiconv. # USE_GETTEXT - Says that the port uses GNU gettext (libintl). ## # USE_PERL5 - Says that the port uses perl5 for building and running. # USE_PERL5_BUILD - Says that the port uses perl5 for building. # USE_PERL5_RUN - Says that the port uses perl5 for running. # PERL5 - Set to full path of perl5, either in the system or # installed from a port. # PERL - Set to full path of perl5, either in the system or # installed from a port, but without the version number. # Use this if you need to replace "#!" lines in scripts. # PERL_VERSION - Full version of perl5 (see below for current value). # PERL_VER - Short version of perl5 (see below for current value). # PERL_LEVEL - Perl version as an integer of the form MNNNPP, where # M is major version, N is minor version, and P is # the patch level. E.g., PERL_VERSION=5.6.1 would give # a PERL_LEVEL of 500601. This can be used in comparisons # to determine if the version of perl is high enough, # whether a particular dependency is needed, etc. # PERL_ARCH - Directory name of architecture dependent libraries # (value: ${ARCH}-freebsd). # PERL_PORT - Name of the perl port that is installed # (value: perl5) # SITE_PERL - Directory name where site specific perl packages go. # This value is added to PLIST_SUB. # PERL_MODBUILD - Use Module::Build to configure, build and install # port. # # USE_GHOSTSCRIPT - Says that the port needs ghostscript to both # build and run. Default: not set. # USE_GHOSTSCRIPT_BUILD - Says that the port needs ghostscript to build. # Default: not set. # USE_GHOSTSCRIPT_RUN - Says that the port needs ghostscript to run. # Default: not set. # GHOSTSCRIPT_PORT - The port that provides postscript functionality. # Some installations may wish to override the default # to specify a version without X11 and/or localized # versions for their nationality. # WITH_GHOSTSCRIPT_AFPL - If set to Yes, says to use the AFPL # version of the ghostscript software instead # of the GNU version, which is used otherwise. ## # USE_BISON - Says that the port uses bison for building. ## # USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX. # XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ). # USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB. # USE_XLIB - Says that the port uses the X libraries. # # USE_FREETYPE - Says that the port uses the freetype print libraries. # USE_GL - Says that the port uses libGL (not needed with XFree86 4.x # which already includes this functionality). # USE_MESA - Says that the port uses libGL/libglut (deprecated). # USE_MOTIF - Says that the port uses a Motif toolkit. Implies USE_XPM. # NO_OPENMOTIF - Says that the port uses a custom Motif toolkit # instead of Openmotif. # Used only when USE_MOTIF is set. # WANT_LESSTIF - Says that the port uses Lesstif as Motif toolkit. # Used only when USE_MOTIF is set. Implies # NO_OPENMOTIF. # USE_SDL - Says that the port uses the sdl libraries. # See bsd.sdl.mk for more information. # USE_XPM - Says that the port uses the xpm graphics libraries. ## # USE_OPENSSL - Says that the port relies on the OpenSSL package. # Default: not set. ## # # USE_OPENLDAP - Says that the port uses the OpenLDAP libraries # Implies: WANT_OPENLDAP_VER?=21 # WANT_OPENLDAP_VER - Legal values are: 20, 21, and 22 # If set to an unkown value, the port is marked BROKEN. # ## # USE_JAVA - Says that the port relies on the Java language. # Implies inclusion of bsd.java.mk. (Also see # that file for more information on USE_JAVA_*). # Default: not set. # USE_PYTHON - Says that the port relies on the Python language. # Implies inclusion of bsd.python.mk. (Also see # that file for more information on USE_PYTHON_* # and USE_PYDISTUTILS). # Default: not set. # USE_RUBY - Says that the port relies on the Ruby language. # Implies inclusion of bsd.ruby.mk. (Also see # that file for more information on USE_RUBY_*). # Default: not set. # USE_GNUSTEP - Says that the port relies on the GNUstep system. # Implies the inclusion of bsd.gnustep.mk. # (Also see that file for more information on # USE_GNUSTEP_*). # Default: not set. ## # USE_GNOME - A list of the Gnome dependencies the port has (e.g., # glib12, gtk12). Implies that the port needs Gnome. # Implies inclusion of bsd.gnome.mk. See bsd.gnome.mk # or http://www.FreeBSD.org/gnome/docs/porting.html # for more details. # Default: not set. # # USE_KDEBASE_VER - Set to 3 to use the KDE windowing system. # Implies inclusion # of bsd.kde.mk. Default: not set. # USE_KDELIBS_VER - Set to 3 to use the KDE libraries. # Implies inclusion # of bsd.kde.mk. Default: not set. # USE_QT_VER - Set to either 2 or 3 to use the QT libraries. # (Only 3 is currently supported). Implies inclusion # of bsd.kde.mk. Default: not set. # # USE_LINUX - Set to yes to say the port needs emulators/linux_base. # Default: not set. # USE_LINUX_PREFIX - controls the action of PREFIX (see above). # # # USE_MYSQL - Add MySQL client dependency. # If no version is given (by the maintainer via the port or # by the user via defined variable), try to find the # currently installed version. Fall back to default if # necessary (MySQL4.0 = 40). # # DEFAULT_MYSQL_VER - MySQL default version. Can be overriden within a port. # Default: 40. # # WANT_MYSQL_VER - Maintainer can set an arbitrary version of MySQL by # using it. # # BROKEN_WITH_MYSQL - This variable can be defined if the ports doesn't support # one or more version of MySQL. # # MYSQL_VER - Internal variable for MySQL version. # # WITH_MYSQL_VER - User defined variable to set MySQL version. # # USE_RC_SUBR - Says the ports startup/shutdown script uses the common # routines found in etc/rc.subr and may need to # depend on the sysutils/rc_subr port. # # RC_SUBR - Set to path of rc.subr, defaults to ${LOCALBASE}/etc/rc.subr. # # USE_APACHE - Says that the port relies on an apache webserver. # APACHE_PORT - CATEGORY and portname of the prefered port for apache. # Default: www/apache13 # If WITH_APACHE2 is defined defaults to www/apache2 # APXS - Full path to the prefered apxs binary to configure # apache modules. Default: ${LOCALBASE}/sbin/apxs # # # # Dependency checking. Use these if your port requires another port # not in the list above. (Default: empty.) # # EXTRACT_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends on in the "extract" stage. "path" is # the name of a file if it starts with a slash (/), an # executable otherwise. make will test for the existence # (if it is a full pathname) or search for it in your # $PATH (if it is an executable) and go into "dir" to do # a "make all install" if it's not found. If the third # field ("target") exists, it will be used instead of # ${DEPENDS_TARGET}. # PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends on in the "patch" stage. "path" is the # name of a file if it starts with a slash (/), an # executable otherwise. make will test for the existence # (if it is a full pathname) or search for it in your # $PATH (if it is an executable) and go into "dir" to do # a "make all install" if it's not found. If the third # field ("target") exists, it will be used instead of # ${DEPENDS_TARGET}. # FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends in the "fetch" stage. "path" is the # name of a file if it starts with a slash (/), an # executable otherwise. make will test for the # existence (if it is a full pathname) or search for # it in your $PATH (if it is an executable) and go # into "dir" to do a "make all install" if it's not # found. If the third field ("target") exists, it will # be used instead of ${DEPENDS_TARGET}. # BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends to build (between the "extract" and # "build" stages, inclusive). The test done to # determine the existence of the dependency is the # same as FETCH_DEPENDS. If the third field ("target") # exists, it will be used instead of ${DEPENDS_TARGET}. # RUN_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends to run. The test done to determine # the existence of the dependency is the same as # FETCH_DEPENDS. This will be checked during the # "install" stage and the name of the dependency will # be put into the package as well. If the third field # ("target") exists, it will be used instead of # ${DEPENDS_TARGET}. # LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this # package depends on. "lib" is the name of a shared library. # make will use "ldconfig -r" to search for the library. # lib can contain extended regular expressions. # DEPENDS - A list of "dir[:target]" tuples of other ports this # package depends on being made first. Use this only for # things that don't fall into the above four categories. # If the second field ("target") exists, it will be used # instead of ${DEPENDS_TARGET}. # DEPENDS_TARGET - The default target to execute when a port is calling a # dependency (default: "install"). # # Conflict checking. Use if your port cannot be installed at the same time as # another package. # # CONFLICTS - A list of package name patterns that the port conflicts with. # It's possible to use any shell meta-characters for pattern # matching. # E.g. apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* # # # Various directory definitions and variables to control them. # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. # # X11BASE - Where X11 ports install things (default: /usr/X11R6). # LOCALBASE - Where non-X11 ports install things (default: /usr/local). # LINUXBASE - Where Linux ports install things (default: /compat/linux). # PREFIX - Where *this* port installs its files (default: ${X11BASE} # if USE_X_PREFIX is set, ${LINUXBASE} if USE_LINUX_PREFIX # is set, otherwise ${LOCALBASE}). # MASTERDIR - Where the port finds patches, package files, etc. Define # this is you have two or more ports that share most of the # files (default: ${.CURDIR}). # PORTSDIR - The root of the ports tree. (default: /usr/ports) # DISTDIR - Where to search for and store copies of original sources # (default: ${PORTSDIR}/distfiles). # PACKAGES - A top level directory where all packages go (rather than # going locally to each port). (default: ${PORTSDIR}/packages). # WRKDIRPREFIX - The place to root the temporary working directory # hierarchy (default: none). # WRKDIR - A temporary working directory that gets *clobbered* on clean # (default: ${WRKDIRPREFIX}${.CURDIR}/work). # WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually # unpacks to. (Default: ${WRKDIR}/${DISTNAME} unless # NO_WRKSUBDIR is set, in which case simply ${WRKDIR}). # NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}. # PATCHDIR - A directory containing any additional patches you made # to port this software to FreeBSD (default: # ${MASTERDIR}/files) # SCRIPTDIR - A directory containing any auxiliary scripts # (default: ${MASTERDIR}/scripts) # FILESDIR - A directory containing any miscellaneous additional files. # (default: ${MASTERDIR}/files) # PKGDIR - A directory containing any package creation files. # (default: ${MASTERDIR}) # # Variables that serve as convenient "aliases" for your *-install targets. # Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin". # # INSTALL_PROGRAM - A command to install binary executables. (By # default, also strips them, unless ${STRIP} is # overridden to be the empty string). # INSTALL_SCRIPT - A command to install executable scripts. # INSTALL_DATA - A command to install sharable data. # INSTALL_MAN - A command to install manpages. May or not compress, # depending on the value of MANCOMPRESSED (see below). # # Boolean to control whether manpages are installed. # # NO_INSTALL_MANPAGES - Says that the port doesn't want to install any # manpages (default: not set, i.e. manpages # are installed by default). # # Set the following to specify all manpages that your port installs. # These manpages will be automatically listed in ${PLIST}. Depending # on the setting of NOMANCOMPRESS, the make rules will compress the # manpages for you. # # MAN - A list of manpages, categorized by section. For # example, if your port has "man/man1/foo.1" and # "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n". # The available sections chars are "123456789LN". # MLINKS - A list of tuples for creating links # for manpages. For example, "MLINKS= a.1 b.1 c.3 d.3" # will do an "ln -sf a.1 b.1" and "ln -sf c.3 d.3" in # appropriate directories. (Use this even if the port # installs its own manpage links so they will show up # correctly in ${PLIST}.) # MANPREFIX - The directory prefix for ${MAN} and ${MLINKS} # (default: ${PREFIX}). # MANPREFIX - If manual pages of some sections install in different # locations than others, use these (default: ${MANPREFIX}). # MANCOMPRESSED - This variable can take values "yes", "no" or # "maybe". "yes" means manpages are installed # compressed; "no" means they are not; "maybe" means # it changes depending on the value of # NOMANCOMPRESS. The default is "yes" if USE_IMAKE # is set and NO_INSTALL_MANPAGES is not set, and # "no" otherwise. # # Set the following to specify all .info files your port installs. # # INFO - A list of .info files (omitting the trailing ".info"); # only one entry per document! # INFO_PATH - Path, where all .info files will be installed by your # port, relative to ${PREFIX} (default: "share/info" if # ${PREFIX} is equal to /usr and "info" otherwise). # # Set the following to specify all documentation your port installs into # ${DOCSDIR} # # PORTDOCS - A list of files and directories relative to DOCSDIR. # Shell glob patterns can be used, directories include # the entire subtree of contained files and directories. # Should not be set when no documentation files are # installed (for example because NOPORTDOCS is defined). # Useful for dynamically generated documentation. # # Default targets and their behaviors: # # fetch - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined) # into ${DISTDIR} as necessary. # fetch-list - Show list of files that would be retrieved by fetch. # fetch-recursive - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), # for port and dependencies into ${DISTDIR} as necessary. # fetch-recursive-list - Show list of files that would be retrieved by # fetch-recursive. # fetch-required-list - Show list of files that would be retrieved by # fetch-required. # fetch-required - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), # for port and dependencies that are not already installed # into ${DISTDIR}. # all-depends-list - Show all directories which are dependencies # for this port. # build-depends-list - Show all directories which are build-dependencies # for this port. # package-depends-list - Show all directories which are # package-dependencies for this port. # run-depends-list - Show all directories which are run-dependencies # for this port. # # extract - Unpacks ${DISTFILES} into ${WRKDIR}. # patch - Apply any provided patches to the source. # configure - Runs either GNU configure, one or more local configure # scripts or nothing, depending on what's available. # build - Actually compile the sources. # install - Install the results of a build. # reinstall - Install the results of a build, ignoring "already installed" # flag. # deinstall - Remove the installation. # deinstall-all - Remove all installations with the same PKGORIGIN. # package - Create a package from an _installed_ port. # package-recursive - Create a package for a port and _all_ of its dependancies. # describe - Try to generate a one-line description for each port for # use in INDEX files and the like. # checkpatch - Do a "patch -C" instead of a "patch". Note that it may # give incorrect results if multiple patches deal with # the same file. # checksum - Use distinfo to ensure that your distfiles are valid. # checksum-recursive - Run checksum in this port and all dependencies. # makesum - Generate distinfo (only do this for your own ports!). # clean - Remove ${WRKDIR} and other temporary files used for building. # clean-depends - Do a "make clean" for all dependencies. # config - Configure options for this port (using ${DIALOG}). # Automatically run prior to extract, patch, configure, build, # install, and package. # showconfig - Display options config for this port # rmconfig - Remove the options config for this port # # Default sequence for "all" is: # # check-sanity fetch checksum extract patch configure build # # Please read the comments in the targets section below; you # should be able to use the pre-* or post-* targets/scripts # (which are available for every stage except checksum) or # override the do-* targets to do pretty much anything you want. # # NEVER override the "regular" targets unless you want to open # a major can of worms. # # Set these variables if your port doesn't need some of the steps. # Note that there are no NO_PATCH or NO_CONFIGURE variables because # those steps are empty by default. NO_EXTRACT is not allowed anymore # since we need to at least create ${WRKDIR}. Also, NO_CHECKSUM is a user # variable and is not to be set in a port's Makefile. See above for NO_PACKAGE. # # NO_BUILD - Use a dummy (do-nothing) build target. # NO_INSTALL - Use a dummy (do-nothing) install target. # # Here are some variables used in various stages. # # For options: # OPTIONS - List of what WITH_