1# @(#)bsd.README 8.2 (Berkeley) 4/2/94
| 1# @(#)bsd.README 8.2 (Berkeley) 4/2/94
|
2# $FreeBSD: head/share/mk/bsd.README 114580 2003-05-03 15:48:12Z markm $
| 2# $FreeBSD: head/share/mk/bsd.README 115103 2003-05-17 18:03:05Z trhodes $
|
3
| 3
|
4XXX This document is seriously out of date, it is currenly being revised.
| 4This is the README file for the "include" files for the FreeBSD 5source tree. The files are installed in /usr/share/mk, and are by 6convention, named with the suffix ".mk". These files store several 7build options and should be handled with caution.
|
5
| 8
|
6This is the README file for the new make "include" files for the BSD 7source tree. The files are installed in /usr/share/mk, and are, by 8convention, named with the suffix ".mk".
| 9Note, this file is not intended to replace reading through the .mk 10files for anything tricky.
|
9
| 11
|
| 12There are two main types of make include files. One type is the generally 13usable make include files, such as bsd.prog.mk and bsd.lib.mk. The other is 14the internal make include files, such as bsd.files.mk and bsd.man.mk, which 15can not/should not be used directly but are used by the other make include 16files. In most cases it is only interesting to include bsd.prog.mk or 17bsd.lib.mk. 18 19bsd.cpu.mk - sets CPU/arch-related variables
|
10bsd.dep.mk - handle Makefile dependencies 11bsd.doc.mk - building troff system documents
| 20bsd.dep.mk - handle Makefile dependencies 21bsd.doc.mk - building troff system documents
|
| 22bsd.files.mk - install of general purpose files 23bsd.incs.mk - install of include files
|
12bsd.info.mk - building GNU Info hypertext system
| 24bsd.info.mk - building GNU Info hypertext system
|
| 25bsd.init.mk - initialization for the make include files
|
13bsd.kmod.mk - building loadable kernel modules 14bsd.lib.mk - support for building libraries 15bsd.libnames.mk - define library names
| 26bsd.kmod.mk - building loadable kernel modules 27bsd.lib.mk - support for building libraries 28bsd.libnames.mk - define library names
|
16bsd.man.mk - installing manual pages and their links
| 29bsd.links.mk - install of links (sym/hard) 30bsd.man.mk - install of manual pages and their links 31bsd.nls.mk - build and install of NLS catalogs
|
17bsd.obj.mk - creating 'obj' directories and cleaning up 18bsd.own.mk - define common variables 19bsd.port.mk - building ports
| 32bsd.obj.mk - creating 'obj' directories and cleaning up 33bsd.own.mk - define common variables 34bsd.port.mk - building ports
|
| 35bsd.port.post.mk - building ports 36bsd.port.pre.mk - building ports
|
20bsd.port.subdir.mk - targets for building subdirectories for ports 21bsd.prog.mk - building programs from source files 22bsd.subdir.mk - targets for building subdirectories
| 37bsd.port.subdir.mk - targets for building subdirectories for ports 38bsd.prog.mk - building programs from source files 39bsd.subdir.mk - targets for building subdirectories
|
| 40bsd.sys.mk - common settings used for building FreeBSD sources 41sys.mk - default rules for all makes
|
23
| 42
|
| 43This file does not document bsd.port*.mk. They are documented in ports(7).
|
24
| 44
|
25Note, this file is not intended to replace reading through the .mk 26files for anything tricky.
| 45See also make(1), mkdep(1), style.Makefile(5) and `PMake - A 46Tutorial', located in /usr/share/doc/psd/12.make.
|
27
| 47
|
28See also make(1), mkdep(1) and `PMake - A Tutorial', 29located in /usr/share/doc/psd/12.make.
| 48=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
30
| 49
|
| 50Random things worth knowing about this document: 51 52If appropriate when documenting the variables the default value is 53indicated using square brackets e.g. [gzip]. 54In some cases the default value depend on other values (e.g. system 55architecture). In these cases the most common value is indicated. 56 57This document contains some simple examples of the usage of the BSD make 58include files. For more examples look at the makefiles in the FreeBSD 59source tree. 60
|
31=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 32 33RANDOM THINGS WORTH KNOWING: 34
| 61=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 62 63RANDOM THINGS WORTH KNOWING: 64
|
35The files are simply C-style #include files, and pretty much behave like
| 65The files are like C-style #include files, and pretty much behave like
|
36you'd expect. The syntax is slightly different in that a single '.' is 37used instead of the hash mark, i.e. ".include <bsd.prog.mk>". 38 39One difference that will save you lots of debugging time is that inclusion 40of the file is normally done at the *end* of the Makefile. The reason for 41this is because .mk files often modify variables and behavior based on the 42values of variables set in the Makefile. To make this work, remember that 43the FIRST target found is the target that is used, i.e. if the Makefile has:
--- 291 unchanged lines hidden --- | 66you'd expect. The syntax is slightly different in that a single '.' is 67used instead of the hash mark, i.e. ".include <bsd.prog.mk>". 68 69One difference that will save you lots of debugging time is that inclusion 70of the file is normally done at the *end* of the Makefile. The reason for 71this is because .mk files often modify variables and behavior based on the 72values of variables set in the Makefile. To make this work, remember that 73the FIRST target found is the target that is used, i.e. if the Makefile has:
--- 291 unchanged lines hidden --- |