diff options
Diffstat (limited to 'bootstrap/bmake/mk/bsd.README')
-rw-r--r-- | bootstrap/bmake/mk/bsd.README | 683 |
1 files changed, 0 insertions, 683 deletions
diff --git a/bootstrap/bmake/mk/bsd.README b/bootstrap/bmake/mk/bsd.README deleted file mode 100644 index ff7c16692d7..00000000000 --- a/bootstrap/bmake/mk/bsd.README +++ /dev/null @@ -1,683 +0,0 @@ -# $NetBSD: bsd.README,v 1.1.1.1 2004/03/11 13:04:17 grant Exp $ -# @(#)bsd.README 8.2 (Berkeley) 4/2/94 - -This is the README file for the new make "include" files for the BSD -source tree. The files are installed in /usr/share/mk, and are, by -convention, named with the suffix ".mk". - -Note, this file is not intended to replace reading through the .mk -files for anything tricky. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -RANDOM THINGS WORTH KNOWING: - -The files are simply C-style #include files, and pretty much behave like -you'd expect. The syntax is slightly different in that a single '.' is -used instead of the hash mark, i.e. ".include <bsd.prog.mk>". - -One difference that will save you lots of debugging time is that inclusion -of the file is normally done at the *end* of the Makefile. The reason for -this is because .mk files often modify variables and behavior based on the -values of variables set in the Makefile. To make this work, remember that -the FIRST target found is the target that is used, i.e. if the Makefile has: - - a: - echo a - a: - echo a number two - -the command "make a" will echo "a". To make things confusing, the SECOND -variable assignment is the overriding one, i.e. if the Makefile has: - - a= foo - a= bar - - b: - echo ${a} - -the command "make b" will echo "bar". This is for compatibility with the -way the V7 make behaved. - -It's fairly difficult to make the BSD .mk files work when you're building -multiple programs in a single directory. It's a lot easier to split up the -programs than to deal with the problem. Most of the agony comes from making -the "obj" directory stuff work right, not because we switched to a new version -of make. So, don't get mad at us, figure out a better way to handle multiple -architectures so we can quit using the symbolic link stuff. (Imake doesn't -count.) - -The file .depend in the source directory is expected to contain dependencies -for the source files. This file is read automatically by make after reading -the Makefile. - -The variable DESTDIR works as before. It's not set anywhere but will change -the tree where the file gets installed. - -The profiled libraries are no longer built in a different directory than -the regular libraries. A new suffix, ".po", is used to denote a profiled -object, and ".so" denotes a shared (position-independent) object. - -The following variables that control how things are made/installed that -are not set by default. These should not be set by Makefiles; they're for -the user to define in MAKECONF (see bsd.own.mk, below) or on the make(1) -command line: - -BUILD If defined, 'make install' checks that the targets in the - source directories are up-to-date and remakes them if they - are out of date, instead of blindly trying to install - out of date or non-existent targets. - -UPDATE If defined, 'make install' only installs targets that are - more recently modified in the source directories that their - installed counterparts. - -UNPRIVILEGED If defined, don't set the owner/group/mode when installing - files or directories. This allows a non-root "make install". - -MKCATPAGES If "no", don't build or install the catman pages. - -MKDOC If "no", don't build or install the documentation. - -MKINFO If "no", don't build or install Info documentation from - Texinfo source files. - -MKLINT If "no", don't build or install the lint libraries. - -MKMAN If "no", don't build or install the man or catman pages. - Also acts as "MKCATPAGES=no" - -MKNLS If "no", don't build or install the NLS files and locale - definition files. - -MKOBJ If "no", don't enable the rule which creates objdirs. - "yes" by default. - -MKOBJDIRS If "no", don't create objdirs during a "make build". - "no" by default. - -MKPIC If "no", don't build or install shared libraries. - -MKPICINSTALL If "no", don't install the *_pic.a libraries. - -MKPROFILE If "no", don't build or install the profiling libraries. - -MKSHARE If "no", act as "MKCATPAGES=no MKDOC=no MKINFO=no MKMAN=no - MKNLS=no". I.e, don't build catman pages, documentation, - Info documentation, man pages, NLS files, ... - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <sys.mk> has the default rules for all makes, in the BSD -environment or otherwise. You probably don't want to touch this file. -If you intend to run a cross build, you will need to supply the following -host tools, and configure the following variables properly: - -OBJCOPY objcopy - copy and translate object files - -STRIP strip - Discard symbols from object files - -CONFIG config - build kernel compilation directories - -RPCGEN rpcgen - Remote Procedure Call (RPC) protocol compiler - -MKLOCALE mklocale - make LC_CTYPE locale files - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.man.mk> handles installing manual pages and their -links. - -It has a two targets: - - maninstall: - Install the manual page sources and their links. - catinstall: - Install the preformatted manual pages and their links. - -It sets/uses the following variables: - -MANDIR Base path for manual installation. - -MANGRP Manual group. - -MANOWN Manual owner. - -MANMODE Manual mode. - -MANSUBDIR Subdirectory under the manual page section, i.e. "/vax" - or "/tahoe" for machine specific manual pages. - -MAN The manual pages to be installed (use a .1 - .9 suffix). - -MLINKS List of manual page links (using a .1 - .9 suffix). The - linked-to file must come first, the linked file second, - and there may be multiple pairs. The files are soft-linked. - -The include file <bsd.man.mk> includes a file named "../Makefile.inc" if -it exists. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.own.mk> contains source tree configuration parameters, -such as the owners, groups, etc. for both manual pages and binaries, and -a few global "feature configuration" parameters. - -It has no targets. - -To get system-specific configuration parameters, bsd.own.mk will try to -include the file specified by the "MAKECONF" variable. If MAKECONF is not -set, or no such file exists, the system make configuration file, /etc/mk.conf -is included. These files may define any of the variables described below. - -bsd.own.mk sets the following variables, if they are not already defined -(defaults are in brackets): - -BSDSRCDIR The real path to the system sources, so that 'make obj' - will work correctly. [/usr/src] - -BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj' - will work correctly. [/usr/obj] - -BINGRP Binary group. [wheel] - -BINOWN Binary owner. [root] - -BINMODE Binary mode. [555] - -NONBINMODE Mode for non-executable files. [444] - -MANDIR Base path for manual installation. [/usr/share/man/cat] - -MANGRP Manual group. [wheel] - -MANOWN Manual owner. [root] - -MANMODE Manual mode. [${NONBINMODE}] - -MANINSTALL Manual installation type: maninstall, catinstall, or both - -LDSTATIC Control program linking; if set blank, link everything - dynamically. If set to "-static", link everything statically. - If not set, programs link according to their makefile. - -LIBDIR Base path for library installation. [/usr/lib] - -LINTLIBDIR Base path for lint(1) library installation. [/usr/libdata/lint] - -LIBGRP Library group. [${BINGRP}] - -LIBOWN Library owner. [${BINOWN}] - -LIBMODE Library mode. [${NONBINMODE}] - -DOCDIR Base path for system documentation (e.g. PSD, USD, etc.) - installation. [/usr/share/doc] - -HTMLDOCDIR Base path for html system documentation installation. - [/usr/share/doc/html] - -DOCGRP Documentation group. [wheel] - -DOCOWN Documentation owner. [root] - -DOCMODE Documentation mode. [${NONBINMODE}] - -NLSDIR Base path for National Language Support files installation. - [/usr/share/nls] - -NLSGRP National Language Support files group. [wheel] - -NLSOWN National Language Support files owner. [root] - -NLSMODE National Language Support files mode. [${NONBINMODE}] - -STRIPFLAG The flag passed to the install program to cause the binary - to be stripped. This is to be used when building your - own install script so that the entire system can be made - stripped/not-stripped using a single knob. [-s] - -COPY The flag passed to the install program to cause the binary - to be copied rather than moved. This is to be used when - building our own install script so that the entire system - can either be installed with copies, or with moves using - a single knob. [-c] - -Additionally, the following variables may be set by bsd.own.mk or in a -make configuration file to modify the behaviour of the system build -process (default values are in brackets along with comments, if set by -bsd.own.mk): - -MKCRYPTO If set to "no", no cryptography support will be built - into the system. Defaults to "yes". - -NOCRYPTO If set, it is equivalent to setting MKCRYPTO to "no". - -MKCRYPTO_IDEA If set to "yes", IDEA support will be built into - libcrypto_idea.a. Defaults to "no". - -MKCRYPTO_RC5 If set to "yes", RC5 support will be built into - libcrypto_rc5.a. Defaults to "no". - -MKKERBEROS If set to "no", disables building Kerberos (v4 or v5) - support into various system utilities that support it. - Defaults to "yes". NOTE: This does not affect the - building of the Kerberos libraries or infrastructure - programs themselves. To completely disable Kerberos, - set MKCRYPTO to "no". - -NOKERBEROS If set, it is equivalent to setting MKKERBEROS to "no". - -SKEY Compile in support for S/key authentication. [yes, set - unconditionally] - -MANZ Compress manual pages at installation time. - -SYS_INCLUDE Copy or symlink kernel include files into /usr/include. - Possible values are "symlinks" or "copies" (which is - the same as the variable being unset). - -NOPROFILE Do not build profiled versions of system libraries - -NOPIC Do not build PIC versions of system libraries, and - do not build shared libraries. [set if ${MACHINE_ARCH} - is "sh3" and ${OBJECT_FMT} is "COFF", unset otherwise.] - -NOLINT Do not build lint libraries. - -OBJECT_FMT Object file format. [set to "ELF" on architectures that - use ELF -- currently if ${MACHINE_ARCH} is "alpha", - "mipsel", "mipseb", "powerpc", "sparc", "sparc64", - "i386" and some m68k machines, or set to "a.out" on - other architectures]. - -MKSOFTFLOAT If "yes", build with options to enable the compiler to - generate output containing library calls for floating - point and possibly soft-float library support. Defaults - to "no". - -bsd.own.mk is generally useful when building your own Makefiles so that -they use the same default owners etc. as the rest of the tree. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.prog.mk> handles building programs from one or -more source files, along with their manual pages. It has a limited number -of suffixes, consistent with the current needs of the BSD tree. - -It has eight targets: - - all: - build the program and its manual page - clean: - remove the program, any object files and the files a.out, - Errs, errs, mklog, and ${PROG}.core. - cleandir: - remove all of the files removed by the target clean, as - well as .depend, tags, and any manual pages. - `distclean' is a synonym for `cleandir'. - depend: - make the dependencies for the source files, and store - them in the file .depend. - includes: - install any header files. - install: - install the program and its manual pages; if the Makefile - does not itself define the target install, the targets - beforeinstall and afterinstall may also be used to cause - actions immediately before and after the install target - is executed. - lint: - run lint on the source files - tags: - create a tags file for the source files. - -It sets/uses the following variables: - -BINGRP Binary group. - -BINOWN Binary owner. - -BINMODE Binary mode. - -CLEANFILES Additional files to remove for the clean and cleandir targets. - -COPTS Additional flags to the compiler when creating C objects. - -CPPFLAGS Additional flags to the C pre-processor - -LDADD Additional loader objects. Usually used for libraries. - For example, to load with the compatibility and utility - libraries, use: - - LDADD+=-lutil -lcompat - -LDFLAGS Additional loader flags. - -LINKS The list of binary links; should be full pathnames, the - linked-to file coming first, followed by the linked - file. The files are hard-linked. For example, to link - /bin/test and /bin/[, use: - - LINKS= ${DESTDIR}/bin/test ${DESTDIR}/bin/[ - -SYMLINKS The list of symbolic links; should be full pathnames. - Syntax is identical to LINKS. Note that DESTDIR is not - automatically included in the link. - -MAN Manual pages (should end in .1 - .9). If no MAN variable is - defined, "MAN=${PROG}.1" is assumed. - -PROG The name of the program to build. If not supplied, nothing - is built. - -PROGNAME The name that the above program will be installed as, if - different from ${PROG}. - -SRCS List of source files to build the program. If SRCS is not - defined, it's assumed to be ${PROG}.c. - -DPADD Additional dependencies for the program. Usually used for - libraries. For example, to depend on the compatibility and - utility libraries use: - - DPADD+=${LIBCOMPAT} ${LIBUTIL} - - The following libraries are predefined for DPADD: - - LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o - LIBC?= ${DESTDIR}/usr/lib/libc.a - LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a - LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a - LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a - LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a - LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a - LIBDES?= ${DESTDIR}/usr/lib/libdes.a - LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a - LIBFORM?= ${DESTDIR}/usr/lib/libform.a - LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a - LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a - LIBINTL?= ${DESTDIR}/usr/lib/libintl.a - LIBIPSEC?= ${DESTDIR}/usr/lib/libipsec.a - LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a - LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a - LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a - LIBL?= ${DESTDIR}/usr/lib/libl.a - LIBM?= ${DESTDIR}/usr/lib/libm.a - LIBMENU?= ${DESTDIR}/usr/lib/libmenu.a - LIBMP?= ${DESTDIR}/usr/lib/libmp.a - LIBNTP?= ${DESTDIR}/usr/lib/libntp.a - LIBPC?= ${DESTDIR}/usr/lib/libpc.a - LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a - LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a - LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a - LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a - LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a - LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a - LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a - LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a - LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a - LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a - LIBY?= ${DESTDIR}/usr/lib/liby.a - LIBZ?= ${DESTDIR}/usr/lib/libz.a - - -SHAREDSTRINGS If defined, a new .c.o rule is used that results in shared - strings, using xstr(1). Note that this will not work with - parallel makes. - -STRIPFLAG The flag passed to the install program to cause the binary - to be stripped. - -SUBDIR A list of subdirectories that should be built as well. - Each of the targets will execute the same target in the - subdirectories. - -SCRIPTS A list of interpreter scripts [file.{sh,csh,pl,awk,...}]. - These are installed exactly like programs. - -SCRIPTSNAME The name that the above program will be installed as, if - different from ${SCRIPTS}. These can be further specialized - by setting SCRIPTSNAME_<script>. - -FILES A list of files to install. The installation is controlled - by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR - variables that can be further specialized by FILES<VAR>_<file> - -The include file <bsd.prog.mk> includes the file named "../Makefile.inc" -if it exists, as well as the include file <bsd.man.mk>. - -Some simple examples: - -To build foo from foo.c with a manual page foo.1, use: - - PROG= foo - - .include <bsd.prog.mk> - -To build foo from foo.c with a manual page foo.2, add the line: - - MAN= foo.2 - -If foo does not have a manual page at all, add the line: - - MKMAN= no - -If foo has multiple source files, add the line: - - SRCS= a.c b.c c.c d.c - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.subdir.mk> contains the default targets for building -subdirectories. It has the same eight targets as <bsd.prog.mk>: all, -clean, cleandir, depend, includes, install, lint, and tags. For all of -the directories listed in the variable SUBDIR, the specified directory -will be visited and the target made. There is also a default target which -allows the command "make subdir" where subdir is any directory listed in -the variable SUBDIR. - -As a special case, the use of a token .WAIT as an entry in SUBDIR acts -as a synchronization barrier when multiple make jobs are run; subdirs -before the .WAIT must complete before any subdirs after .WAIT are -started. See make(1) for some caveats on use of .WAIT and other -special sources. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables -and is included from from bsd.lib.mk and bsd.prog.mk. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.files.mk> handles the FILES variables and is included -from bsd.lib.mk and bsd.prog.mk. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.inc.mk> defines the includes target and uses two -variables: - -INCS The list of include files - -INCSDIR The location to install the include files. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.kinc.mk> defines the many targets (includes, -subdirectories, etc.), and is used by kernel makefiles to handle -include file installation. It is intended to be included alone, by -kernel Makefiles. Please see bsd.kinc.mk for more details, and keep -the documentation in that file up to date. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.info.mk> is used to generate and install GNU Info -documentation from respective Texinfo source files. It defines three -implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the -following variables: - -TEXINFO List of Texinfo source files. Info documentation will - consist of single files with the extension replaced by - .info. - -INFOFLAGS Flags to pass to makeinfo. [] - -INSTALL_INFO Name of install-info program. [install-info] - -MAKEINFO Name of makeinfo program. [makeinfo] - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.sys.mk> is used by <bsd.prog.mk> and -<bsd.lib.mk>. It contains overrides that are used when building -the NetBSD source tree. For instance, if "PARALLEL" is defined by -the program/library Makefile, it includes a set of rules for lex and -yacc that allow multiple lex and yacc targets to be built in parallel. - -Other variables of note (incomplete list): - -WARNS Crank up gcc warning options; WARNS=1 and WARNS=2 are the two - distinct levels. - -FORMAT_AUDIT If FORMAT_AUDIT is set, and WFORMAT is set and > 1, turn on -WFORMAT -Wnetbsd-format-audit for extra-stringent format checking. - WFORMAT belongs in individual makefiles and/or - Makefile.inc files. (set WFORMAT=1 in individual - makefiles if a program is not security critical and is - doing bizarre things with format strings which would - be even uglier if rewritten) FORMAT_AUDIT should go in - mk.conf if you're doing format-string auditing. - FORMAT_AUDIT may go away in time. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.lib.mk> has support for building libraries. It has -the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend, -includes, install, lint, and tags. Additionally, it has a checkver target -which checks for installed shared object libraries whose version is greater -that the version of the source. It has a limited number of suffixes, -consistent with the current needs of the BSD tree. - -It sets/uses the following variables: - -LIB The name of the library to build. - -LIBDIR Target directory for libraries. - -LINTLIBDIR Target directory for lint libraries. - -LIBGRP Library group. - -LIBOWN Library owner. - -LIBMODE Library mode. - -LDADD Additional loader objects. - -MAN The manual pages to be installed (use a .1 - .9 suffix). - -MKLINKLIB If "no", act as "MKPICINSTALL=no MKPROFILE=no". - Also: - - don't install the .a libraries - - don't install _pic.a libraries on PIC systems - - don't build .a libraries on PIC systems - - don't install the .so symlink on ELF systems - I.e, only install the shared library (and the .so.major - symlink on ELF). - -MKPICLIB If "no", don't build _pic.a libraries, and build the - shared object libraries from the .a libraries. A - symlink is installed in ${DESTDIR}/usr/lib for the - _pic.a library pointing to the .a library. - -NOCHECKVER_<library> -NOCHECKVER If set, disables checking for installed shared object - libraries with versions greater than the source. A - particular library name, without the "lib" prefix, may - be appended to the variable name to disable the check for - only that library. - -SRCS List of source files to build the library. Suffix types - .s, .c, and .f are supported. Note, .s files are preferred - to .c files of the same name. (This is not the default for - versions of make.) - -The include file <bsd.lib.mk> includes the file named "../Makefile.inc" -if it exists, as well as the include file <bsd.man.mk>. - -It has rules for building profiled objects; profiled libraries are -built by default. - -Libraries are ranlib'd when made. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.obj.mk> defines targets related to the creation -and use of separated object and source directories. - -If an environment variable named MAKEOBJDIRPREFIX is set, make(1) uses -${MAKEOBJDIRPREFIX}${.CURDIR} as the name of the object directory if -it exists. Otherwise make(1) looks for the existence of a -subdirectory (or a symlink to a directory) of the source directory -into which built targets should be placed. If an environment variable -named MAKEOBJDIR is set, make(1) uses its value as the name of the -object directory; failing that, make first looks for a subdirectory -named "obj.${MACHINE}", and if that doesn't exist, it looks for "obj". - -Object directories are not created automatically by make(1) if they -don't exist; you need to run a separate "make obj". (This will happen -during a top-level build if "MKOBJDIRS" is set to a value other than -"no"). When the source directory is a subdirectory of ${BSDSRCDIR} -- -and this is determined by a simple string prefix comparison -- object -directories are created in a separate object directory tree, and a -symlink to the object directory in that tree is created in the source -directory; otherwise, "make obj" assumes that you're not in the main -source tree and that it's not safe to use a separate object tree. - -Several variables used by <bsd.obj.mk> control exactly what -directories and links get created during a "make obj": - -MAKEOBJDIR If set, this is the component name of the object - directory. - -OBJMACHINE If this is set but MAKEOBJDIR is not set, creates - object directories or links named "obj.${MACHINE}"; - otherwise, just creates ones named "obj". - -USR_OBJMACHINE If set, and the current directory is a subdirectory of - ${BSDSRCDIR}, create object directory in the - corresponding subdirectory of ${BSDOBJDIR}.${MACHINE}; - otherwise, create it in the corresponding subdirectory - of ${BSDOBJDIR} - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - -The include file <bsd.kernobj.mk> defines variables related to the -location of kernel sources and object directories. - -KERNSRCDIR Is the location of the top of the kernel src. - It defaults to ${BSDSRCDIR}/sys, but the top-level - Makefile.inc sets it to ${ABSTOP}/sys (ABSTOP is the - absolute path to the directory where the top-level - Makefile.inc was found. - -KERNARCHDIR Is the location of the machine dependent kernel - sources. It defaults to arch/${MACHINE} - -KERNCONFDIR Is where the configuration files for kernels are - found; default is ${KERNSRCDIR}/${KERNARCHDIR}/conf. - -KERNOBJDIR Is the kernel build directory. The kernel GENERIC for - instance will be compiled in ${KERNOBJDIR}/GENERIC. - The default value is - ${MAKEOBJDIRPREFIX}${KERNSRCDIR}/${KERNARCHDIR}/compile - if it exists or the target 'obj' is being made. - Otherwise the default is - ${KERNSRCDIR}/${KERNARCHDIR}/compile. - -It is important that Makefiles (such as those under src/distrib) that -wish to find compiled kernels use bsd.kernobj.mk and ${KERNOBJDIR} -rather than make assumptions about the location of the compiled kernel. - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= |