Deleted Added
full compact
bsd.README (114580) bsd.README (115103)
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 ---