]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/bsd.own.mk
THIS BRANCH IS OBSOLETE, PLEASE READ:
[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 # SHLIBDIR      Base path for shared libraries. [${LIBDIR}]
36 #
37 # LIBOWN        Library owner. [${BINOWN}]
38 #
39 # LIBGRP        Library group. [${BINGRP}]
40 #
41 # LIBMODE       Library mode. [${NOBINMODE}]
42 #
43 #
44 # DEBUGDIR      Base path for standalone debug files. [/usr/lib/debug]
45 #
46 # DEBUGMODE     Mode for debug files. [${NOBINMODE}]
47 #
48 #
49 # KMODDIR       Base path for loadable kernel modules
50 #               (see kld(4)). [/boot/modules]
51 #
52 # KMODOWN       Kernel and KLD owner. [${BINOWN}]
53 #
54 # KMODGRP       Kernel and KLD group. [${BINGRP}]
55 #
56 # KMODMODE      KLD mode. [${BINMODE}]
57 #
58 #
59 # EFIDIR        Base path for the UEFI ESP [/boot/efi]
60 #
61 # EFIOWN        EFIDIR owner. [root]
62 #
63 # EFIGRP        EFIDIR group. [wheel]
64 #
65 # EFIMODE       EFIDIR mode. [555]
66 #
67 #
68 # SHAREDIR      Base path for architecture-independent ascii
69 #               text files. [/usr/share]
70 #
71 # SHAREOWN      ASCII text file owner. [root]
72 #
73 # SHAREGRP      ASCII text file group. [wheel]
74 #
75 # SHAREMODE     ASCII text file mode. [${NOBINMODE}]
76 #
77 #
78 # CONFDIR       Base path for configuration files. [/etc]
79 #
80 # CONFOWN       Configuration file owner. [root]
81 #
82 # CONFGRP       Configuration file group. [wheel]
83 #
84 # CONFMODE      Configuration file mode. [644]
85 #
86 #
87 # DIROWN        Directory owner. [root]
88 #
89 # DIRGRP        Directory group. [wheel]
90 #
91 # DIRMODE       Directory mode. [755]
92 #
93 #
94 # DOCDIR        Base path for system documentation (e.g. PSD, USD,
95 #               handbook, FAQ etc.). [${SHAREDIR}/doc]
96 #
97 # DOCOWN        Documentation owner. [${SHAREOWN}]
98 #
99 # DOCGRP        Documentation group. [${SHAREGRP}]
100 #
101 # DOCMODE       Documentation mode. [${NOBINMODE}]
102 #
103 #
104 # INFODIR       Base path for GNU's hypertext system
105 #               called Info (see info(1)). [${SHAREDIR}/info]
106 #
107 # INFOOWN       Info owner. [${SHAREOWN}]
108 #
109 # INFOGRP       Info group. [${SHAREGRP}]
110 #
111 # INFOMODE      Info mode. [${NOBINMODE}]
112 #
113 #
114 # MANDIR        Base path for manual installation. [${SHAREDIR}/man/man]
115 #
116 # MANOWN        Manual owner. [${SHAREOWN}]
117 #
118 # MANGRP        Manual group. [${SHAREGRP}]
119 #
120 # MANMODE       Manual mode. [${NOBINMODE}]
121 #
122 #
123 # NLSDIR        Base path for National Language Support files
124 #               installation. [${SHAREDIR}/nls]
125 #
126 # NLSOWN        National Language Support files owner. [${SHAREOWN}]
127 #
128 # NLSGRP        National Language Support files group. [${SHAREGRP}]
129 #
130 # NLSMODE       National Language Support files mode. [${NOBINMODE}]
131 #
132 # INCLUDEDIR    Base path for standard C include files [/usr/include]
133 #
134 # PKG_CMD       Program for creating and manipulating packages.
135 #               [pkg] 
136 #
137 # LINKOWN       Hard link owner [${BINOWN}]
138 #
139 # LINKGRP       Hard link group [${BINGRP}]
140 #
141 # LINKMODE      Hard link mode [${NOBINMODE}]
142 #
143 # SYMLINKOWN    Symbolic link owner [${BINOWN} or ${LIBOWN}]
144 #
145 # SYMLINKGRP    Symbolic link group [${BINGRP} or ${LIBGRP}]
146 #
147 # SYMLINKMODE   Symbolic link mode [755]
148
149 .if !target(__<bsd.own.mk>__)
150 __<bsd.own.mk>__:
151
152 .include <bsd.opts.mk>          # options now here or src.opts.mk
153
154 .if !defined(_WITHOUT_SRCCONF)
155
156 .if ${MK_CTF} != "no"
157 CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
158 .elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300)
159 CTFCONVERT_CMD=
160 .else
161 CTFCONVERT_CMD= @:
162 .endif 
163
164 .endif # !_WITHOUT_SRCCONF
165
166 # Binaries
167 BINOWN?=        root
168 BINGRP?=        wheel
169 BINMODE?=       555
170 NOBINMODE?=     444
171
172 KMODDIR?=       /boot/modules
173 KMODOWN?=       ${BINOWN}
174 KMODGRP?=       ${BINGRP}
175 KMODMODE?=      ${BINMODE}
176 DTBDIR?=        /boot/dtb
177 DTBODIR?=       /boot/dtb/overlays
178 DTBOWN?=        root
179 DTBGRP?=        wheel
180 DTBMODE?=       444
181 EFIDIR?=        /boot/efi
182 EFIOWN?=        root
183 EFIGRP?=        wheel
184 EFIMODE?=       555
185
186 # Use make.conf / environment LIBDIR as default if set...
187 .if !empty(_PREMK_LIBDIR)
188 LIBDIR_BASE?=   ${_PREMK_LIBDIR}
189 .endif
190 # otherwise use our expected default value.
191 LIBDIR_BASE?=   /usr/lib
192 LIBDIR?=        ${LIBDIR_BASE}
193 LIBCOMPATDIR?=  /usr/lib/compat
194 LIBDATADIR?=    /usr/libdata
195 LIBEXECDIR?=    /usr/libexec
196 SHLIBDIR?=      ${LIBDIR}
197 LIBOWN?=        ${BINOWN}
198 LIBGRP?=        ${BINGRP}
199 LIBMODE?=       ${NOBINMODE}
200
201 DEBUGDIR?=      /usr/lib/debug
202 DEBUGMODE?=     ${NOBINMODE}
203
204
205 # Share files
206 SHAREDIR?=      /usr/share
207 SHAREOWN?=      root
208 SHAREGRP?=      wheel
209 SHAREMODE?=     ${NOBINMODE}
210
211 CONFDIR?=       /etc
212 CONFOWN?=       root
213 CONFGRP?=       wheel
214 CONFMODE?=      644
215
216 MANDIR?=        ${SHAREDIR}/man/man
217 MANOWN?=        ${SHAREOWN}
218 MANGRP?=        ${SHAREGRP}
219 MANMODE?=       ${NOBINMODE}
220
221 DIROWN?=        root
222 DIRGRP?=        wheel
223 DIRMODE?=       755
224
225 DOCDIR?=        ${SHAREDIR}/doc
226 DOCOWN?=        ${SHAREOWN}
227 DOCGRP?=        ${SHAREGRP}
228 DOCMODE?=       ${NOBINMODE}
229
230 INFODIR?=       ${SHAREDIR}/info
231 INFOOWN?=       ${SHAREOWN}
232 INFOGRP?=       ${SHAREGRP}
233 INFOMODE?=      ${NOBINMODE}
234
235 NLSDIR?=        ${SHAREDIR}/nls
236 NLSOWN?=        ${SHAREOWN}
237 NLSGRP?=        ${SHAREGRP}
238 NLSMODE?=       ${NOBINMODE}
239
240 INCLUDEDIR?=    /usr/include
241
242 #
243 # install(1) parameters.
244 #
245 _LINKOWN?=      ${LINKOWN:U${BINOWN}}
246 _LINKGRP?=      ${LINKGRP:U${BINGRP}}
247 _LINKMODE?=     ${LINKMODE:U${NOBINMODE}}
248 _SYMLINKOWN?=   ${SYMLINKOWN:U${BINOWN}}
249 _SYMLINKGRP?=   ${SYMLINKGRP:U${BINGRP}}
250 _SYMLINKMODE?=  ${SYMLINKMODE:U755}
251 HRDLINK?=       -l h -o ${_LINKOWN} -g ${_LINKGRP} -m ${_LINKMODE}
252 MANHRDLINK?=    -l h -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
253 SYMLINK?=       -l s -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE}
254 LSYMLINK?=      -l s -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE}
255 RSYMLINK?=      -l rs -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE}
256
257 INSTALL_LINK?=          ${INSTALL} ${HRDLINK}
258 INSTALL_MANLINK?=       ${INSTALL} ${MANHRDLINK}
259 INSTALL_SYMLINK?=       ${INSTALL} ${SYMLINK}
260 INSTALL_LIBSYMLINK?=    ${INSTALL} ${LSYMLINK}
261 INSTALL_RSYMLINK?=      ${INSTALL} ${RSYMLINK}
262
263 # Common variables
264 .if !defined(DEBUG_FLAGS)
265 STRIP?=         -s
266 .endif
267
268 COMPRESS_CMD?=  gzip -cn
269 COMPRESS_EXT?=  .gz
270
271 # Set XZ_THREADS to 1 to disable multi-threading.
272 XZ_THREADS?=    0
273
274 .if !empty(XZ_THREADS)
275 XZ_CMD?=        xz -T ${XZ_THREADS}
276 .else
277 XZ_CMD?=        xz
278 .endif
279
280 PKG_CMD?=       pkg
281
282 # Pointer to the top directory into which tests are installed.  Should not be
283 # overridden by Makefiles, but the user may choose to set this in src.conf(5).
284 TESTSBASE?= /usr/tests
285
286 DEPENDFILE?=    .depend
287
288 # Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF
289 # wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12.
290 .if !defined(_WITHOUT_SRCCONF)
291 .include <bsd.compiler.mk>
292 .endif # !_WITHOUT_SRCCONF
293
294 .endif  # !target(__<bsd.own.mk>__)