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