#-*- 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 of the target machine, such as would be # returned by "uname -p". (Note: Ports should test against # ARCH, and not the host machine's architecture which is # MACHINE_ARCH, to enable ports to be cross-built.) # 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. # # 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 when no DISTVERSION is given. # 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. # PKGVERSION - Always defined as # ${PORTVERSION}. # Do not define this in your Makefile. # 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. # DISTVERSION - Vendor version of the distribution. # Default: ${PORTVERSION} # DISTNAME - Name of port or distribution used in generating # WRKSRC and DISTFILES below. # Default: # ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} # 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. # Set this to an empty string if the port doesn't require it. # Default: ${DISTNAME}${EXTRACT_SUFX} # EXTRACT_SUFX - Suffix for archive names # You never have to set both DISTFILES and EXTRACT_SUFX. # Default: .tar.bz2 if USE_BZIP2 is set, .zip if USE_ZIP is # set, .tar.xz if USE_XZ is set, .run if USE_MAKESELF is set, # .tar.gz otherwise). # 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. 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. # Default: not set. # PATCHFILES - Name(s) of additional files that contain distribution # patches. 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". # Default: not set. # PATCH_SITES - Primary location(s) for distribution patch files # if not found locally. # DIST_SUBDIR - Suffix to ${DISTDIR}. 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 set, don't perform checksum checks on these files. # NOFETCHFILES - If set, don't download these files from the ${MASTER_SITES} # or ${MASTER_SITE_BACKUP} (but do from # ${MASTER_SITE_OVERRIDE}) # EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to # actually extract. # ALWAYS_KEEP_DISTFILES # - If set, the package building cluster will save the distfiles # along with the packages. This may be required to comply with # some licenses, e.g. GPL in some cases. # Default: not set. # # (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 pointyhat, so this should be # used sparingly. # BROKEN - Port is believed to be broken. Package builds will # still be attempted on the pointyhat package cluster to # test this assumption. # DEPRECATED - Port is deprecated to install. Advisory only. # EXPIRATION_DATE # - If DEPRECATED is set, determines a date when # the port is planed to remove. The date format is # ISO 8601 (YYYY-MM-DD). # # DISABLE_VULNERABILITIES # - If set, do not check if the port is listed in the # vulnerabilities database. # # 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. # ONLY_FOR_ARCHS_REASON # ONLY_FOR_ARCHS_REASON_${ARCH} # - Reason why it's only for ${ONLY_FOR_ARCHS}s # NOT_FOR_ARCHS_REASON # NOT_FOR_ARCHS_REASON_${ARCH} # - Reason why it's not for ${NOT_FOR_ARCHS}s # IA32_BINARY_PORT # - Set this instead of ONLY_FOR_ARCHS if the given port # fetches and installs compiled i386 binaries. # # Dependency checking. Use these if your port requires another port # not in the list below. (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_TARGET # - The default target to execute when a port is calling a # dependency. # Default: install # # 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). # # WITH_DEBUG - If set, debugging flags are added to CFLAGS and the # binaries don't get stripped by INSTALL_PROGRAM or # INSTALL_LIB. Besides, individual ports might # add their specific to produce binaries for debugging # purposes. You can override the debug flags that are # passed to the compiler by setting DEBUG_FLAGS. It is # set to "-g" at default. # # USE_BZIP2 - If set, this port tarballs use bzip2, not gzip, for # compression. # USE_XZ - If set, this port tarballs use xz (or lzma) # for compression # USE_ZIP - If set, this port distfile uses zip, not tar w/[bg]zip # for compression. # USE_MAKESELF - If set, this port distfile uses makeself, not tar w/[bg]zip # for compression. # USE_DOS2UNIX - If set to "YES", remove the ^M from all files # under ${WRKSRC}. If set to a string, remove in all # files under ${WRKSRC} with one of these names the ^Ms. # DOS2UNIX_REGEX # - Limit the ^M removal to files which name matches # the regular expression. # USE_GCC - If set, this port requires this version of gcc, either in # the system or installed from a port. # USE_CSTD - Override the default C language standard (gnu89, gnu99) # USE_BINUTILS - Use binutils suite from port instead of the version in base. # USE_GMAKE - If set, this port uses gmake. # GMAKE - Set to path of GNU make if not in $PATH. # Default: gmake ## # USE_ICONV - If set, this port uses libiconv. # USE_GETTEXT - The port uses GNU gettext (libintl). # 'build' as a build-time dependency # 'yes' as a library dependency # 'run' as a run-time dependency ## # USE_PERL5 - If set, this port uses perl5 in one or more of the extract, # patch, build, install or run phases. # USE_PERL5_BUILD # - If set, this port uses perl5 in one or more of the extract, # patch, build or install phases. # USE_PERL5_RUN - If set, this 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_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.8.1 would give # a PERL_LEVEL of 500801. 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 # - If set, this port needs ghostscript to both # build and run. If a number is specified, # the specified version will be used. # The valid value is '7' or '8' in that case. # USE_GHOSTSCRIPT_BUILD # - If set, this port needs ghostscript to build. # USE_GHOSTSCRIPT_RUN # - If set, this port needs ghostscript to run. # 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. # Default: print/ghostscript8 # WITH_GHOSTSCRIPT_VER # - If set, the specified version of ghostscript will be # used. The valid value is "7" or "8". Note that # this is for users, not for port maintainers. This # should not be used in Makefile. ## # USE_BISON - Implies that the port uses bison in one way or another: # 'build', 'run', 'both', implying build, # runtime, and both build/run dependencies ## # USE_IMAKE - If set, this port uses imake. # XMKMF - Set to path of `xmkmf' if not in $PATH # Default: xmkmf -a # USE_XLIB - If set, this port uses the X libraries. In the USE_LINUX # case the linux X libraries are referenced. # USE_DISPLAY - If set, this ports requires a (virtual) X11 environment # setup. If the environment variable DISPLAY Is not set, # then an extra build dependency on Xvfb is added. Further, # if PACKAGE_BUILDING is not set, then CONFIGURE_ENV and # MAKE_ENV are extended with a DISPLAY variable. # # USE_FREETYPE - If set, this port uses the freetype print libraries. # USE_GL - A list of Mesa or GL related dependencies needed by the port. # Supported components are: glut, glu, glw, gl and linux. # If set to "yes", this is equivalent to "glu". Note that # glew and glut depend on glu, glw and glu depend on gl. # USE_MOTIF - If set, this port uses a Motif toolkit. Implies USE_XORG+= xpm # NO_OPENMOTIF - If set, this port uses a custom Motif toolkit # instead of Openmotif. # Used only when USE_MOTIF is set. # WANT_LESSTIF - If set, this port uses Lesstif as Motif toolkit. # Used only when USE_MOTIF is set. Implies # NO_OPENMOTIF. ## # USE_SDL - If set, this port uses the sdl libraries. # See bsd.sdl.mk for more information. ## # USE_OPENAL - If set, this port relies on the OpenAL package. # Legal values are: al, soft, si, alut. # If set to an unknown value, the port is marked broken. # WANT_OPENAL - User-specific OpenAL wishes. # Legal values are: soft, si. The default is soft. ## # USE_OPENSSL - If set, this port relies on the OpenSSL package. ## # USE_OPENLDAP - If set, this port uses the OpenLDAP libraries. # Implies: WANT_OPENLDAP_VER?=24 # WANT_OPENLDAP_VER # - Legal values are: 23, 24 # If set to an unknown value, the port is marked BROKEN. # WANT_OPENLDAP_SASL # - If set, the system should use OpenLDAP libraries # with SASL support. ## # USE_FAM - If set, this port uses the File Alteration Monitor. # # WANT_FAM_SYSTEM # - Legal values are: gamin (default),fam # If set to an unknown value, the port is marked IGNORE. ## # USE_AUTOTOOLS - If set, this port uses various GNU autotools # (libtool, autoconf, autoheader, automake et al.) # See bsd.autotools.mk for more details. ## # USE_SCONS - If set, this port uses the Python-based SCons build system # See bsd.scons.mk for more details. ## # USE_EFL - If set, this port use EFL libraries. # Implies inclusion of bsd.efl.mk. (Also see # that file for more information on USE_EFL_*). # USE_FPC - If set, this port relies on the Free Pascal language. # Implies inclusion of bsd.fpc.mk. (Also see # that file for more information on WANT_FPC_*). # USE_JAVA - If set, this port relies on the Java language. # Implies inclusion of bsd.java.mk. (Also see # that file for more information on USE_JAVA_*). # USE_OCAML - If set, this port relies on the OCaml language. # Implies inclusion of bsd.ocaml.mk. (Also see # that file for more information on USE_OCAML*). # USE_PYTHON - If set, this 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). # USE_R_MOD - If set, this port uses the Comprehensive R Archive Network. # See bsd.cran.mk for more details. # USE_RUBY - If set, this port relies on the Ruby language. # Implies inclusion of bsd.ruby.mk. (Also see # that file for more information on USE_RUBY_*). # USE_GNUSTEP - If set, this port relies on the GNUstep system. # Implies the inclusion of bsd.gnustep.mk. # (Also see that file for more information on # USE_GNUSTEP_*). ## # USE_GECKO - If set, this port uses the Gecko/Mozilla product. # See bsd.gecko.mk for more details. ## # 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. ## # USE_LUA - If set, this port uses the Lua library and related # components. See bsd.lua.mk for more details. ## # USE_WX - If set, this port uses the WxWidgets library and related # components. See bsd.wx.mk for more details. ## # USE_KDEBASE_VER - Set to 3 to use the KDE windowing system. # Implies inclusion of bsd.kde.mk. # # USE_KDELIBS_VER - Set to 3 to use the KDE libraries. # Implies inclusion of bsd.kde.mk. # # USE_KDE4 - A list of the KDE4 dependencies the port has (e.g., # kdelibs, kdebase). Implies that the port needs KDE. # Implies inclusion of bsd.kde4.mk. See bsd.kde4.mk # for more details. # # USE_QT_VER - Set to 3 or 4 to use the respective version # of the QT libraries. # Implies inclusion of bsd.kde.mk. # # USE_LINUX - Set to yes to say the port needs the default linux base port. # Set to value , if the port needs emulators/linux_base-. # If set to "7", a dependency is registered to emulators/linux_base. # Implies appropriate settings for STRIP and STRIP_CMD. # USE_LINUX_PREFIX # - controls the action of PREFIX (see above). Only use this # if the port is a linux infrastructure port (e.g. contains libs # or a sound server which supports the FreeBSD native one), # use the default or the X11 prefix if it's a leaf port # (e.g. a game or program). # Implies NO_MTREE=yes, and, if USE_LDCONFIG is defined: # - USE_LINUX=yes # - appropriate invocation of the Linux ldconfig # USE_LINUX_RPM - Set to yes to pull in variables and targets useful to Linux # RPM ports. # Implies inclusion of bsd.linux-rpm.mk. # # LINUX_OSRELEASE - Contains the value of compat.linux.osrelease sysctl. # Will be used to distinguish which linux # infrastructure ports should be used. # Valid values: 2.4.2, 2.6.16. # AUTOMATIC_PLIST # - Set to yes to enable automatic packing list generation. # Currently has no effect unless USE_LINUX_RPM is set. # # OVERRIDE_LINUX_BASE_PORT # - This specifies the default linux base to use, for valid # values have a look at the description of USE_LINUX. This is # an user-only variable. Don't use it in any port, it's meant # to be used in make.conf. # # LINUX_BASE_PORT # - This is a read-only variable, it gets set to a value which is # usable in *_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}). # It honors USE_LINUX=foo and OVERRIDE_LINUX_BASE_PORT. ## # USE_XORG - Set to a list of X.org module dependencies. # Implies inclusion of bsd.xorg.mk. ## # USE_RC_SUBR - If set, the ports startup/shutdown script uses the common # routines found in /etc/rc.subr. # If this is set to a list of files, these files will be # automatically added to ${SUB_FILES}, some %%VAR%%'s will # automatically be expanded, they will be installed in # ${PREFIX}/etc/rc.d and added to the packing list. # USE_RCORDER - List of rc.d startup scripts to be called early in the boot # process. This acts exactly like USE_RC_SUBR except that # scripts are installed in /etc/rc.d. # Because local rc.d scripts are included in the base rcorder # this option is not needed unless the port installs in the base. ## # USE_APACHE - If set, this port relies on an apache webserver. # # USE_CDRTOOLS - If set, this port depends on sysutils/cdrtools. # # USE_NCURSES - If set, this port relies on the ncurses package. # # 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, separated by blanks. The names may include shell # pattern meta-characters "*", "?", "[", "]", and "!". # Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* # # CONFLICTS_BUILD # - Check conflict prior to the build. # # CONFLICTS_INSTALL # - Check conflict prior to the installation stage. # # 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: ${LOCALBASE} # 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: ${LINUXBASE} if USE_LINUX_PREFIX is set, # otherwise ${LOCALBASE} # # IGNORE_PATH_CHECKS # - There are some sanity checks against PREFIX. # You can disable these checks with defining # this variable, but this is not recommended! # Only do this if you really know what you are # doing. These sanity checks are the following: # - PREFIX has to be an absolute path. # - PREFIX can't have a trailing slash. # # 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} # SRC_BASE - The root of the src tree. (Some ports require this to get # kernel sources). Default: /usr/src # UID_FILES - A list of files containing information about registered UIDs. # Note that files have decreasing priority. # GID_FILES - A list of files containing information about registered GIDs. # Note that files have decreasing priority. # # 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_KLD - As INSTALL_PROGRAM, but without the STRIP. # INSTALL_LIB - As INSTALL_DATA, but also strips the file. # 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 # - If set, this 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 NO_MANCOMPRESS, 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". # MAN_ # - If your port does not install all man pages for all # languages in MANLANG, language specific pages for # a language can be specified with this. For example, # if the port installs foo.1 in English, Japanese, and # German, bar.1 in English only, and baz.3 in German # only, set # MANLANG= "" de ja # MAN1= foo.1 # MAN1_EN= bar.1 # MAN3_DE= baz.3 # 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 NO_MANCOMPRESS. # Default: "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! These files are listed in # the path relative to ${INFO_PATH}. # 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. # Useful for dynamically generated documentation. # # Set the following to specify all documentation your port installs into # ${EXAMPLESDIR} # # PORTEXAMPLES - A list of files and directories relative to EXAMPLESDIR. # Shell glob patterns can be used, directories include # the entire subtree of contained files and directories. # Should not be set when no examples files are # installed. # Useful for dynamically generated examples. # # Set the following to specify all documentation your port installs into # ${DATADIR} # # PORTDATA - A list of files and directories relative to DATADIR. # Shell glob patterns can be used, directories include # the entire subtree of contained files and directories. # Should not be set when no data files are # installed. # Useful for dynamically generated data files. # # Default targets and their behaviors: # # fetch - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this # port. # fetch-list - Show list of commands to retrieve missing ${DISTFILES} and # ${PATCHFILES} for this port. # fetch-recursive # - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this # port and dependencies. # fetch-recursive-list # - Show list of commands to retrieve missing ${DISTFILES} and # ${PATCHFILES} for this port and dependencies. # fetch-required # - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this # port and dependencies. # fetch-required-list # - Show list of commands to retrieve missing ${DISTFILES} and # ${PATCHFILES} for this port and dependencies. # fetch-url-list # - Show list of URLS to retrieve missing ${DISTFILES} and # ${PATCHFILES} for this port. # fetch-urlall-list # - Show list of URLS to retrieve ${DISTFILES} and # ${PATCHFILES} for this port. # # 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. This is based upon the dependency # tree as recorded in the Makefiles of the ports # collection, not as recorded in the currently # installed ports. # actual-package-depends # - Like package-depends-list but with the difference # that the dependencies of the currently installed # ports are used instead of the dependencies as # recorded in the ports collection. # 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 dependencies. # 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. # config-recursive # - Configure options for this port for a port and all its # dependencies. # showconfig - Display options config for this port. # showconfig-recursive # - Display options config for this port and all its # dependencies. # rmconfig - Remove the options config for this port. # rmconfig-recursive # - Remove the options config for this port and all its # dependencies. # # 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_