A static package list is a package
      list which is available in the Ports Collection either as
      pkg-plist (with or without variable
      substitution), or embedded into the
      Makefile via
      PLIST_FILES and
      PLIST_DIRS.  Even if the contents are
      auto-generated by a tool or a target in the Makefile
      before the inclusion into the Ports
      Collection by a committer (for example, using make
	makeplist), this is still considered a static list,
      since it is possible to examine it without having to download or
      compile the distfile.
A dynamic package list is a package
      list which is generated at the time the port is compiled based
      upon the files and directories which are installed.  It is not
      possible to examine it before the source code of the ported
      application is downloaded and compiled, or after running a
      make clean.
While the use of dynamic package lists is not forbidden, maintainers should use static package lists wherever possible, as it enables users to grep(1) through available ports to discover, for example, which port installs a certain file. Dynamic lists should be primarily used for complex ports where the package list changes drastically based upon optional features of the port (and thus maintaining a static package list is infeasible), or ports which change the package list based upon the version of dependent software used. For example, ports which generate docs with Javadoc.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
    documentation may be
    sent to <freebsd-questions@FreeBSD.org>.
    Send questions about this document to <freebsd-doc@FreeBSD.org>.