]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/bsd.own.mk
MFhead @ r290899
[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 #
46 # DEBUGDIR      Base path for standalone debug files. [/usr/lib/debug]
47 #
48 # DEBUGMODE     Mode for debug files. [${NOBINMODE}]
49 #
50 #
51 # KMODDIR       Base path for loadable kernel modules
52 #               (see kld(4)). [/boot/kernel]
53 #
54 # KMODOWN       Kernel and KLD owner. [${BINOWN}]
55 #
56 # KMODGRP       Kernel and KLD group. [${BINGRP}]
57 #
58 # KMODMODE      KLD mode. [${BINMODE}]
59 #
60 #
61 # SHAREDIR      Base path for architecture-independent ascii
62 #               text files. [/usr/share]
63 #
64 # SHAREOWN      ASCII text file owner. [root]
65 #
66 # SHAREGRP      ASCII text file group. [wheel]
67 #
68 # SHAREMODE     ASCII text file mode. [${NOBINMODE}]
69 #
70 #
71 # CONFDIR       Base path for configuration files. [/etc]
72 #
73 # CONFOWN       Configuration file owner. [root]
74 #
75 # CONFGRP       Configuration file group. [wheel]
76 #
77 # CONFMODE      Configuration file mode. [644]
78 #
79 #
80 # DOCDIR        Base path for system documentation (e.g. PSD, USD,
81 #               handbook, FAQ etc.). [${SHAREDIR}/doc]
82 #
83 # DOCOWN        Documentation owner. [${SHAREOWN}]
84 #
85 # DOCGRP        Documentation group. [${SHAREGRP}]
86 #
87 # DOCMODE       Documentation mode. [${NOBINMODE}]
88 #
89 #
90 # INFODIR       Base path for GNU's hypertext system
91 #               called Info (see info(1)). [${SHAREDIR}/info]
92 #
93 # INFOOWN       Info owner. [${SHAREOWN}]
94 #
95 # INFOGRP       Info group. [${SHAREGRP}]
96 #
97 # INFOMODE      Info mode. [${NOBINMODE}]
98 #
99 #
100 # MANDIR        Base path for manual installation. [${SHAREDIR}/man/man]
101 #
102 # MANOWN        Manual owner. [${SHAREOWN}]
103 #
104 # MANGRP        Manual group. [${SHAREGRP}]
105 #
106 # MANMODE       Manual mode. [${NOBINMODE}]
107 #
108 #
109 # NLSDIR        Base path for National Language Support files
110 #               installation. [${SHAREDIR}/nls]
111 #
112 # NLSOWN        National Language Support files owner. [${SHAREOWN}]
113 #
114 # NLSGRP        National Language Support files group. [${SHAREGRP}]
115 #
116 # NLSMODE       National Language Support files mode. [${NOBINMODE}]
117 #
118 # INCLUDEDIR    Base path for standard C include files [/usr/include]
119
120 .if !target(__<bsd.own.mk>__)
121 __<bsd.own.mk>__:
122
123 .include <bsd.opts.mk>          # options now here or src.opts.mk
124
125 .if !defined(_WITHOUT_SRCCONF)
126
127 .if ${MK_CTF} != "no"
128 CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
129 .elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300)
130 CTFCONVERT_CMD=
131 .else
132 CTFCONVERT_CMD= @:
133 .endif 
134
135 .if ${MK_INSTALL_AS_USER} != "no"
136 _uid!=  id -u
137 .if ${_uid} != 0
138 .if !defined(USER)
139 USER!=  id -un
140 .endif
141 _gid!=  id -g
142 .for x in BIN CONF DOC DTB INFO KMOD LIB MAN NLS SHARE
143 $xOWN=  ${USER}
144 $xGRP=  ${_gid}
145 .endfor
146 .endif
147 .endif
148
149 .endif # !_WITHOUT_SRCCONF
150
151 # Binaries
152 BINOWN?=        root
153 BINGRP?=        wheel
154 BINMODE?=       555
155 NOBINMODE?=     444
156
157 .if defined(MODULES_WITH_WORLD)
158 KMODDIR?=       /boot/modules
159 .else
160 KMODDIR?=       /boot/kernel
161 .endif
162 KMODOWN?=       ${BINOWN}
163 KMODGRP?=       ${BINGRP}
164 KMODMODE?=      ${BINMODE}
165 DTBDIR?=        /boot/dtb
166 DTBOWN?=        root
167 DTBGRP?=        wheel
168 DTBMODE?=       444
169
170 LIBDIR?=        /usr/lib
171 LIBCOMPATDIR?=  /usr/lib/compat
172 LIBDATADIR?=    /usr/libdata
173 LIBEXECDIR?=    /usr/libexec
174 LINTLIBDIR?=    /usr/libdata/lint
175 SHLIBDIR?=      ${LIBDIR}
176 LIBOWN?=        ${BINOWN}
177 LIBGRP?=        ${BINGRP}
178 LIBMODE?=       ${NOBINMODE}
179
180 DEBUGDIR?=      /usr/lib/debug
181 DEBUGMODE?=     ${NOBINMODE}
182
183
184 # Share files
185 SHAREDIR?=      /usr/share
186 SHAREOWN?=      root
187 SHAREGRP?=      wheel
188 SHAREMODE?=     ${NOBINMODE}
189
190 CONFDIR?=       /etc
191 CONFOWN?=       root
192 CONFGRP?=       wheel
193 CONFMODE?=      644
194
195 MANDIR?=        ${SHAREDIR}/man/man
196 MANOWN?=        ${SHAREOWN}
197 MANGRP?=        ${SHAREGRP}
198 MANMODE?=       ${NOBINMODE}
199
200 DOCDIR?=        ${SHAREDIR}/doc
201 DOCOWN?=        ${SHAREOWN}
202 DOCGRP?=        ${SHAREGRP}
203 DOCMODE?=       ${NOBINMODE}
204
205 INFODIR?=       ${SHAREDIR}/info
206 INFOOWN?=       ${SHAREOWN}
207 INFOGRP?=       ${SHAREGRP}
208 INFOMODE?=      ${NOBINMODE}
209
210 NLSDIR?=        ${SHAREDIR}/nls
211 NLSOWN?=        ${SHAREOWN}
212 NLSGRP?=        ${SHAREGRP}
213 NLSMODE?=       ${NOBINMODE}
214
215 INCLUDEDIR?=    /usr/include
216
217 #
218 # install(1) parameters.
219 #
220 HRDLINK?=       -l h
221 SYMLINK?=       -l s
222 RSYMLINK?=      -l rs
223
224 INSTALL_LINK?=          ${INSTALL} ${HRDLINK}
225 INSTALL_SYMLINK?=       ${INSTALL} ${SYMLINK}
226 INSTALL_RSYMLINK?=      ${INSTALL} ${RSYMLINK}
227
228 # Common variables
229 .if !defined(DEBUG_FLAGS)
230 STRIP?=         -s
231 .endif
232
233 COMPRESS_CMD?=  gzip -cn
234 COMPRESS_EXT?=  .gz
235
236 # Set XZ_THREADS to 1 to disable multi-threading.
237 XZ_THREADS?=    0
238
239 .if !empty(XZ_THREADS)
240 XZ_CMD?=        xz -T ${XZ_THREADS}
241 .else
242 XZ_CMD?=        xz
243 .endif
244
245 # Pointer to the top directory into which tests are installed.  Should not be
246 # overriden by Makefiles, but the user may choose to set this in src.conf(5).
247 TESTSBASE?= /usr/tests
248
249 # Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF
250 # wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12.
251 .if !defined(_WITHOUT_SRCCONF)
252 .include <bsd.compiler.mk>
253 .endif # !_WITHOUT_SRCCONF
254
255 .endif  # !target(__<bsd.own.mk>__)