1 # $NetBSD: bsd.README,v 1.322 2013/11/11 10:24:53 joerg Exp $
2 # @(#)bsd.README 8.2 (Berkeley) 4/2/94
4 This is the README file for the make "include" files for the NetBSD
5 source tree. The files are installed in /usr/share/mk, and are,
6 by convention, named with the suffix ".mk".
8 Note, this file is not intended to replace reading through the .mk
9 files for anything tricky.
11 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
13 RANDOM THINGS WORTH KNOWING:
15 The files are simply C-style #include files, and pretty much behave like
16 you'd expect. The syntax is slightly different in that a single '.' is
17 used instead of the hash mark, i.e. ".include <bsd.prog.mk>".
19 One difference that will save you lots of debugging time is that inclusion
20 of the file is normally done at the *end* of the Makefile. The reason for
21 this is because .mk files often modify variables and behavior based on the
22 values of variables set in the Makefile. To make this work, remember that
23 the FIRST target found is the target that is used, i.e. if the Makefile has:
30 the command "make a" will echo "a". To make things confusing, the SECOND
31 variable assignment is the overriding one, i.e. if the Makefile has:
39 the command "make b" will echo "bar". This is for compatibility with the
40 way the V7 make behaved.
42 It's fairly difficult to make the BSD .mk files work when you're building
43 multiple programs in a single directory. It's a lot easier to split up the
44 programs than to deal with the problem. Most of the agony comes from making
45 the "obj" directory stuff work right, not because we switched to a new version
46 of make. So, don't get mad at us, figure out a better way to handle multiple
47 architectures so we can quit using the symbolic link stuff. (Imake doesn't
50 The file .depend in the source directory is expected to contain dependencies
51 for the source files. This file is read automatically by make after reading
54 The variable DESTDIR works as before. It's not set anywhere but will change
55 the tree where the file gets installed.
57 The profiled libraries are no longer built in a different directory than
58 the regular libraries. A new suffix, ".po", is used to denote a profiled
59 object, and ".pico" denotes a shared (position-independent) object.
61 There are various make variables used during the build.
63 Many variables support a (case sensitive) value of "no" or "yes",
64 and are tested with ${VAR} == "no" and ${VAR} != "no" .
67 The basic rule for the variable naming scheme is as follows:
69 HOST_xxx A command that runs on the host machine regardless of
70 whether or not the system is being cross compiled, or
71 flags for such a command.
73 MKxxx Can be set to "no" to disable functionality, or
75 Usually defaults to "yes", although some variables
77 Due to make(1) implementation issues, if a temporary
78 command-line override of a mk.conf(5) or <bsd.own.mk>
79 setting is required whilst still honoring a particular
80 Makefile's setting of MKxxx, use
85 NOxxx If defined, disables a feature.
86 Not intended for users.
87 This is to allow Makefiles to disable functionality
88 that they don't support (such as missing man pages).
89 NOxxx variables must be defined before <bsd.own.mk>
92 TOOL_xxx A tool that is provided as part of the USETOOLS
93 framework. When not using the USETOOLS framework,
94 TOOL_xxx variables should refer to tools that are
95 already installed on the host system.
97 The following variables that control how things are made/installed that
98 are not set by default. These should not be set by Makefiles; they're for
99 the user to define in MAKECONF (see <bsd.own.mk>, below, or mk.conf(5))
100 or on the make(1) command line:
102 BUILD If defined, 'make install' checks that the targets in the
103 source directories are up-to-date and remakes them if they
104 are out of date, instead of blindly trying to install
105 out of date or non-existent targets.
107 MAKEVERBOSE Control how "verbose" the standard make(1) rules are.
110 0 Minimal output ("quiet")
111 1 Describe what is occurring
112 2 Describe what is occurring and echo the actual command
113 3 Ignore the effect of the "@" prefix in make commands
114 4 Trace shell commands using the shell's -x flag
116 MKATF If "no", don't build the Automated Testing Framework (ATF),
117 which includes the libatf-c, libatf-c++ and libatf-sh libraries
118 and the various command line tools. Also, because the build of
119 the libraries is disabled, don't build the NetBSD test suite
123 MKBFD Obsolete, use MKBINUTILS
125 MKBINUTILS If "no", don't build binutils (gas, ld, etc and libbfd,
129 MKBSDTAR If "yes", use the libarchive based cpio and tar instead of
133 MKCATPAGES If "no", don't build or install the catman pages.
136 MKCOMPAT If "no", don't build or install the src/compat.
137 Default: yes on amd64/mips64/sparc64, no elsewhere.
139 MKCOMPLEX If "no", don't build libm support for <complex.h>
142 MKCRYPTO If "no", no cryptography support will be built into the system,
143 and also acts as "MKKERBEROS=no".
146 MKCRYPTO_RC5 If not "no", RC5 support will be built into libcrypto_rc5
149 MKCVS If "no", don't build or install cvs(1).
152 MKDEBUG If "no", don't build and install separate debugging symbols
153 into /usr/libdata/debug.
156 MKDEBUGLIB Build *_g.a debugging libraries, which are compiled
160 MKDEPINCLUDES If "yes" issue .include statements in the .depend file
161 instead of inlining the contents of the .d files. Useful
162 when stale dependencies are present, to list the exact
163 files that need refreshing. It is off by default because
164 it is possibly slower.
167 MKDOC If "no", don't build or install the documentation.
170 MKDTRACE If "no", do not build and install the kernel modules,
171 utilities and libraries used to implement the dtrace(1)
175 MKDYNAMICROOT If "no", build programs in /bin and /sbin statically,
176 don't install certain libraries in /lib, and don't
177 install the shared linker into /libexec.
180 MKEXTSRC If not "no", 'make build' also descends into either src/extsrc
181 to cross-build programs and libraries externally added by
182 users, and automatically enables creation of those sets.
185 MKGCC If "no", don't build gcc(1) or any of the GCC-related
186 libraries (libgcc, libobjc, libstdc++).
189 MKGCCCMDS If "no", don't build gcc(1), but do build the GCC-related
190 libraries (libgcc, libobjc, libstdc++).
193 MKGDB If "no", don't build gdb(1).
196 MKHESIOD If "no", disables building of Hesiod infrastructure
197 (libraries and support programs).
200 MKHOSTOBJ If not "no", for programs intended to be run on the compile
201 host, the name, release, and architecture of the host
202 operating system will be suffixed to the name of the object
203 directory created by "make obj".
206 MKHTML If "no", don't build or install the HTML man pages.
209 MKIEEEFP If "no", don't add code for IEEE754/IEC60559 conformance.
210 Has no effect on most platforms.
213 MKSTRIPIDENT Strip the RCS IDs from program binaries and shared libraries.
216 MKINET6 If "no", disables building of INET6 (IPv6) infrastructure
217 (libraries and support programs). This option must not be
218 set to "no" if MKX11 is not "no".
221 MKINFO If "no", don't build or install Info documentation from
222 Texinfo source files.
225 MKIPFILTER If "no", don't build or install the IP Filter programs and LKM.
228 MKISCSI If "no", don't build or install iSCSI library or applications
229 (depends on libpthread.)
232 MKKERBEROS If "no", disables building of Kerberos v5
233 infrastructure (libraries and support programs).
236 MKKMOD If "no", disables building of kernel modules.
239 MKKYUA If "no", don't build Kyua nor its dependent library Lutok.
240 Note that setting this to "no" does not disable the build of
241 the NetBSD test suite itself; the build of the tests is
242 controlled by the MKATF knob.
243 Default: no (until the import is done and validated)
245 MKLDAP If "no", disables building of LDAP infrastructure
246 (libraries and support programs).
249 MKLIBCXX If not "no", build and install libc++.
252 MKLIBSTDCXX If not "no", build and install libstdc++.
255 MKLINKLIB If "no", act as "MKLINT=no MKPICINSTALL=no MKPROFILE=no".
257 - don't install the .a libraries
258 - don't install _pic.a libraries on PIC systems
259 - don't build .a libraries on PIC systems
260 - don't install the .so symlink on ELF systems
261 I.e, only install the shared library (and the .so.major
265 MKLINT If "no", don't build or install the lint libraries.
268 MKLVM If "no", don't build or install the logical volume manager
269 and device mapper tools and libraries
272 MKMAN If "no", don't build or install the man or catman pages,
273 and also acts as "MKCATPAGES=no MKHTML=no".
276 MKMANDOC If "yes", mandoc is built as tool and used to compile
277 catman or html pages. A directory can be exempted by
278 defining NOMANDOC. Individual man pages are exempted
279 if NOMANDOC.${target} is set to "yes".
282 MKMANZ If not "no", compress manual pages at installation time.
285 MKMDNS If "no", disables building of mDNS infrastructure
286 (libraries and support programs).
289 MKNLS If "no", don't build or install the NLS files and locale
293 MKNPF If "no", don't build or install the NPF and its modules.
296 MKOBJ If "no", don't enable the rule which creates objdirs,
297 and also acts as "MKOBJDIRS=no".
300 MKOBJDIRS If "no", don't create objdirs during a "make build".
303 MKPAM If "no", disables building of PAM authentication
304 infrastructure (libraries and support programs).
307 MKPCC If "no", don't build pcc(1) or any of the PCC-related
308 libraries (libpcc, libpccsoftfloat).
311 MKPF If "no", don't build or install the pf programs and LKM.
314 MKPIC If "no", don't build or install shared libraries, and
315 also acts as "MKPICLIB=no"
316 Default: yes (for MACHINE_ARCHs that support it)
318 MKPICINSTALL If "no", don't install the *_pic.a libraries.
321 MKPICLIB If "no", don't build *_pic.a libraries, and build the
322 shared object libraries from the .a libraries.
323 A symlink is installed in ${DESTDIR}/usr/lib for the
324 _pic.a library pointing to the .a library.
327 MKPIE If "no", create regular executables. Otherwise create
328 PIE (Position Independent Executables).
331 MKPIGZGZIP If "no", only install pigz as pigz, not gzip.
334 MKPOSTFIX If "no", don't build or install postfix(1).
337 MKPROFILE If "no", don't build or install the profiling (*_p.a) libraries.
340 MKREPRO If "yes", create reproducable builds. This enables
341 different switches to make two builds from the same source tree
342 result in the same build results.
345 MKSHARE If "no", act as "MKCATPAGES=no MKDOC=no MKHTML=no MKINFO=no
347 I.e, don't build catman pages, documentation, Info
348 documentation, man pages, NLS files, ...
351 MKSKEY If "no", disables building of S/key authentication
352 infrastructure (libraries and support programs).
355 MKSLJIT If "no", disables building of sljit (stack-less platform
356 independent JIT compiler) private library and tests.
357 Default: yes on amd64, i386 and sparc, no elsewhere.
359 MKSOFTFLOAT If not "no", build with options to enable the compiler to
360 generate output containing library calls for floating
361 point and possibly soft-float library support.
364 MKSTATICLIB If "no", don't build or install the normal static (*.a)
368 MKTPM If "no" then don't build the Trusted Platform Module
372 MKUNPRIVED If not "no", don't set the owner/group/mode when installing
373 files or directories, and keep a metadata log of what
374 the owner/group/mode should be. This allows a
375 non-root "make install".
378 MKUPDATE If not "no", 'make install' only installs targets that are
379 more recently modified in the source directories that their
380 installed counterparts.
383 MKX11 If not "no", depending on the value of ${X11FLAVOUR},
384 'make build' also descends into either src/x11 (XFree86) or
385 src/external/mit/xorg (modular Xorg) to cross-build X11 and
386 automatically enables creation of X sets.
389 MKX11FONTS If not "no", if ${X11FLAVOUR} is "Xorg", do not build or
390 install the X fonts. The xfont set is still created but
394 MKX11MOTIF: If "yes" and ${X11FLAVOUR} is "Xorg", build the native X11
395 libGLw with Motif stubs. If Motif is not installed in the
396 default location /usr/pkg, the location can be specified
397 using the X11MOTIFPATH variable.
400 MKYP If "no", disables building of YP (NIS)
401 infrastructure (libraries and support programs).
404 MKZFS If "no", do not build and install utilities and libraries
405 used to manage ZFS file system. Do not build zfs and solaris
406 compatibility kernel modules.
407 Default: yes on i386/amd64, no elsewhere.
409 MKRUMP If "no", do not build and install rump related headers,
410 libraries, and programs.
413 USE_HESIOD If "no", disables building Hesiod support into
414 various system utilities/libraries that support it.
415 If ${MKHESIOD} is "no", USE_HESIOD will also be
418 USE_INET6 If "no", disables building INET6 (IPv6) support into
419 various system utilities/libraries that support it.
420 If ${MKINET6} is "no", USE_INET6 will also be
423 USE_JEMALLOC If "no", disables building the "jemalloc" allocator
424 designed for improved performance with threaded
425 applications. The "phkmalloc" allocator as used up
426 before NetBSD-5.0 will be substituted.
428 USE_KERBEROS If "no", disables building Kerberos v5
429 support into various system utilities/libraries that
430 support it. If ${MKKERBEROS} is "no", USE_KERBEROS
431 will also be forced to "no".
433 USE_LDAP If "no", disables building LDAP support into various
434 system utilities/libraries that support it.
435 If ${MKLDAP} is "no", USE_LDAP will also be forced to "no".
437 USE_PAM If "no", disables building PAM authentication support
438 into various system utilities/libraries that support it.
439 If ${MKPAM} is "no", USE_PAM will also be forced to "no".
441 USE_SKEY If "no", disables building S/key authentication
442 support into various system utilities/libraries that
443 support it. If ${MKSKEY} is "no", USE_SKEY will
444 also be forced to "no".
447 USE_SSP If "no", disables GCC stack protection code, which
448 detects stack overflows and aborts the program. The
449 stack protection code imposes a performance penalty
451 Default: "no", unless "USE_FORT" is set to "yes"
453 USE_FORT If "yes" turns on substitute wrappers for commonly used
454 functions that do not do bounds checking regularly, but
455 they could in some cases by using the gcc
456 __builtin_object_size() function to determine the buffer
457 size where it is known and detect buffer overflows.
458 These substitute functions are in /usr/include/ssp.
459 Default: depends on the part of the source tree
461 USE_YP If "no", disables building YP (NIS) support into
462 various system utilities/libraries that support it.
463 If ${MKYP} is "no", USE_YP will also be forced to "no".
465 USE_PIGZGZIP If "no", use the host "gzip" program to compress things.
466 Otherwise, build tools/pigz and use nbpigz to compress
470 X11FLAVOUR Set to "Xorg" or "XFree86", depending on whether to build
471 XFree86 or modular Xorg. Only matters if MKX11!=no.
472 Default: "Xorg" on amd64, i386, macppc, shark and sparc64,
473 "XFree86" on everything else.
484 CXXFLAGS.<prog> These provide a way to specify additions to the associated
485 variables in a way that applies only to a particular library
486 or program. <lib> corresponds to the LIB variable set in
487 the library's makefile. <prog> corresponds to either PROG
488 or PROG_CXX (if set). For example, if COPTS.libcrypto is
489 set to "-g", "-g" will be added to COPTS only when compiling
492 The active compiler is selected using the following variables:
494 List of available compiler suites. Processed in order
495 for selecting the active compiler for each frontend.
496 HAVE_PCC If defined, PCC is present and enabled.
497 HAVE_LLVM If defined, LLVM/Clang is present and enabled.
498 UNSUPPORTED_COMPILER.xxx
499 If defined, the support for compiler "xxx" is disabled.
501 For the frontends (CC, CPP, CXX, FC and OBJC) the following variables exist:
502 ACTIVE_CC Active compile suite for the CC frontend.
503 SUPPORTED_CC Compile suite with support for the CC frontend.
504 TOOL_CC.xxx Path to the CC frontend for compiler "xxx"
506 =-=-=-=-= sys.mk =-=-=-=-=
508 The include file <sys.mk> has the default rules for all makes, in the BSD
509 environment or otherwise. You probably don't want to touch this file.
511 =-=-=-=-= bsd.own.mk =-=-=-=-=
513 The include file <bsd.own.mk> contains source tree configuration parameters,
514 such as the owners, groups, etc. for both manual pages and binaries, and
515 a few global "feature configuration" parameters.
519 To get system-specific configuration parameters, <bsd.own.mk> will try to
520 include the file specified by the "MAKECONF" variable. If MAKECONF is not
521 set, or no such file exists, the system make configuration file, /etc/mk.conf
522 is included. These files may define any of the variables described below.
524 <bsd.own.mk> sets the following variables, if they are not already defined
525 (defaults are in brackets):
527 NETBSDSRCDIR Top of the NetBSD source tree.
528 If _SRC_TOP_ != "", that will be used as the default,
529 otherwise BSDSRCDIR will be used as the default.
530 Various makefiles within the NetBSD source tree will
531 use this to reference the top level of the source tree.
533 _SRC_TOP_ Top of the system source tree, as determined by <bsd.own.mk>
534 based on the presence of tools/ and build.sh. This variable
535 is "internal" to <bsd.own.mk>, although its value is only
536 determined once and then propagated to all sub-makes.
538 _NETBSD_VERSION_DEPENDS
539 A list of files which contain information about
540 the version of the NetBSD being built. This is
541 defined only if the current directory appears
542 to be inside a NetBSD source tree. The list of
543 files includes ${NETBSDSRCDIR}/sys/sys/param.h
544 (which contains the kernel version number),
545 ${NETBSDSRCDIR}/sys/conf/newvers.sh and
546 ${NETBSDSRCDIR}/sys/conf/osrelease.sh (which
547 interpret the information in sys/sys/param.h), and
548 ${_SRC_TOP_OBJ_}/params (which is an optional file,
549 created by "make build" in ${_SRC_TOP_}/Makefile,
550 containing all the variables that may influence the
553 Targets that depend on the NetBSD version, or on
554 variables defined at build time, can declare a
555 dependency on ${_NETBSD_VERSION_DEPENDS}, like this:
557 version.c: ${_NETBSD_VERSION_DEPENDS}
558 commands to create version.c
560 BSDSRCDIR The real path to the system sources, so that 'make obj'
561 will work correctly. [/usr/src]
563 BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj'
564 will work correctly. [/usr/obj]
566 BINGRP Binary group. [wheel]
568 BINOWN Binary owner. [root]
570 BINMODE Binary mode. [555]
572 NONBINMODE Mode for non-executable files. [444]
574 MANDIR Base path for manual installation. [/usr/share/man/cat]
576 MANGRP Manual group. [wheel]
578 MANOWN Manual owner. [root]
580 MANMODE Manual mode. [${NONBINMODE}]
582 MANINSTALL Manual installation type. Space separated list:
583 catinstall, htmlinstall, maninstall
584 Default value derived from MKCATPAGES and MKHTML.
586 LDSTATIC Control program linking; if set blank, link everything
587 dynamically. If set to "-static", link everything statically.
588 If not set, programs link according to their makefile.
590 LIBDIR Base path for library installation. [/usr/lib]
592 LINTLIBDIR Base path for lint(1) library installation. [/usr/libdata/lint]
594 LIBGRP Library group. [${BINGRP}]
596 LIBOWN Library owner. [${BINOWN}]
598 LIBMODE Library mode. [${NONBINMODE}]
600 DOCDIR Base path for system documentation (e.g. PSD, USD, etc.)
601 installation. [/usr/share/doc]
603 HTMLDOCDIR Base path for html system documentation installation.
604 [/usr/share/doc/html]
606 DOCGRP Documentation group. [wheel]
608 DOCOWN Documentation owner. [root]
610 DOCMODE Documentation mode. [${NONBINMODE}]
612 NLSDIR Base path for Native Language Support files installation.
615 NLSGRP Native Language Support files group. [wheel]
617 NLSOWN Native Language Support files owner. [root]
619 NLSMODE Native Language Support files mode. [${NONBINMODE}]
621 X11SRCDIR The path to the xsrc tree. [${NETBSDSRCDIR}/../xsrc,
622 if that exists; otherwise /usr/xsrc]
624 X11SRCDIR.xc The path to the (old) X11 xc src tree. [${X11SRCDIR}/xfree/xc]
626 X11SRCDIR.local The path to the local X11 src tree. [${X11SRCDIR}/local]
628 X11SRCDIR.lib<package>
630 The path to the xorg src tree for the specificed package>.
631 [${X11SRCDIR}/external/mit/xorg/<package>/dist]
633 X11ROOTDIR Root directory of the X11 installation. [/usr/X11R6 or
636 X11BINDIR X11 bin directory. [${X11ROOTDIR}/bin]
638 X11FONTDIR X11 font directory. [${X11ROOTDIR}/lib/X11/fonts]
640 X11INCDIR X11 include directory. [${X11ROOTDIR}/include]
642 X11LIBDIR X11 lib/x11 (config) directory. [${X11ROOTDIR}/lib/X11]
644 X11MANDIR X11 manual directory. [${X11ROOTDIR}/man]
646 X11USRLIBDIR X11 library directory. [${X11ROOTDIR}/lib]
648 STRIPFLAG The flag passed to the install program to cause the binary
649 to be stripped. This is to be used when building your
650 own install script so that the entire system can be made
651 stripped/not-stripped using a single knob. []
653 COPY The flag passed to the install program to cause the binary
654 to be copied rather than moved. This is to be used when
655 building our own install script so that the entire system
656 can either be installed with copies, or with moves using
660 Environment variables passed to the child make process
661 invoked by MAKEDIRTARGET.
663 MAKEDIRTARGET dir target [params]
664 Runs "cd $${dir} && ${MAKE} [params] $${target}",
665 displaying a "pretty" message whilst doing so.
668 Subdirectory used below RELEASEDIR when building
669 a release. [${MACHINE}]
671 RELEASEMACHINE Subdirectory or path component used for the following
673 distrib/${RELEASEMACHINE}
674 distrib/notes/${RELEASEMACHINE}
675 etc/etc.${RELEASEMACHINE}
676 Used when building a release. [${MACHINE}]
678 Additionally, the following variables may be set by <bsd.own.mk> or in a
679 make configuration file to modify the behavior of the system build
680 process (default values are in brackets along with comments, if set by
683 USETOOLS Indicates whether the tools specified by ${TOOLDIR} should
684 be used as part of a build in progress.
687 yes Use the tools from TOOLDIR.
688 Must be set to this if cross-compiling.
690 no Do not use the tools from TOOLDIR, but refuse to
691 build native compilation tool components that are
692 version-specific for that tool.
694 never Do not use the tools from TOOLDIR, even when
695 building native tool components. This is similar to
696 the traditional NetBSD build method, but does not
697 verify that the compilation tools in use are
698 up-to-date enough in order to build the tree
699 successfully. This may cause build or runtime
700 problems when building the whole NetBSD source tree.
702 Default: "yes" if building all or part of a whole NetBSD
703 source tree (detected automatically); "no" otherwise
704 (to preserve traditional semantics of the <bsd.*.mk>
705 make(1) include files).
707 OBJECT_FMT Object file format. [set to "ELF" on architectures that
708 use ELF -- currently all architectures].
711 If not "no", this indicates that the platform being built
712 does not have a working in-tree toolchain. If the
713 ${MACHINE_ARCH} in question falls into this category,
714 TOOLCHAIN_MISSING is conditionally assigned the value "yes".
715 Otherwise, the variable is unconditionally assigned the
717 If not "no", ${MKBINUTILS}, ${MKGCC}, and ${MKGDB} are
718 unconditionally assigned the value "no".
721 This variable is not directly set by <bsd.own.mk>, but
722 including <bsd.own.mk> is the canonical way to gain
723 access to this variable. The variable should be defined
724 either in the user's environment or in the user's mk.conf
725 file. If defined, this variable indicates the root of
726 an external toolchain which will be used to build the
727 tree. For example, if a platform is a ${TOOLCHAIN_MISSING}
728 platform, EXTERNAL_TOOLCHAIN can be used to re-enable the
729 cross-compile framework.
731 If EXTERNAL_TOOLCHAIN is defined, ${MKGCC} is unconditionally
732 assigned the value "no", since the external version of the
733 compiler may not be able to build the library components of
734 the in-tree compiler.
736 NOTE: This variable is not yet used in as many places as
737 it should be. Expect the exact semantics of this variable
738 to change in the short term as parts of the cross-compile
739 framework continue to be cleaned up.
741 The following variables are defined to commands to perform the
742 appropriate operation, with the default in [brackets]. Note that
743 the defaults change if USETOOLS == "yes":
745 TOOL_AMIGAAOUT2BB aout to Amiga bootblock converter. [amiga-aout2bb]
747 TOOL_AMIGAELF2BB ELF to Amiga bootblock converter. [amiga-elf2bb]
749 TOOL_AMIGATXLT Amige assembly language format translator. [amiga-txlt]
751 TOOL_ASN1_COMPILE ASN1 compiler. [asn1_compile]
753 TOOL_AWK Pattern-directed scanning/processing language. [awk]
755 TOOL_CAP_MKDB Create capability database. [cap_mkdb]
757 TOOL_CAT Concatenate and print files. [cat]
759 TOOL_CKSUM Display file checksums. [cksum]
761 TOOL_COMPILE_ET Error table compiler. [compile_et]
763 TOOL_CONFIG Build kernel compilation directories. [config]
765 TOOL_CRUNCHGEN Generate crunched binary build environment. [crunchgen]
767 TOOL_CTAGS Create a tags file. [ctags]
769 TOOL_DB Manipulate db(3) databases. [db]
771 TOOL_DISKLABEL Read and write disk pack label. [disklabel]
773 TOOL_EQN Format equations for groff. [eqn]
775 TOOL_FDISK MS-DOS partition maintenance program. [fdisk]
777 TOOL_FGEN IEEE 1275 Open Firmware FCode Tokenizer. [fgen]
779 TOOL_GENASSYM Generate constants for assembly files. [genassym]
781 TOOL_GENCAT Generate NLS message catalogs. [gencat]
783 TOOL_GMAKE GNU make utility. [gmake]
785 TOOL_GREP Print lines matching a pattern. [grep]
787 TOOL_GROFF Front end for groff document formatting system. [groff]
789 TOOL_HEXDUMP Ascii, decimal, hexadecimal, octal dump. [hexdump]
791 TOOL_HP300MKBOOT Make bootable image for hp300. [hp300-mkboot]
793 TOOL_HP700MKBOOT Make bootable image for hp700. [hp700-mkboot]
795 TOOL_INDXBIB Make bibliographic database's inverted index. [indxbib]
797 TOOL_INSTALLBOOT Install disk bootstrap software. [installboot]
799 TOOL_INSTALL_INFO Update info/dir entries. [install-info]
801 TOOL_JOIN Relational database operator. [join]
803 TOOL_M4 M4 macro language processor. [m4]
805 TOOL_MACPPCFIXCOFF Fix up xcoff headers for macppc. [macppc-fixcoff]
807 TOOL_MAKEFS Create file system image from directory tree. [makefs]
809 TOOL_MAKEINFO Translate Texinfo documents. [makeinfo]
811 TOOL_MAKEWHATIS Create a whatis.db database. [makewhatis]
813 TOOL_MDSETIMAGE Set kernel RAM disk image. [mdsetimage]
815 TOOL_MENUC Menu compiler. [menuc]
817 TOOL_MIPSELF2ECOFF Convert ELF-format executable to ECOFF for mips.
820 TOOL_MKCSMAPPER Make charset mapping table. [mkcsmapper]
822 TOOL_MKESDB Make encoding scheme database. [mkesdb]
824 TOOL_MKLOCALE Make LC_CTYPE locale files. [mklocale]
826 TOOL_MKMAGIC Create database for file(1). [file]
828 TOOL_MKNOD Make device special file. [mknod]
830 TOOL_MKTEMP Make (unique) temporary file name. [mktemp]
832 TOOL_MSGC Simple message list compiler. [msgc]
834 TOOL_MTREE Map a directory hierarchy. [mtree]
836 TOOL_PAX Manipulate file archives and copy directories. [pax]
838 TOOL_PIC Compile pictures for groff. [pic]
840 TOOL_PIGZ Parallel compressor. [pigz]
842 TOOL_POWERPCMKBOOTIMAGE Make bootable image for powerpc. [powerpc-mkbootimage]
844 TOOL_PWD_MKDB Generate the password databases. [pwd_mkdb]
846 TOOL_REFER Preprocess bibliographic references for groff. [refer]
848 TOOL_ROFF_ASCII Generate ASCII groff output. [nroff]
850 TOOL_ROFF_DVI Generate DVI groff output. [${TOOL_GROFF} -Tdvi]
852 TOOL_ROFF_HTML Generate HTML groff output.
853 [${TOOL_GROFF} -Tlatin1 -mdoc2html]
855 TOOL_ROFF_PS Generate PS groff output. [${TOOL_GROFF} -Tps]
857 TOOL_ROFF_RAW Generate "raw" groff output. [${TOOL_GROFF} -Z]
859 TOOL_RPCGEN Remote Procedure Call (RPC) protocol compiler. [rpcgen]
861 TOOL_SED Stream editor. [sed]
863 TOOL_SOELIM Eliminate .so's from groff input. [soelim]
865 TOOL_SPARKCRC Generate a crc suitable for use in a sparkive file.
868 TOOL_STAT Display file status. [stat]
870 TOOL_STRFILE Create a random access file for storing strings.
873 TOOL_SUNLABEL Read or modify a SunOS disk label. [sunlabel]
875 TOOL_TBL Format tables for groff. [tbl]
877 TOOL_UUDECODE Uudecode a binary file. [uudecode]
879 TOOL_VGRIND Grind nice listings of programs. [vgrind -f]
881 TOOL_ZIC Time zone compiler. [zic]
883 <bsd.own.mk> is generally useful when building your own Makefiles so that
884 they use the same default owners etc. as the rest of the tree.
887 =-=-=-=-= bsd.clean.mk =-=-=-=-=
889 The include file <bsd.clean.mk> defines the clean and cleandir
890 targets. It uses the following variables:
892 CLEANFILES Files to remove for both the clean and cleandir targets.
894 CLEANDIRFILES Files to remove for the cleandir target, but not for
897 MKCLEANSRC Controls whether or not the clean and cleandir targets
898 will delete files from both the object directory,
899 ${.OBJDIR}, and the source directory, ${.CURDIR}.
901 If MKCLEANSRC is set to "no", then the file names in
902 CLEANFILES or CLEANDIRFILES are interpreted relative
903 to the object directory, ${.OBJDIR}. This is the
904 traditional behaviour.
906 If MKCLEANSRC is set to "yes", then the file deletion
907 is performed relative to both the object directory,
908 ${.OBJDIR}, and the source directory, ${.CURDIR}. (This
909 has no effect if ${.OBJDIR} is the same as ${.CURDIR}.)
910 Deleting files from ${.CURDIR} is intended to remove
911 stray output files that had been left in the source
912 directory by an earlier build that did not use object
915 The default is MKCLEANSRC=yes. If you always build with
916 separate object directories, and you are sure that there
917 are no stray files in the source directories, then you
918 may set MKCLEANSRC=no to save some time.
920 MKCLEANVERIFY Controls whether or not the clean and cleandir targets
921 will verify that files have been deleted.
923 If MKCLEANVERIFY is set to "no", then the files will
924 be deleted using a "rm -f" command, and its success or
925 failure will be ignored.
927 If MKCLEANVERIFY is set to "yes", then the success of
928 the "rm -f" command will be verified using an "ls"
931 The default is MKCLEANVERIFY=yes. If you are sure that
932 there will be no problems caused by file permissions,
933 read-only file systems, or the like, then you may set
934 MKCLEANVERIFY=no to save some time.
936 To use the clean and cleandir targets defined in <bsd.clean.mk>, other
937 Makefiles or bsd.*.mk files should append file names to the CLEANFILES
938 or CLEANDIRFILES variables. For example:
941 CLEANDIRFILES+= .depend
943 .include <bsd.clean.mk>
945 The files listed in CLEANFILES and CLEANDIRFILES must not be
946 directories, because the potential risk from running "rm -rf" commands
947 in bsd.clean.mk is considered too great. If you want to recursively
948 delete a directory as part of "make clean" or "make cleandir" then you
949 need to provide your own target.
951 =-=-=-=-= bsd.dep.mk =-=-=-=-=
953 The include file <bsd.dep.mk> contains the default targets for building
954 .depend files. It creates .d files from entries in SRCS and DPSRCS
955 that are C, C++, or Objective C source files, and builds .depend from the
956 .d files. All other files in SRCS and all of DPSRCS will be used as
957 dependencies for the .d files. In order for this to function correctly,
958 it should be .included after all other .mk files and directives that may
959 modify SRCS or DPSRCS. It uses the following variables:
961 SRCS List of source files to build the program.
963 DPSRCS List of source files which are needed for generating
964 dependencies, but are not needed in ${SRCS}.
967 =-=-=-=-= bsd.files.mk =-=-=-=-=
969 The include file <bsd.files.mk> handles the FILES variables and is included
970 from <bsd.lib.mk> and <bsd.prog.mk>, and uses the following variables:
972 FILES The list of files to install.
974 CONFIGFILES Similar semantics to FILES, except that the files
975 are installed by the `configinstall' target,
976 not the `install' target.
977 The FILES* variables documented below also apply.
979 FILESOWN File owner. [${BINOWN}]
981 FILESGRP File group. [${BINGRP}]
983 FILESMODE File mode. [${NONBINMODE}]
985 FILESDIR The location to install the files.
987 FILESNAME Optional name to install each file as.
989 FILESOWN_<fn> File owner of the specific file <fn>.
991 FILESGRP_<fn> File group of the specific file <fn>.
993 FILESMODE_<fn> File mode of the specific file <fn>.
995 FILESDIR_<fn> The location to install the specific file <fn>.
997 FILESNAME_<fn> Optional name to install <fn> as.
999 FILESBUILD If this variable is defined, then its value will be
1000 used as the default for all FILESBUILD_<fn> variables.
1001 Otherwise, the default will be "no".
1003 FILESBUILD_<fn> A value different from "no" will add the file to the list of
1004 targets to be built by `realall'. Users of that variable
1005 should provide a target to build the file.
1008 BUILDSYMLINKS List of two word items:
1010 For each lnsrc item, create a symlink named lntgt.
1011 The lntgt symlinks are removed by the cleandir target.
1013 UUDECODE_FILES List of files which are stored as <file>.uue in the source
1014 tree. Each one will be decoded with ${TOOL_UUDECODE}.
1015 The source files have a `.uue' suffix, the generated files do
1018 UUDECODE_FILES_RENAME_<fn>
1019 Rename the output from the decode to the provided name.
1021 *NOTE: These files are simply decoded, with no install or other
1022 rule applying implicitly except being added to the clean
1025 =-=-=-=-= bsd.gcc.mk =-=-=-=-=
1027 The include file <bsd.gcc.mk> computes various parameters related to GCC
1028 support libraries. It defines no targets. <bsd.own.mk> MUST be included
1029 before <bsd.gcc.mk>.
1031 The primary users of <bsd.gcc.mk> are <bsd.prog.mk> and <bsd.lib.mk>, each
1032 of which need to know where to find certain GCC support libraries.
1034 The behavior of <bsd.gcc.mk> is influenced by the EXTERNAL_TOOLCHAIN variable,
1035 which is generally set by the user. If EXTERNAL_TOOLCHAIN it set, then
1036 the compiler is asked where to find the support libraries, otherwise the
1037 support libraries are found in ${DESTDIR}/usr/lib.
1039 <bsd.gcc.mk> sets the following variables:
1041 _GCC_CRTBEGIN The full path name to crtbegin.o.
1043 _GCC_CRTBEGINS The full path name to crtbeginS.o.
1045 _GCC_CRTEND The full path name to crtend.o.
1047 _GCC_CRTENDS The full path name to crtendS.o.
1049 _GCC_LIBGCCDIR The directory where libgcc.a is located.
1052 =-=-=-=-= bsd.inc.mk =-=-=-=-=
1054 The include file <bsd.inc.mk> defines the includes target and uses the
1057 INCS The list of include files.
1059 INCSDIR The location to install the include files.
1061 INCSNAME Target name of the include file, if only one; same as
1062 FILESNAME, but for include files.
1064 INCSYMLINKS Similar to SYMLINKS in <bsd.links.mk>, except that these
1065 are installed in the 'includes' target and not the
1066 (much later) 'install' target.
1068 INCSNAME_<file> The name file <file> should be installed as, if not <file>,
1069 same as FILESNAME_<file>, but for include files.
1072 =-=-=-=-= bsd.info.mk =-=-=-=-=
1074 The include file <bsd.info.mk> is used to generate and install GNU Info
1075 documentation from respective Texinfo source files. It defines three
1076 implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
1077 following variables:
1079 TEXINFO List of Texinfo source files. Info documentation will
1080 consist of single files with the extension replaced by
1083 INFOFLAGS Flags to pass to makeinfo. []
1086 =-=-=-=-= bsd.kernobj.mk =-=-=-=-=
1088 The include file <bsd.kernobj.mk> defines variables related to the
1089 location of kernel sources and object directories.
1091 KERNSRCDIR Is the location of the top of the kernel src.
1094 KERNARCHDIR Is the location of the machine dependent kernel sources.
1097 KERNCONFDIR Is where the configuration files for kernels are found.
1098 [${KERNSRCDIR}/${KERNARCHDIR}/conf]
1100 KERNOBJDIR Is the kernel build directory. The kernel GENERIC for
1101 instance will be compiled in ${KERNOBJDIR}/GENERIC.
1102 The default value is
1103 ${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile
1104 if it exists or the target 'obj' is being made.
1105 Otherwise the default is
1106 ${KERNSRCDIR}/${KERNARCHDIR}/compile.
1108 It is important that Makefiles (such as those under src/distrib) that
1109 wish to find compiled kernels use <bsd.kernobj.mk> and ${KERNOBJDIR}
1110 rather than make assumptions about the location of the compiled kernel.
1113 =-=-=-=-= bsd.kinc.mk =-=-=-=-=
1115 The include file <bsd.kinc.mk> defines the many targets (includes,
1116 subdirectories, etc.), and is used by kernel makefiles to handle
1117 include file installation. It is intended to be included alone, by
1118 kernel Makefiles. It uses similar variables to <bsd.inc.mk>.
1119 Please see <bsd.kinc.mk> for more details, and keep the documentation
1120 in that file up to date.
1123 =-=-=-=-= bsd.lib.mk =-=-=-=-=
1125 The include file <bsd.lib.mk> has support for building libraries. It has
1126 the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
1127 includes, install, lint, and tags. Additionally, it has a checkver target
1128 which checks for installed shared object libraries whose version is greater
1129 that the version of the source. It has a limited number of suffixes,
1130 consistent with the current needs of the BSD tree. <bsd.lib.mk> includes
1131 <bsd.shlib.mk> to get shared library parameters.
1133 It sets/uses the following variables:
1135 LIB The name of the library to build.
1137 LIBDIR Target directory for libraries.
1139 MKARZERO Normally, ar(1) sets the timestamps, uid, gid and
1140 permissions in files inside its archives to those of
1141 the file it was fed. This leads to non-reproduceable
1142 builds. If MKARZERO is set to "yes" (default is "no")
1143 then the "D" flag is passed to ar, causing the
1144 timestamp, uid and gid to be zeroed and the file
1145 permissions to be set to 644. This allows .a files
1146 from different builds to be bit identical.
1148 SHLIBINSTALLDIR Target directory for shared libraries if ${USE_SHLIBDIR}
1153 SHLIB_TEENY Major, minor, and teeny version numbers of shared library
1155 USE_SHLIBDIR If not "no", use ${SHLIBINSTALLDIR} instead of ${LIBDIR}
1156 as the path to install shared libraries to.
1157 USE_SHLIBDIR must be defined before <bsd.own.mk> is included.
1160 LIBISMODULE If not "no", install as ${LIB}.so (without the "lib" prefix),
1161 and act as "MKDEBUGLIB=no MKLINT=no MKPICINSTALL=no
1162 MKPROFILE=no MKSTATICLIB=no".
1165 LIBISPRIVATE If not "no", act as "MKDEBUGLIB=no MKLINT=no MKPIC=no
1166 MKPROFILE=no", and don't install the (.a) library.
1167 This is useful for "build only" helper libraries.
1170 LIBISCXX If not "no", Use ${CXX} instead of ${CC} to link
1172 This is useful for C++ libraries.
1175 LINTLIBDIR Target directory for lint libraries.
1177 LIBGRP Library group.
1179 LIBOWN Library owner.
1181 LIBMODE Library mode.
1183 LDADD Additional loader objects.
1185 MAN The manual pages to be installed (use a .1 - .9 suffix).
1187 NOCHECKVER_<library>
1188 NOCHECKVER If set, disables checking for installed shared object
1189 libraries with versions greater than the source. A
1190 particular library name, without the "lib" prefix, may
1191 be appended to the variable name to disable the check for
1194 SRCS List of source files to build the library. Suffix types
1195 .s, .c, and .f are supported. Note, .s files are preferred
1196 to .c files of the same name. (This is not the default for
1199 LIBDPLIBS A list of the tuples:
1200 libname path-to-srcdir-of-libname
1203 * LIBDO.libname contains the .OBJDIR of the library
1204 `libname', and if it is not set it is determined
1205 from the srcdir and added to MAKEOVERRIDES (the
1206 latter is to allow for build time optimization).
1207 * LDADD gets -L${LIBDO.libname} -llibname added.
1208 * DPADD gets ${LIBDO.libname}/liblibname.so or
1209 ${LIBDO.libname}/liblibname.a added.
1211 The special value "_external" for LIBDO.lib makes the
1212 build system to assume the library comes from outside
1213 of the NetBSD source tree and only causes -llibname
1214 to be added to LDADD.
1216 This variable may be used for individual libraries, as
1217 well as in parent directories to cache common libraries
1218 as a build-time optimization.
1220 The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
1221 if it exists, as well as the include file <bsd.man.mk>.
1223 It has rules for building profiled objects; profiled libraries are
1226 Libraries are ranlib'd when made.
1229 =-=-=-=-= bsd.links.mk =-=-=-=-=
1231 The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
1232 and is included from from <bsd.lib.mk> and <bsd.prog.mk>.
1234 LINKSOWN, LINKSGRP, and LINKSMODE, are relevant only if a metadata log
1235 is used. The defaults may be modified by other bsd.*.mk files which
1236 include bsd.links.mk. In the future, these variables may be replaced
1237 by a method for explicitly recording hard links in a metadata log.
1239 LINKS The list of hard links, consisting of pairs of paths:
1240 source-file target-file
1241 ${DESTDIR} is prepended to both paths before linking.
1242 For example, to link /bin/test and /bin/[, use:
1243 LINKS=/bin/test /bin/[
1245 CONFIGLINKS Similar semantics to LINKS, except that the links
1246 are installed by the `configinstall' target,
1247 not the `install' target.
1249 SYMLINKS The list of symbolic links, consisting of pairs of paths:
1250 source-file target-file
1251 ${DESTDIR} is only prepended to target-file before linking.
1252 For example, to symlink /usr/bin/tar to /bin/tar resulting
1253 in ${DESTDIR}/usr/bin/tar -> /bin/tar:
1254 SYMLINKS=/bin/tar /usr/bin/tar
1256 CONFIGSYMLINKS Similar semantics to SYMLINKS, except that the symbolic links
1257 are installed by the `configinstall' target,
1258 not the `install' target.
1260 LINKSOWN Link owner. [${BINOWN}]
1262 LINKSGRP Link group. [${BINGRP}]
1264 LINKSMODE Link mode. [${NONBINMODE}]
1266 LINKSOWN_<fn> Link owner of the specific file <fn>.
1268 LINKSGRP_<fn> Link group of the specific file <fn>.
1270 LINKSMODE_<fn> Link mode of the specific file <fn>.
1273 =-=-=-=-= bsd.man.mk =-=-=-=-=
1275 The include file <bsd.man.mk> handles installing manual pages and their
1278 It has a three targets:
1281 Install the preformatted manual pages and their links.
1283 Install the HTML manual pages and their links.
1285 Install the manual page sources and their links.
1287 It sets/uses the following variables:
1289 MANDIR Base path for manual installation.
1291 MANGRP Manual group.
1293 MANOWN Manual owner.
1295 MANMODE Manual mode.
1297 MANSUBDIR Subdirectory under the manual page section, i.e. "/vax"
1298 or "/tahoe" for machine specific manual pages.
1300 MAN The manual pages to be installed (use a .1 - .9 suffix).
1302 MLINKS List of manual page links (using a .1 - .9 suffix). The
1303 linked-to file must come first, the linked file second,
1304 and there may be multiple pairs.
1306 The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
1310 =-=-=-=-= bsd.obj.mk =-=-=-=-=
1312 The include file <bsd.obj.mk> defines targets related to the creation
1313 and use of separated object and source directories.
1315 If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses
1316 ${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if
1317 it exists. Otherwise make(1) looks for the existence of a
1318 subdirectory (or a symlink to a directory) of the source directory
1319 into which built targets should be placed. If an environment variable
1320 named MAKEOBJDIR is set, make(1) uses its value as the name of the
1321 object directory; failing that, make first looks for a subdirectory
1322 named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj".
1324 Object directories are not created automatically by make(1) if they
1325 don't exist; you need to run a separate "make obj". (This will happen
1326 during a top-level build if "MKOBJDIRS" is set to a value other than
1327 "no"). When the source directory is a subdirectory of ${BSDSRCDIR} --
1328 and this is determined by a simple string prefix comparison -- object
1329 directories are created in a separate object directory tree, and a
1330 symlink to the object directory in that tree is created in the source
1331 directory; otherwise, "make obj" assumes that you're not in the main
1332 source tree and that it's not safe to use a separate object tree.
1334 Several variables used by <bsd.obj.mk> control exactly what
1335 directories and links get created during a "make obj":
1337 MAKEOBJDIR If set, this is the component name of the object
1340 OBJMACHINE If this is set but MAKEOBJDIR is not set, creates
1341 object directories or links named "obj.${MACHINE}";
1342 otherwise, just creates ones named "obj".
1344 USR_OBJMACHINE If set, and the current directory is a subdirectory of
1345 ${BSDSRCDIR}, create object directory in the
1346 corresponding subdirectory of ${BSDOBJDIR}.${MACHINE};
1347 otherwise, create it in the corresponding subdirectory
1350 BUILDID If set, the contents of this variable are appended
1351 to the object directory name. If OBJMACHINE is also
1352 set, ".${BUILDID}" is added after ".${MACHINE}".
1355 =-=-=-=-= bsd.prog.mk =-=-=-=-=
1357 The include file <bsd.prog.mk> handles building programs from one or
1358 more source files, along with their manual pages. It has a limited number
1359 of suffixes, consistent with the current needs of the BSD tree.
1360 <bsd.prog.mk> includes <bsd.shlib.mk> to get shared library parameters.
1362 It has eight targets:
1365 build the program and its manual page. This also
1366 creates a GDB initialization file (.gdbinit) in
1367 the objdir. The .gdbinit file sets the shared library
1368 prefix to ${DESTDIR} to facilitate cross-debugging.
1370 remove the program, any object files and the files a.out,
1371 Errs, errs, mklog, and ${PROG}.core.
1373 remove all of the files removed by the target clean, as
1374 well as .depend, tags, and any manual pages.
1375 `distclean' is a synonym for `cleandir'.
1377 make the dependencies for the source files, and store
1378 them in the file .depend.
1380 install any header files.
1382 install the program and its manual pages; if the Makefile
1383 does not itself define the target install, the targets
1384 beforeinstall and afterinstall may also be used to cause
1385 actions immediately before and after the install target
1388 run lint on the source files
1390 create a tags file for the source files.
1392 It sets/uses the following variables:
1394 BINGRP Binary group.
1396 BINOWN Binary owner.
1398 BINMODE Binary mode.
1400 CLEANDIRFILES Additional files to remove for the cleandir target.
1402 CLEANFILES Additional files to remove for the clean and cleandir targets.
1404 COPTS Additional flags to the compiler when creating C objects.
1406 COPTS.<fn> Additional flags to the compiler when creating the
1408 For <fn>.[ly], "<fn>.c" must be used.
1410 CPUFLAGS Additional flags to the compiler/assembler to select
1411 CPU instruction set options, CPU tuning options, etc.
1413 CPUFLAGS.<fn> Additional flags to the compiler/assembler for <fn>.
1414 For <fn>.[ly], "<fn>.c" must be used.
1416 CPPFLAGS Additional flags to the C pre-processor.
1418 CPPFLAGS.<fn> Additional flags to the C pre-processor for <fn>.
1419 For <fn>.[ly], "<fn>.c" must be used.
1421 GDBINIT List of GDB initialization files to add to "source"
1422 directives in the .gdbinit file that is created in the
1425 LDADD Additional loader objects. Usually used for libraries.
1426 For example, to load with the compatibility and utility
1429 LDADD+=-lutil -lcompat
1431 LDFLAGS Additional linker flags (passed to ${CC} during link).
1433 LINKS See <bsd.links.mk>
1435 OBJCOPTS Additional flags to the compiler when creating ObjC objects.
1437 OBJCOPTS.<fn> Additional flags to the compiler when creating the
1438 ObjC objects for <fn>.
1439 For <fn>.[ly], "<fn>.c" must be used.
1441 SYMLINKS See <bsd.links.mk>
1443 MAN Manual pages (should end in .1 - .9). If no MAN variable is
1444 defined, "MAN=${PROG}.1" is assumed.
1446 PAXCTL_FLAGS If defined, run paxctl(1) on the program binary after link
1447 time, with the value of this variable as args to paxctl(1).
1449 PAXCTL_FLAGS.${PROG} Custom override for PAXCTL_FLAGS.
1451 PROG The name of the program to build. If not supplied, nothing
1454 PROG_CXX If defined, the name of the program to build. Also
1455 causes <bsd.prog.mk> to link the program with the C++
1456 compiler rather than the C compiler. PROG_CXX overrides
1457 the value of PROG if PROG is also set.
1459 PROGNAME The name that the above program will be installed as, if
1460 different from ${PROG}.
1462 SRCS List of source files to build the program. If SRCS is not
1463 defined, it's assumed to be ${PROG}.c.
1465 DPSRCS List of source files which are needed for generating
1466 dependencies, but are not needed in ${SRCS}.
1468 DPADD Additional dependencies for the program. Usually used for
1469 libraries. For example, to depend on the compatibility and
1470 utility libraries use:
1472 DPADD+=${LIBCOMPAT} ${LIBUTIL}
1474 The following system libraries are predefined for DPADD:
1476 LIBARCHIVE?= ${DESTDIR}/usr/lib/libarchive.a
1477 LIBASN1?= ${DESTDIR}/usr/lib/libasn1.a
1478 LIBATF_C?= ${DESTDIR}/usr/lib/libatf-c.a
1479 LIBATF_CXX?= ${DESTDIR}/usr/lib/libatf-c++.a
1480 LIBBIND9?= ${DESTDIR}/usr/lib/libbind9.a
1481 LIBBLUETOOTH?= ${DESTDIR}/usr/lib/libbluetooth.a
1482 LIBBSDMALLOC?= ${DESTDIR}/usr/lib/libbsdmalloc.a
1483 LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a
1484 LIBC?= ${DESTDIR}/usr/lib/libc.a
1485 LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a
1486 LIBCOM_ERR?= ${DESTDIR}/usr/lib/libcom_err.a
1487 LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o
1488 LIBCRTI?= ${DESTDIR}/usr/lib/crti.o
1489 LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a
1490 LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a
1491 LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a
1492 LIBCRYPTO_MDC2?=${DESTDIR}/usr/lib/libcrypto_mdc2.a
1493 LIBCRYPTO_RC5?= ${DESTDIR}/usr/lib/libcrypto_rc5.a
1494 LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a
1495 LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a
1496 LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a
1497 LIBDES?= ${DESTDIR}/usr/lib/libdes.a
1498 LIBDNS?= ${DESTDIR}/usr/lib/libdns.a
1499 LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a
1500 LIBEVENT?= ${DESTDIR}/usr/lib/libevent.a
1501 LIBEVENT_OPENSSL?= ${DESTDIR}/usr/lib/libevent_openssl.a
1502 LIBEVENT_PTHREADS?= ${DESTDIR}/usr/lib/libevent_pthreads.a
1503 LIBEXPAT?= ${DESTDIR}/usr/lib/libexpat.a
1504 LIBFETCH?= ${DESTDIR}/usr/lib/libfetch.a
1505 LIBFORM?= ${DESTDIR}/usr/lib/libform.a
1506 LIBFL?= ${DESTDIR}/usr/lib/libfl.a
1507 LIBG2C?= ${DESTDIR}/usr/lib/libg2c.a
1508 LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a
1509 LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a
1510 LIBGSSAPI?= ${DESTDIR}/usr/lib/libgssapi.a
1511 LIBHDB?= ${DESTDIR}/usr/lib/libhdb.a
1512 LIBHEIMBASE?= ${DESTDIR}/usr/lib/libheimbase.a
1513 LIBHEIMNTLM?= ${DESTDIR}/usr/lib/libheimntlm.a
1514 LIBHX500?= ${DESTDIR}/usr/lib/libhx500.a
1515 LIBINTL?= ${DESTDIR}/usr/lib/libintl.a
1516 LIBIPSEC?= ${DESTDIR}/usr/lib/libipsec.a
1517 LIBISC?= ${DESTDIR}/usr/lib/libisc.a
1518 LIBISCCC?= ${DESTDIR}/usr/lib/libisccc.a
1519 LIBISCFG?= ${DESTDIR}/usr/lib/libiscfg.a
1520 LIBKADM5CLNT?= ${DESTDIR}/usr/lib/libkadm5clnt.a
1521 LIBKADM5SRV?= ${DESTDIR}/usr/lib/libkadm5srv.a
1522 LIBKAFS?= ${DESTDIR}/usr/lib/libkafs.a
1523 LIBKRB5?= ${DESTDIR}/usr/lib/libkrb5.a
1524 LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a
1525 LIBL?= ${DESTDIR}/usr/lib/libl.a
1526 LIBLBER?= ${DESTDIR}/usr/lib/liblber.a
1527 LIBLDAP?= ${DESTDIR}/usr/lib/libldap.a
1528 LIBLDAP_R?= ${DESTDIR}/usr/lib/libldap_r.a
1529 LIBLUA?= ${DESTDIR}/usr/lib/liblua.a
1530 LIBLUTOK?= ${DESTDIR}/usr/lib/liblutok.a
1531 LIBLWRES?= ${DESTDIR}/usr/lib/liblwres.a
1532 LIBM?= ${DESTDIR}/usr/lib/libm.a
1533 LIBMAGIC?= ${DESTDIR}/usr/lib/libmagic.a
1534 LIBMENU?= ${DESTDIR}/usr/lib/libmenu.a
1535 LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a
1536 LIBOSSAUDIO?= ${DESTDIR}/usr/lib/libossaudio.a
1537 LIBPAM?= ${DESTDIR}/usr/lib/libpam.a
1538 LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a
1539 LIBPCI?= ${DESTDIR}/usr/lib/libpci.a
1540 LIBPMC?= ${DESTDIR}/usr/lib/libpmc.a
1541 LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a
1542 LIBPTHREAD?= ${DESTDIR}/usr/lib/libpthread.a
1543 LIBPTHREAD_DBG?=${DESTDIR}/usr/lib/libpthread_dbg.a
1544 LIBPUFFS?= ${DESTDIR}/usr/lib/libpuffs.a
1545 LIBQUOTA?= ${DESTDIR}/usr/lib/libquota.a
1546 LIBRADIUS?= ${DESTDIR}/usr/lib/libradius.a
1547 LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a
1548 LIBRMT?= ${DESTDIR}/usr/lib/librmt.a
1549 LIBROKEN?= ${DESTDIR}/usr/lib/libroken.a
1550 LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a
1551 LIBRT?= ${DESTDIR}/usr/lib/librt.a
1552 LIBRUMP?= ${DESTDIR}/usr/lib/librump.a
1553 LIBRUMPFS_CD9660FS?=${DESTDIR}/usr/lib/librumpfs_cd9660fs.a
1554 LIBRUMPFS_EFS?= ${DESTDIR}/usr/lib/librumpfs_efs.a
1555 LIBRUMPFS_EXT2FS?=${DESTDIR}/usr/lib/librumpfs_ext2fs.a
1556 LIBRUMPFS_FFS?= ${DESTDIR}/usr/lib/librumpfs_ffs.a
1557 LIBRUMPFS_HFS?= ${DESTDIR}/usr/lib/librumpfs_hfs.a
1558 LIBRUMPFS_LFS?= ${DESTDIR}/usr/lib/librumpfs_lfs.a
1559 LIBRUMPFS_MSDOSFS?=${DESTDIR}/usr/lib/librumpfs_msdosfs.a
1560 LIBRUMPFS_NFS?= ${DESTDIR}/usr/lib/librumpfs_nfs.a
1561 LIBRUMPFS_NTFS?=${DESTDIR}/usr/lib/librumpfs_ntfs.a
1562 LIBRUMPFS_SYSPUFFS?=${DESTDIR}/usr/lib/librumpfs_syspuffs.a
1563 LIBRUMPFS_TMPFS?=${DESTDIR}/usr/lib/librumpfs_tmpfs.a
1564 LIBRUMPFS_UDF?= ${DESTDIR}/usr/lib/librumpfs_udf.a
1565 LIBRUMPFS_UFS?= ${DESTDIR}/usr/lib/librumpfs_ufs.a
1566 LIBRUMPUSER?= ${DESTDIR}/usr/lib/librumpuser.a
1567 LIBSASLC?= ${DESTDIR}/usr/lib/libsaslc.a
1568 LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a
1569 LIBSL?= ${DESTDIR}/usr/lib/libsl.a
1570 LIBSQLITE3?= ${DESTDIR}/usr/lib/libsqlite3.a
1571 LIBSS?= ${DESTDIR}/usr/lib/libss.a
1572 LIBSSH?= ${DESTDIR}/usr/lib/libssh.a
1573 LIBSSL?= ${DESTDIR}/usr/lib/libssl.a
1574 LIBSSP?= ${DESTDIR}/usr/lib/libssp.a
1575 LIBSTDCXX?= ${DESTDIR}/usr/lib/libstdc++.a
1576 LIBSUPCXX?= ${DESTDIR}/usr/lib/libsupc++.a
1577 LIBTERMINFO?= ${DESTDIR}/usr/lib/libterminfo.a
1578 LIBTRE?= ${DESTDIR}/usr/lib/libtre.a
1579 LIBUSBHID?= ${DESTDIR}/usr/lib/libusbhid.a
1580 LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a
1581 LIBWIND?= ${DESTDIR}/usr/lib/libwind.a
1582 LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a
1583 LIBY?= ${DESTDIR}/usr/lib/liby.a
1584 LIBZ?= ${DESTDIR}/usr/lib/libz.a
1586 The following X-Windows libraries are predefined for DPADD:
1588 LIBFS?= ${DESTDIR}/usr/X11R7/lib/libFS.a
1589 LIBGL?= ${DESTDIR}/usr/X11R7/lib/libGL.a
1590 LIBGLU?= ${DESTDIR}/usr/X11R7/lib/libGLU.a
1591 LIBICE?= ${DESTDIR}/usr/X11R7/lib/libICE.a
1592 LIBSM?= ${DESTDIR}/usr/X11R7/lib/libSM.a
1593 LIBX11?= ${DESTDIR}/usr/X11R7/lib/libX11.a
1594 LIBX11_XCB?= ${DESTDIR}/usr/X11R7/lib/libX11-xcb.a
1595 LIBXTRAP?= ${DESTDIR}/usr/X11R7/lib/libXTrap.a
1596 LIBXAU?= ${DESTDIR}/usr/X11R7/lib/libXau.a
1597 LIBXAW?= ${DESTDIR}/usr/X11R7/lib/libXaw.a
1598 LIBXCB?= ${DESTDIR}/usr/X11R7/lib/libxcb.a
1599 LIBXDMCP?= ${DESTDIR}/usr/X11R7/lib/libXdmcp.a
1600 LIBXEXT?= ${DESTDIR}/usr/X11R7/lib/libXext.a
1601 LIBXFONT?= ${DESTDIR}/usr/X11R7/lib/libXfont.a
1602 LIBXFT?= ${DESTDIR}/usr/X11R7/lib/libXft.a
1603 LIBXI?= ${DESTDIR}/usr/X11R7/lib/libXi.a
1604 LIBXINERAMA?= ${DESTDIR}/usr/X11R7/lib/libXinerama.a
1605 LIBXMU?= ${DESTDIR}/usr/X11R7/lib/libXmu.a
1606 LIBXMUU?= ${DESTDIR}/usr/X11R7/lib/libXmuu.a
1607 LIBXPM?= ${DESTDIR}/usr/X11R7/lib/libXpm.a
1608 LIBXRANDR?= ${DESTDIR}/usr/X11R7/lib/libXrandr.a
1609 LIBXRENDER?= ${DESTDIR}/usr/X11R7/lib/libXrender.a
1610 LIBXSS?= ${DESTDIR}/usr/X11R7/lib/libXss.a
1611 LIBXT?= ${DESTDIR}/usr/X11R7/lib/libXt.a
1612 LIBXTST?= ${DESTDIR}/usr/X11R7/lib/libXtst.a
1613 LIBXV?= ${DESTDIR}/usr/X11R7/lib/libXv.a
1614 LIBXXF86DGA?= ${DESTDIR}/usr/X11R7/lib/libXxf86dga.a
1615 LIBXXF86MISC?= ${DESTDIR}/usr/X11R7/lib/libXxf86misc.a
1616 LIBXXF86VM?= ${DESTDIR}/usr/X11R7/lib/libXxf86vm.a
1617 LIBDPS?= ${DESTDIR}/usr/X11R7/lib/libdps.a
1618 LIBFNTSTUBS?= ${DESTDIR}/usr/X11R7/lib/libfntstubs.a
1619 LIBFONTCACHE?= ${DESTDIR}/usr/X11R7/lib/libfontcache.a
1620 LIBFONTCONFIG?= ${DESTDIR}/usr/X11R7/lib/libfontconfig.a
1621 LIBFONTENC?= ${DESTDIR}/usr/X11R7/lib/libfontenc.a
1622 LIBFREETYPE?= ${DESTDIR}/usr/X11R7/lib/libfreetype.a
1623 LIBLBXUTIL?= ${DESTDIR}/usr/X11R7/lib/liblbxutil.a
1624 LIBXKBFILE?= ${DESTDIR}/usr/X11R7/lib/libxkbfile.a
1626 SHAREDSTRINGS If defined, a new .c.o rule is used that results in shared
1627 strings, using xstr(1). Note that this will not work with
1630 STRIPFLAG The flag passed to the install program to cause the binary
1633 SUBDIR A list of subdirectories that should be built as well.
1634 Each of the targets will execute the same target in the
1637 SCRIPTS A list of interpreter scripts [file.{sh,csh,pl,awk,...}].
1638 These are installed exactly like programs.
1640 SCRIPTSDIR The location to install the scripts. Each script can be
1641 installed to a separate path by setting SCRIPTSDIR_<script>.
1643 SCRIPTSNAME The name that the above program will be installed as, if
1644 different from ${SCRIPTS}. These can be further specialized
1645 by setting SCRIPTSNAME_<script>.
1647 FILES See description of <bsd.files.mk>.
1649 SHLINKDIR Target directory for shared linker. See description of
1650 <bsd.own.mk> for additional information about this variable.
1652 The include file <bsd.prog.mk> includes the file named "../Makefile.inc"
1653 if it exists, as well as the include file <bsd.man.mk>.
1655 Some simple examples:
1657 To build foo from foo.c with a manual page foo.1, use:
1661 .include <bsd.prog.mk>
1663 To build foo from foo.c with a manual page foo.2, add the line:
1667 If foo does not have a manual page at all, add the line:
1671 If foo has multiple source files, add the line:
1673 SRCS= a.c b.c c.c d.c
1676 =-=-=-=-= bsd.rpc.mk =-=-=-=-=
1678 The include file <bsd.rpc.mk> contains a makefile fragment used to
1679 construct source files built by rpcgen.
1681 The following macros may be defined in makefiles which include
1682 <bsd.rpc.mk> in order to control which files get built and how they
1685 RPC_INCS: construct .h file from .x file
1686 RPC_XDRFILES: construct _xdr.c from .x file
1687 (for marshalling/unmarshalling data types)
1688 RPC_SVCFILES: construct _svc.c from .x file
1690 RPC_SVCFLAGS: Additional flags passed to builds of RPC_SVCFILES.
1692 RPC_XDIR: Directory containing .x/.h files
1695 =-=-=-=-= bsd.shlib.mk =-=-=-=-=
1697 The include file <bsd.shlib.mk> computes parameters for shared library
1698 installation and use. It defines no targets. <bsd.own.mk> MUST be
1699 included before <bsd.shlib.mk>.
1701 <bsd.own.mk> sets the following variables, if they are not already defined
1702 (defaults are in brackets):
1704 SHLIBINSTALLDIR If ${USE_SHLIBDIR} is not "no", use ${SHLIBINSTALLDIR}
1705 instead of ${LIBDIR} as the base path for shared library
1706 installation. [/lib]
1708 SHLIBDIR The path to USE_SHLIBDIR shared libraries to use when building
1709 a program. [/lib for programs in /bin and /sbin, /usr/lib
1712 _LIBSODIR Set to ${SHLIBINSTALLDIR} if ${USE_SHLIBDIR} is not "no",
1713 otherwise set to ${LIBDIR}
1715 SHLINKINSTALLDIR Base path for shared linker. [/libexec]
1717 SHLINKDIR Path to use for shared linker when building a program.
1718 [/libexec for programs in /bin and /sbin, /usr/libexec for
1722 =-=-=-=-= bsd.subdir.mk =-=-=-=-=
1724 The include file <bsd.subdir.mk> contains the default targets for building
1725 subdirectories. It has the same eight targets as <bsd.prog.mk>: all,
1726 clean, cleandir, depend, includes, install, lint, and tags. It uses the
1727 following variables:
1729 NOSUBDIR If this variable is defined, then the SUBDIR variable
1730 will be ignored and subdirectories will not be processed.
1732 SUBDIR For all of the directories listed in ${SUBDIR}, the
1733 specified directory will be visited and the target made.
1735 As a special case, the use of a token .WAIT as an
1736 entry in SUBDIR acts as a synchronization barrier
1737 when multiple make jobs are run; subdirs before the
1738 .WAIT must complete before any subdirs after .WAIT are
1739 started. See make(1) for some caveats on use of .WAIT
1740 and other special sources.
1743 =-=-=-=-= bsd.sys.mk =-=-=-=-=
1745 The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
1746 <bsd.lib.mk>. It contains overrides that are used when building
1747 the NetBSD source tree.
1749 The following variables control how various files are compiled/built.
1750 (Note that these may be overridden in <bsd.own.mk> if USETOOLS == "yes"):
1752 AR Create, modify, and extract from archives. [ar]
1754 ARFLAGS Options to ${AR}. [rl]
1758 AFLAGS Options to ${CC} when compiling or linking .s or .S
1759 assembly source files. []
1761 BUILDSEED GCC uses random numbers when compiling C++ code.
1762 If this option is present, seed the random number
1763 generator based on the value, source file names and
1764 the output file name to make builds more deterministic.
1765 Additional information is available in the GCC
1766 documentation of -frandom-seed.
1770 CFLAGS Options to ${CC}. [Usually -O or -O2]
1772 CPP C Pre-Processor. [cpp]
1774 CPPFLAGS Options to ${CPP}. []
1776 CPUFLAGS Optimization flags for ${CC}. []
1778 CXX C++ compiler. [c++]
1780 CXXFLAGS Options to ${CXX}. [${CFLAGS}]
1782 ELF2ECOFF Convert ELF-format executable to ECOFF. [elf2ecoff]
1784 FC Fortran compiler. [f77]
1786 FFLAGS Options to {$FC}. [-O]
1788 HOST_SH Shell. This must be an absolute path, because it may be
1789 substituted into "#!" lines in scripts. [/bin/sh]
1791 INSTALL install(1) command. [install]
1793 LEX Lexical analyzer. [lex]
1795 LFLAGS Options to ${LEX}. []
1797 LPREFIX Symbol prefix for ${LEX} (see -P option in lex(1)) [yy]
1801 LDFLAGS Options to ${CC} during the link process. []
1803 LINT C program verifier. [lint]
1805 LINTFLAGS Options to ${LINT}. [-chapbxzFS]
1807 LORDER List dependencies for object files. [lorder]
1809 MAKE make(1). [make]
1811 MKDEP Construct Makefile dependency list. [mkdep]
1813 MKDEPCXX Construct Makefile dependency list for C++ files. [mkdep]
1815 NM List symbols from object files. [nm]
1817 PC Pascal compiler. [pc] (Not present)
1819 PFLAGS Options to ${PC}. []
1821 OBJC Objective C compiler. [${CC}]
1823 OBJCFLAGS Options to ${OBJC}. [${CFLAGS}]
1825 OBJCOPY Copy and translate object files. [objcopy]
1827 OBJCOPYLIBFLAGS Flags to pass to objcopy when library objects are
1828 being built. [${.TARGET} =~ "*.po" ? -X : -x]
1830 OBJDUMP Display information from object files. [objdump]
1832 RANLIB Generate index to archive. [ranlib]
1834 SIZE List section sizes and total size. [size]
1836 STRIP Discard symbols from object files. [strip]
1838 TSORT Topological sort of a directed graph. [tsort -q]
1840 YACC LALR(1) parser generator. [yacc]
1842 YFLAGS Options to ${YACC}. []
1844 YHEADER If defined, add "-d" to YFLAGS, and add dependencies
1845 from <file>.y to <file>.h and <file>.c, and add
1846 <foo>.h to CLEANFILES.
1848 YPREFIX If defined, add "-p ${YPREFIX}" to YFLAGS.
1851 Other variables of note (incomplete list):
1853 NOGCCERROR If defined, prevents passing certain ${CFLAGS} to GCC
1854 that cause warnings to be fatal, such as:
1855 -Werror -Wa,--fatal-warnings
1856 (The latter being for as(1).)
1858 NOCLANGERROR If defined and clang is used as C compiler, -Werror is not
1861 WARNS Crank up compiler warning options; the distinct levels are:
1868 =-=-=-=-= bsd.x11.mk =-=-=-=-=
1870 The include file <bsd.x11.mk> contains parameters and targets for
1871 cross-building X11 from ${X11SRCDIR.xc} / ${X11MITSRCDIR.*}.
1872 It should be included after the general Makefile contents but before
1873 the include files such as <bsd.prog.mk> and <bsd.lib.mk>.
1875 It provides the following targets:
1876 .man.1 .man.3 .man.4 .man.5 .man.7:
1877 If ${MAN} or ${PROG} is set and ${MKMAN} != "no",
1878 these rules convert from X11's manual page source
1879 into an mdoc.old source file.
1881 It sets the following variables:
1883 BINDIR Set to ${X11BINDIR}.
1884 To override, define after including <bsd.x11.mk>
1886 LIBDIR Set to ${X11USRLIBDIR}.
1887 To override, define after including <bsd.x11.mk>
1889 MANDIR Set to ${X11MANDIR}.
1890 To override, define after including <bsd.x11.mk>
1892 CPPFLAGS Appended with definitions to include from
1893 ${DESTDIR}${X11INCDIR}
1895 LDFLAGS Appended with definitions to link from
1896 ${DESTDIR}${X11USRLIBDIR}
1898 X11FLAGS.CONNECTION Equivalent to X11's CONNECTION_FLAGS.
1900 X11FLAGS.EXTENSION Equivalent to X11's EXT_DEFINES.
1902 X11FLAGS.LOADABLE Equivalent to X11's LOADABLE.
1904 X11FLAGS.OS_DEFINES Equivalent to X11's OS_DEFINES.
1906 X11FLAGS.SERVER Equivalent to X11's ServerDefines.
1908 X11FLAGS.THREADLIB Equivalent to X11's THREADS_DEFINES for libraries.
1910 X11FLAGS.THREADS Equivalent to X11's THREADS_DEFINES.
1912 X11FLAGS.VERSION cpp(1) definitions of OSMAJORVERSION and OSMINORVERSION.
1914 X11FLAGS.DIX Equivalent to X11's DIX_DEFINES.
1916 X11TOOL_UNXCOMM Commandline to convert `XCOMM' comments to `#'
1918 It uses the following variables:
1920 APPDEFS List of app-default files to install.
1922 CPPSCRIPTS List of files/scripts to run through cpp(1)
1923 and then ${X11TOOL_UNXCOMM}. The source files
1924 have a `.cpp' suffix, the generated files do not.
1926 CPPSCRIPTFLAGS Additional flags to cpp(1) when building CPPSCRIPTS.
1928 CPPSCRIPTFLAGS_<fn> Additional flags to cpp(1) when building CPPSCRIPT <fn>.
1931 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=