#-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # # $FreeBSD: ports/Mk/bsd.port.mk,v 1.508 2005/02/07 11:17:50 krion Exp $ # $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. # 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 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. # 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.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. # EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to # actually extract. # # (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. # # 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 - If set, this port tarballs use bzip2, not gzip, for # compression. # USE_ZIP - If set, this port distfile uses zip, not tar w/[bg]zip # for compression. # USE_GCC - If set, this port requires this version of gcc, either in # the system or installed from a port. # USE_GMAKE - If set, this port uses gmake. # GMAKE - Set to path of GNU make if not in $PATH. # Default: gmake ## # USE_GETOPT_LONG # - If set, this 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. ## # USE_ICONV - If set, this port uses libiconv. # USE_GETTEXT - If set, this port uses GNU gettext (libintl). ## # 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_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 # - If set, this port needs ghostscript to both # build and run. # 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. # WITH_GHOSTSCRIPT_AFPL # - If set, this port uses the AFPL version of the ghostscript # software instead of the GNU version, which is used otherwise. ## # USE_BISON - If set, this port uses bison for building. ## # USE_IMAKE - If set, this port uses imake. Implies USE_X_PREFIX. # XMKMF - Set to path of `xmkmf' if not in $PATH # Default: xmkmf -a # USE_X_PREFIX - If set, this port installs in ${X11BASE}. Implies USE_XLIB. # USE_XLIB - If set, this port uses the X libraries. # # USE_FREETYPE - If set, this port uses the freetype print libraries. # USE_GL - If set, this port uses libGL (not needed with XFree86 4.x # which already includes this functionality). # USE_MESA - If set, this port uses libGL/libglut (deprecated). # USE_MOTIF - If set, this port uses a Motif toolkit. Implies USE_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_XPM - If set, this port uses the xpm graphics libraries. ## # 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?=22 # WANT_OPENLDAP_VER # - Legal values are: 21, 22 # If set to an unkown value, the port is marked BROKEN. # WANT_OPENLDAP_SASL # - If set, the system should use OpenLDAP libraries # with SASL support. ## # USE_AUTOTOOLS - If set, this port uses various GNU autotools # (libtool, autoconf, autoheader, automake et al.) # See bsd.autotools.mk for more details. # XXX: not currently in active use - this is a placeholder. ## # 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_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_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_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_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_QT_VER - Set to 3 to use the QT libraries. # Implies inclusion of bsd.kde.mk. ## # USE_LINUX - Set to yes to say the port needs emulators/linux_base-8. # Set to value , if the port needs emulators/linux_base-. # If set to "7", a dependency is registered to emulators/linux_base. # 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_PGSQL - Add PostgreSQL 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 (PostgreSQL-7.4 = 74). # DEFAULT_PGSQL_VER # - PostgreSQL default version. Can be overridden within a port. # Default: 74. # WANT_PGSQL_VER # - Maintainer can set an arbitrary version of PostgreSQL by # using it. # BROKEN_WITH_PGSQL # - This variable can be defined if the ports doesn't support # one or more versions of PostgreSQL. ## # USE_RC_SUBR - If set, 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. # If this is set to a list of files, these files will be # automatically added to ${SUB_FILES} and some "variable=value" # pairs will be added to ${SUB_LIST}. These files will be # installed in ${PREFIX}/etc/rc.d and added to the packing list. # RC_SUBR - Set to path of rc.subr. # Default: ${LOCALBASE}/etc/rc.subr. ## # USE_APACHE - If set, this 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 # - 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 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. # 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! # 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. # config-recursive # - Configure options for this port for this port and all dependencies. # showconfig - Display options config for this port. # rmconfig - Remove the options config for this port. # rmconfig-recursive # - Remove the options config for this port and all 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_