]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/bsd.own.mk
MFhead@r325209
[FreeBSD/FreeBSD.git] / share / mk / bsd.own.mk
1 # $FreeBSD$
2 #
3 # The include file <bsd.own.mk> set common variables for owner,
4 # group, mode, and directories. Defaults are in brackets.
5 #
6 #
7 # +++ variables +++
8 #
9 # DESTDIR       Change the tree where the file gets installed. [not set]
10 #
11 # DISTDIR       Change the tree where the file for a distribution
12 #               gets installed (see /usr/src/release/Makefile). [not set]
13 #
14 # COMPRESS_CMD  Program to compress documents.
15 #               Output is to stdout. [gzip -cn]
16 #
17 # COMPRESS_EXT  File name extension of ${COMPRESS_CMD} command. [.gz]
18 #
19 # BINOWN        Binary owner. [root]
20 #
21 # BINGRP        Binary group. [wheel]
22 #
23 # BINMODE       Binary mode. [555]
24 #
25 # NOBINMODE     Mode for non-executable files. [444]
26 #
27 # LIBDIR        Base path for libraries. [/usr/lib]
28 #
29 # LIBCOMPATDIR  Base path for compat libraries. [/usr/lib/compat]
30 #
31 # LIBDATADIR    Base path for misc. utility data files. [/usr/libdata]
32 #
33 # LIBEXECDIR    Base path for system daemons and utilities. [/usr/libexec]
34 #
35 # LINTLIBDIR    Base path for lint libraries. [/usr/libdata/lint]
36 #
37 # SHLIBDIR      Base path for shared libraries. [${LIBDIR}]
38 #
39 # LIBOWN        Library owner. [${BINOWN}]
40 #
41 # LIBGRP        Library group. [${BINGRP}]
42 #
43 # LIBMODE       Library mode. [${NOBINMODE}]
44 #
45 # COVERAGEDIR   Base path for coverage files. [/usr/lib/cov]
46 #
47 # DEBUGDIR      Base path for standalone debug files. [/usr/lib/debug]
48 #
49 # DEBUGMODE     Mode for debug files. [${NOBINMODE}]
50 #
51 #
52 # KMODDIR       Base path for loadable kernel modules
53 #               (see kld(4)). [/boot/module]
54 #
55 # KMODOWN       Kernel and KLD owner. [${BINOWN}]
56 #
57 # KMODGRP       Kernel and KLD group. [${BINGRP}]
58 #
59 # KMODMODE      KLD mode. [${BINMODE}]
60 #
61 #
62 # SHAREDIR      Base path for architecture-independent ascii
63 #               text files. [/usr/share]
64 #
65 # SHAREOWN      ASCII text file owner. [root]
66 #
67 # SHAREGRP      ASCII text file group. [wheel]
68 #
69 # SHAREMODE     ASCII text file mode. [${NOBINMODE}]
70 #
71 #
72 # CONFDIR       Base path for configuration files. [/etc]
73 #
74 # CONFOWN       Configuration file owner. [root]
75 #
76 # CONFGRP       Configuration file group. [wheel]
77 #
78 # CONFMODE      Configuration file mode. [644]
79 #
80 #
81 # DOCDIR        Base path for system documentation (e.g. PSD, USD,
82 #               handbook, FAQ etc.). [${SHAREDIR}/doc]
83 #
84 # DOCOWN        Documentation owner. [${SHAREOWN}]
85 #
86 # DOCGRP        Documentation group. [${SHAREGRP}]
87 #
88 # DOCMODE       Documentation mode. [${NOBINMODE}]
89 #
90 #
91 # INFODIR       Base path for GNU's hypertext system
92 #               called Info (see info(1)). [${SHAREDIR}/info]
93 #
94 # INFOOWN       Info owner. [${SHAREOWN}]
95 #
96 # INFOGRP       Info group. [${SHAREGRP}]
97 #
98 # INFOMODE      Info mode. [${NOBINMODE}]
99 #
100 #
101 # MANDIR        Base path for manual installation. [${SHAREDIR}/man/man]
102 #
103 # MANOWN        Manual owner. [${SHAREOWN}]
104 #
105 # MANGRP        Manual group. [${SHAREGRP}]
106 #
107 # MANMODE       Manual mode. [${NOBINMODE}]
108 #
109 #
110 # NLSDIR        Base path for National Language Support files
111 #               installation. [${SHAREDIR}/nls]
112 #
113 # NLSOWN        National Language Support files owner. [${SHAREOWN}]
114 #
115 # NLSGRP        National Language Support files group. [${SHAREGRP}]
116 #
117 # NLSMODE       National Language Support files mode. [${NOBINMODE}]
118 #
119 # INCLUDEDIR    Base path for standard C include files [/usr/include]
120 #
121 # PKG_CMD       Program for creating and manipulating packages.
122 #               [pkg] 
123
124 .if !target(__<bsd.own.mk>__)
125 __<bsd.own.mk>__:
126
127 .include <bsd.opts.mk>          # options now here or src.opts.mk
128
129 .if !defined(_WITHOUT_SRCCONF)
130
131 .if ${MK_CTF} != "no"
132 CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
133 .elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300)
134 CTFCONVERT_CMD=
135 .else
136 CTFCONVERT_CMD= @:
137 .endif 
138
139 .endif # !_WITHOUT_SRCCONF
140
141 # Binaries
142 BINOWN?=        root
143 BINGRP?=        wheel
144 BINMODE?=       555
145 NOBINMODE?=     444
146
147 KMODDIR?=       /boot/modules
148 KMODOWN?=       ${BINOWN}
149 KMODGRP?=       ${BINGRP}
150 KMODMODE?=      ${BINMODE}
151 DTBDIR?=        /boot/dtb
152 DTBOWN?=        root
153 DTBGRP?=        wheel
154 DTBMODE?=       444
155
156 # Use make.conf / environment LIBDIR as default if set...
157 .if !empty(_PREMK_LIBDIR)
158 LIBDIR_BASE?=   ${_PREMK_LIBDIR}
159 .endif
160 # otherwise use our expected default value.
161 LIBDIR_BASE?=   /usr/lib
162 LIBDIR?=        ${LIBDIR_BASE}
163 LIBCOMPATDIR?=  /usr/lib/compat
164 LIBDATADIR?=    /usr/libdata
165 LIBEXECDIR?=    /usr/libexec
166 LINTLIBDIR?=    /usr/libdata/lint
167 SHLIBDIR?=      ${LIBDIR}
168 LIBOWN?=        ${BINOWN}
169 LIBGRP?=        ${BINGRP}
170 LIBMODE?=       ${NOBINMODE}
171
172 COVERAGEDIR?=   /usr/lib/cov
173
174 DEBUGDIR?=      /usr/lib/debug
175 DEBUGMODE?=     ${NOBINMODE}
176
177
178 # Share files
179 SHAREDIR?=      /usr/share
180 SHAREOWN?=      root
181 SHAREGRP?=      wheel
182 SHAREMODE?=     ${NOBINMODE}
183
184 CONFDIR?=       /etc
185 CONFOWN?=       root
186 CONFGRP?=       wheel
187 CONFMODE?=      644
188
189 MANDIR?=        ${SHAREDIR}/man/man
190 MANOWN?=        ${SHAREOWN}
191 MANGRP?=        ${SHAREGRP}
192 MANMODE?=       ${NOBINMODE}
193
194 DOCDIR?=        ${SHAREDIR}/doc
195 DOCOWN?=        ${SHAREOWN}
196 DOCGRP?=        ${SHAREGRP}
197 DOCMODE?=       ${NOBINMODE}
198
199 INFODIR?=       ${SHAREDIR}/info
200 INFOOWN?=       ${SHAREOWN}
201 INFOGRP?=       ${SHAREGRP}
202 INFOMODE?=      ${NOBINMODE}
203
204 NLSDIR?=        ${SHAREDIR}/nls
205 NLSOWN?=        ${SHAREOWN}
206 NLSGRP?=        ${SHAREGRP}
207 NLSMODE?=       ${NOBINMODE}
208
209 INCLUDEDIR?=    /usr/include
210
211 #
212 # install(1) parameters.
213 #
214 HRDLINK?=       -l h
215 SYMLINK?=       -l s
216 RSYMLINK?=      -l rs
217
218 INSTALL_LINK?=          ${INSTALL} ${HRDLINK}
219 INSTALL_SYMLINK?=       ${INSTALL} ${SYMLINK}
220 INSTALL_RSYMLINK?=      ${INSTALL} ${RSYMLINK}
221
222 # Common variables
223 .if !defined(DEBUG_FLAGS)
224 STRIP?=         -s
225 .endif
226
227 COMPRESS_CMD?=  gzip -cn
228 COMPRESS_EXT?=  .gz
229
230 # Set XZ_THREADS to 1 to disable multi-threading.
231 XZ_THREADS?=    0
232
233 .if !empty(XZ_THREADS)
234 XZ_CMD?=        xz -T ${XZ_THREADS}
235 .else
236 XZ_CMD?=        xz
237 .endif
238
239 .if !defined(SVNVERSION_CMD) && empty(SVNVERSION_CMD)
240 . for _D in ${PATH:S,:, ,g}
241 .  if exists(${_D}/svnversion)
242 SVNVERSION_CMD?=${_D}/svnversion
243 .  endif
244 .  if exists(${_D}/svnliteversion)
245 SVNVERSION_CMD?=${_D}/svnliteversion
246 .  endif
247 . endfor
248 .endif
249
250 PKG_CMD?=       pkg
251
252 # Pointer to the top directory into which tests are installed.  Should not be
253 # overriden by Makefiles, but the user may choose to set this in src.conf(5).
254 TESTSBASE?= /usr/tests
255
256 DEPENDFILE?=    .depend
257
258 # Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF
259 # wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12.
260 .if !defined(_WITHOUT_SRCCONF)
261 .include <bsd.compiler.mk>
262 .endif # !_WITHOUT_SRCCONF
263
264 .endif  # !target(__<bsd.own.mk>__)