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