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