Front | Info | Lists | Newsfeeds | Study Guide | What is BSD?
Advertisement: The OpenBSD PF Packet Filter Book: PF for NetBSD, FreeBSD, DragonFly and OpenBSD

BSD Links
·New Links
·User Groups

This is the BSDA Study Guide Book written via a wiki collaboration. This is a work in progress. You may contribute to or discuss this specific page at

Recognize the available methods for compiling a customized binary

TODO: should this be renamed s/a customized binary/customized packages/ ?


Many applications used by servers support make(1) options to compile a binary with the feature set required by a particular installation. While the BSDs all use make(1), the admin should recognize that each BSD uses different mechanisms to use and preserve make(1) options.


FreeBSD Ports

FreeBSD ports includes a /usr/ports/KNOBS file that lists commonly-used options with their descriptions. These "knobs" can be used with WITH_* or WITHOUT_* make variables, for example: WITH_APACHE2, WITH_ISPELL, and WITHOUT_X11. Some ports honor options like these to override the defaults.

TODO: cover /var/db/ports/portname/options, make showconfig, make rmconfig,

TODO: show examples


Practice Exercises

More information

DragonFly: mk.conf(5) or make.conf(5), PKG_OPTIONS, CFLAGS FreeBSD: -DWITH_* or WITH_*=, pkgtools.conf(5), make.conf(5) NetBSD: PKG_OPTIONS., CFLAGS, mk.conf(5), PKG_DEFAULT_OPTIONS OpenBSD:

Add: /usr/ports/KNOBS

Front | Information | Lists | Newsfeeds