xref: /freebsd/share/mk/bsd.own.mk (revision 01918855cfc9e5ce4c324d11c6b3b9a149638174)
153996fadSWolfram Schneider#
20e9c4ca8SBryan Drewery# The include file <bsd.own.mk> set common variables for owner,
353996fadSWolfram Schneider# group, mode, and directories. Defaults are in brackets.
453996fadSWolfram Schneider#
553996fadSWolfram Schneider#
653996fadSWolfram Schneider# +++ variables +++
753996fadSWolfram Schneider#
853996fadSWolfram Schneider# DESTDIR	Change the tree where the file gets installed. [not set]
953996fadSWolfram Schneider#
1053996fadSWolfram Schneider# DISTDIR	Change the tree where the file for a distribution
1153996fadSWolfram Schneider# 		gets installed (see /usr/src/release/Makefile). [not set]
1253996fadSWolfram Schneider#
13f7ea12a0SWolfram Schneider# COMPRESS_CMD	Program to compress documents.
148d17ea52SBruce Evans#		Output is to stdout. [gzip -cn]
15f7ea12a0SWolfram Schneider#
16f7ea12a0SWolfram Schneider# COMPRESS_EXT	File name extension of ${COMPRESS_CMD} command. [.gz]
17f7ea12a0SWolfram Schneider#
185ecaf9a8SDavid E. O'Brien# BINOWN	Binary owner. [root]
1953996fadSWolfram Schneider#
205ecaf9a8SDavid E. O'Brien# BINGRP	Binary group. [wheel]
2153996fadSWolfram Schneider#
2253996fadSWolfram Schneider# BINMODE	Binary mode. [555]
2353996fadSWolfram Schneider#
2453996fadSWolfram Schneider# NOBINMODE	Mode for non-executable files. [444]
2553996fadSWolfram Schneider#
2653996fadSWolfram Schneider# LIBDIR	Base path for libraries. [/usr/lib]
2753996fadSWolfram Schneider#
28c7d591d6SWolfram Schneider# LIBCOMPATDIR	Base path for compat libraries. [/usr/lib/compat]
29c7d591d6SWolfram Schneider#
30c7d591d6SWolfram Schneider# LIBDATADIR	Base path for misc. utility data files. [/usr/libdata]
31c7d591d6SWolfram Schneider#
3261e05fceSGiorgos Keramidas# LIBEXECDIR	Base path for system daemons and utilities. [/usr/libexec]
3361e05fceSGiorgos Keramidas#
3453996fadSWolfram Schneider# SHLIBDIR	Base path for shared libraries. [${LIBDIR}]
3553996fadSWolfram Schneider#
364270213cSDavid E. O'Brien# LIBOWN	Library owner. [${BINOWN}]
3753996fadSWolfram Schneider#
3853996fadSWolfram Schneider# LIBGRP	Library group. [${BINGRP}]
3953996fadSWolfram Schneider#
4053996fadSWolfram Schneider# LIBMODE	Library mode. [${NOBINMODE}]
4153996fadSWolfram Schneider#
4253996fadSWolfram Schneider#
4342f8c5b5SEd Maste# DEBUGDIR	Base path for standalone debug files. [/usr/lib/debug]
4442f8c5b5SEd Maste#
4542f8c5b5SEd Maste# DEBUGMODE	Mode for debug files. [${NOBINMODE}]
4642f8c5b5SEd Maste#
4742f8c5b5SEd Maste#
4853996fadSWolfram Schneider# KMODDIR	Base path for loadable kernel modules
49a6bb5342SJohn Baldwin#		(see kld(4)). [/boot/modules]
5053996fadSWolfram Schneider#
5167e78480SBjoern A. Zeeb# KMODOWN	Kernel and KLD owner. [${BINOWN}]
5253996fadSWolfram Schneider#
5367e78480SBjoern A. Zeeb# KMODGRP	Kernel and KLD group. [${BINGRP}]
5453996fadSWolfram Schneider#
554c62f5d1SAlexey Zelkin# KMODMODE	KLD mode. [${BINMODE}]
5653996fadSWolfram Schneider#
5753996fadSWolfram Schneider#
58599d032aSWarner Losh# EFIDIR	Base path for the UEFI ESP [/boot/efi]
59599d032aSWarner Losh#
60599d032aSWarner Losh# EFIOWN	EFIDIR owner. [root]
61599d032aSWarner Losh#
62599d032aSWarner Losh# EFIGRP	EFIDIR group. [wheel]
63599d032aSWarner Losh#
64599d032aSWarner Losh# EFIMODE	EFIDIR mode. [555]
65599d032aSWarner Losh#
66599d032aSWarner Losh#
6753996fadSWolfram Schneider# SHAREDIR	Base path for architecture-independent ascii
6853996fadSWolfram Schneider#		text files. [/usr/share]
6953996fadSWolfram Schneider#
705ecaf9a8SDavid E. O'Brien# SHAREOWN	ASCII text file owner. [root]
7153996fadSWolfram Schneider#
725ecaf9a8SDavid E. O'Brien# SHAREGRP	ASCII text file group. [wheel]
7353996fadSWolfram Schneider#
7453996fadSWolfram Schneider# SHAREMODE	ASCII text file mode. [${NOBINMODE}]
7553996fadSWolfram Schneider#
7653996fadSWolfram Schneider#
77cf78df8aSStefan Eßer# CONFDIR	Base path for configuration files. [/etc]
78cf78df8aSStefan Eßer#
79cf78df8aSStefan Eßer# CONFOWN	Configuration file owner. [root]
80cf78df8aSStefan Eßer#
81cf78df8aSStefan Eßer# CONFGRP	Configuration file group. [wheel]
82cf78df8aSStefan Eßer#
83cf78df8aSStefan Eßer# CONFMODE	Configuration file mode. [644]
84cf78df8aSStefan Eßer#
85cf78df8aSStefan Eßer#
86c74ace92SBrad Davis# DIROWN	Directory owner. [root]
87c74ace92SBrad Davis#
88c74ace92SBrad Davis# DIRGRP	Directory group. [wheel]
89c74ace92SBrad Davis#
90c74ace92SBrad Davis# DIRMODE	Directory mode. [755]
91c74ace92SBrad Davis#
92c74ace92SBrad Davis#
9353996fadSWolfram Schneider# DOCDIR	Base path for system documentation (e.g. PSD, USD,
9453996fadSWolfram Schneider#		handbook, FAQ etc.). [${SHAREDIR}/doc]
9553996fadSWolfram Schneider#
9653996fadSWolfram Schneider# DOCOWN	Documentation owner. [${SHAREOWN}]
9753996fadSWolfram Schneider#
9853996fadSWolfram Schneider# DOCGRP	Documentation group. [${SHAREGRP}]
9953996fadSWolfram Schneider#
10053996fadSWolfram Schneider# DOCMODE	Documentation mode. [${NOBINMODE}]
10153996fadSWolfram Schneider#
10253996fadSWolfram Schneider#
10353996fadSWolfram Schneider# INFODIR	Base path for GNU's hypertext system
10453996fadSWolfram Schneider#		called Info (see info(1)). [${SHAREDIR}/info]
10553996fadSWolfram Schneider#
10653996fadSWolfram Schneider# INFOOWN	Info owner. [${SHAREOWN}]
10753996fadSWolfram Schneider#
10853996fadSWolfram Schneider# INFOGRP	Info group. [${SHAREGRP}]
10953996fadSWolfram Schneider#
11053996fadSWolfram Schneider# INFOMODE	Info mode. [${NOBINMODE}]
11153996fadSWolfram Schneider#
11253996fadSWolfram Schneider#
11353996fadSWolfram Schneider# MANDIR	Base path for manual installation. [${SHAREDIR}/man/man]
11453996fadSWolfram Schneider#
11553996fadSWolfram Schneider# MANOWN	Manual owner. [${SHAREOWN}]
11653996fadSWolfram Schneider#
11753996fadSWolfram Schneider# MANGRP	Manual group. [${SHAREGRP}]
11853996fadSWolfram Schneider#
11953996fadSWolfram Schneider# MANMODE	Manual mode. [${NOBINMODE}]
12053996fadSWolfram Schneider#
12153996fadSWolfram Schneider#
12253996fadSWolfram Schneider# NLSDIR	Base path for National Language Support files
1238e748d82SAlexey Zelkin#		installation. [${SHAREDIR}/nls]
12453996fadSWolfram Schneider#
1257778ad49SAlexey Zelkin# NLSOWN	National Language Support files owner. [${SHAREOWN}]
12653996fadSWolfram Schneider#
1277778ad49SAlexey Zelkin# NLSGRP	National Language Support files group. [${SHAREGRP}]
12853996fadSWolfram Schneider#
12924f8e0e9SGuy Helmer# NLSMODE	National Language Support files mode. [${NOBINMODE}]
13053996fadSWolfram Schneider#
131c7d591d6SWolfram Schneider# INCLUDEDIR	Base path for standard C include files [/usr/include]
132aeb76c0bSMatthew Seaman#
133aeb76c0bSMatthew Seaman# PKG_CMD	Program for creating and manipulating packages.
134aeb76c0bSMatthew Seaman#               [pkg]
135fa8c921eSBrooks Davis#
136fa8c921eSBrooks Davis# LINKOWN	Hard link owner [${BINOWN}]
137fa8c921eSBrooks Davis#
138fa8c921eSBrooks Davis# LINKGRP	Hard link group [${BINGRP}]
139fa8c921eSBrooks Davis#
140fa8c921eSBrooks Davis# LINKMODE	Hard link mode [${NOBINMODE}]
141fa8c921eSBrooks Davis#
142fa8c921eSBrooks Davis# SYMLINKOWN	Symbolic link owner [${BINOWN} or ${LIBOWN}]
143fa8c921eSBrooks Davis#
144fa8c921eSBrooks Davis# SYMLINKGRP	Symbolic link group [${BINGRP} or ${LIBGRP}]
145fa8c921eSBrooks Davis#
146fa8c921eSBrooks Davis# SYMLINKMODE	Symbolic link mode [755]
14753996fadSWolfram Schneider
14807b10385SRuslan Ermilov.if !target(__<bsd.own.mk>__)
14907b10385SRuslan Ermilov__<bsd.own.mk>__:
15007b10385SRuslan Ermilov
151e23dd3b2SWarner Losh.include <bsd.opts.mk>		# options now here or src.opts.mk
1526a542ebeSWarner Losh
1538ef03c79SRuslan Ermilov.if !defined(_WITHOUT_SRCCONF)
1546a542ebeSWarner Losh
1556a542ebeSWarner Losh.if ${MK_CTF} != "no"
1566a542ebeSWarner LoshCTFCONVERT_CMD=	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
1576a542ebeSWarner Losh.else
158*01918855SWarner LoshCTFCONVERT_CMD=
1596a542ebeSWarner Losh.endif
1606a542ebeSWarner Losh
1616a542ebeSWarner Losh.endif # !_WITHOUT_SRCCONF
1626a542ebeSWarner Losh
16305e5545fSWolfram Schneider# Binaries
1645ecaf9a8SDavid E. O'BrienBINOWN?=	root
1655ecaf9a8SDavid E. O'BrienBINGRP?=	wheel
16605e5545fSWolfram SchneiderBINMODE?=	555
16705e5545fSWolfram SchneiderNOBINMODE?=	444
16805e5545fSWolfram Schneider
169379e8aa7SRuslan ErmilovKMODDIR?=	/boot/modules
1700099533aSJohn-Mark GurneyKMODOWN?=	${BINOWN}
1710099533aSJohn-Mark GurneyKMODGRP?=	${BINGRP}
172a9758e46SKonstantin BelousovKMODMODE?=	${NOBINMODE}
1739f78f7b2SWarner LoshDTBDIR?=	/boot/dtb
174c2f5940dSEmmanuel VadotDTBODIR?=	/boot/dtb/overlays
1759f78f7b2SWarner LoshDTBOWN?=	root
1769f78f7b2SWarner LoshDTBGRP?=	wheel
1779f78f7b2SWarner LoshDTBMODE?=	444
178599d032aSWarner LoshEFIDIR?=	/boot/efi
179599d032aSWarner LoshEFIOWN?=	root
180599d032aSWarner LoshEFIGRP?=	wheel
181599d032aSWarner LoshEFIMODE?=	555
1820099533aSJohn-Mark Gurney
183ad706c65SBryan Drewery# Use make.conf / environment LIBDIR as default if set...
184ad706c65SBryan Drewery.if !empty(_PREMK_LIBDIR)
185ad706c65SBryan DreweryLIBDIR_BASE?=	${_PREMK_LIBDIR}
186ad706c65SBryan Drewery.endif
187ad706c65SBryan Drewery# otherwise use our expected default value.
188d0ab0ec2SBryan DreweryLIBDIR_BASE?=	/usr/lib
189d0ab0ec2SBryan DreweryLIBDIR?=	${LIBDIR_BASE}
1905ea3b080SSteve PriceLIBCOMPATDIR?=	/usr/lib/compat
1915ea3b080SSteve PriceLIBDATADIR?=	/usr/libdata
19261e05fceSGiorgos KeramidasLIBEXECDIR?=	/usr/libexec
19305e5545fSWolfram SchneiderSHLIBDIR?=	${LIBDIR}
19405e5545fSWolfram SchneiderLIBOWN?=	${BINOWN}
19505e5545fSWolfram SchneiderLIBGRP?=	${BINGRP}
19605e5545fSWolfram SchneiderLIBMODE?=	${NOBINMODE}
19705e5545fSWolfram Schneider
19842f8c5b5SEd MasteDEBUGDIR?=	/usr/lib/debug
19942f8c5b5SEd MasteDEBUGMODE?=	${NOBINMODE}
20042f8c5b5SEd Maste
20105e5545fSWolfram Schneider
20205e5545fSWolfram Schneider# Share files
20305e5545fSWolfram SchneiderSHAREDIR?=	/usr/share
2045ecaf9a8SDavid E. O'BrienSHAREOWN?=	root
2055ecaf9a8SDavid E. O'BrienSHAREGRP?=	wheel
20605e5545fSWolfram SchneiderSHAREMODE?=	${NOBINMODE}
20705e5545fSWolfram Schneider
208cf78df8aSStefan EßerCONFDIR?=	/etc
209cf78df8aSStefan EßerCONFOWN?=	root
210cf78df8aSStefan EßerCONFGRP?=	wheel
211cf78df8aSStefan EßerCONFMODE?=	644
212cf78df8aSStefan Eßer
21305e5545fSWolfram SchneiderMANDIR?=	${SHAREDIR}/man/man
21405e5545fSWolfram SchneiderMANOWN?=	${SHAREOWN}
21505e5545fSWolfram SchneiderMANGRP?=	${SHAREGRP}
21605e5545fSWolfram SchneiderMANMODE?=	${NOBINMODE}
21705e5545fSWolfram Schneider
218c74ace92SBrad DavisDIROWN?=	root
219c74ace92SBrad DavisDIRGRP?=	wheel
220c74ace92SBrad DavisDIRMODE?=	755
221c74ace92SBrad Davis
22205e5545fSWolfram SchneiderDOCDIR?=	${SHAREDIR}/doc
22305e5545fSWolfram SchneiderDOCOWN?=	${SHAREOWN}
22405e5545fSWolfram SchneiderDOCGRP?=	${SHAREGRP}
22505e5545fSWolfram SchneiderDOCMODE?=	${NOBINMODE}
22605e5545fSWolfram Schneider
22705e5545fSWolfram SchneiderINFODIR?=	${SHAREDIR}/info
22805e5545fSWolfram SchneiderINFOOWN?=	${SHAREOWN}
22905e5545fSWolfram SchneiderINFOGRP?=	${SHAREGRP}
23005e5545fSWolfram SchneiderINFOMODE?=	${NOBINMODE}
23105e5545fSWolfram Schneider
23205e5545fSWolfram SchneiderNLSDIR?=	${SHAREDIR}/nls
2337778ad49SAlexey ZelkinNLSOWN?=	${SHAREOWN}
2347778ad49SAlexey ZelkinNLSGRP?=	${SHAREGRP}
23524f8e0e9SGuy HelmerNLSMODE?=	${NOBINMODE}
23605e5545fSWolfram Schneider
237c7d591d6SWolfram SchneiderINCLUDEDIR?=	/usr/include
238c7d591d6SWolfram Schneider
23912dd8cb1SBrooks Davis#
24012dd8cb1SBrooks Davis# install(1) parameters.
24112dd8cb1SBrooks Davis#
242fa8c921eSBrooks Davis_LINKOWN?=	${LINKOWN:U${BINOWN}}
243fa8c921eSBrooks Davis_LINKGRP?=	${LINKGRP:U${BINGRP}}
244fa8c921eSBrooks Davis_LINKMODE?=	${LINKMODE:U${NOBINMODE}}
245fa8c921eSBrooks Davis_SYMLINKOWN?=	${SYMLINKOWN:U${BINOWN}}
246fa8c921eSBrooks Davis_SYMLINKGRP?=	${SYMLINKGRP:U${BINGRP}}
247fa8c921eSBrooks Davis_SYMLINKMODE?=	${SYMLINKMODE:U755}
24855f35c53SWarner LoshHRDLINK?=	-l mr -o ${_LINKOWN} -g ${_LINKGRP} -m ${_LINKMODE}
249fa8c921eSBrooks DavisMANHRDLINK?=	-l h -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
250fa8c921eSBrooks DavisSYMLINK?=	-l s -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE}
251fa8c921eSBrooks DavisLSYMLINK?=	-l s -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE}
252fa8c921eSBrooks DavisRSYMLINK?=	-l rs -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE}
25312dd8cb1SBrooks Davis
25412dd8cb1SBrooks DavisINSTALL_LINK?=		${INSTALL} ${HRDLINK}
255fa8c921eSBrooks DavisINSTALL_MANLINK?=	${INSTALL} ${MANHRDLINK}
25612dd8cb1SBrooks DavisINSTALL_SYMLINK?=	${INSTALL} ${SYMLINK}
257fa8c921eSBrooks DavisINSTALL_LIBSYMLINK?=	${INSTALL} ${LSYMLINK}
258af38028dSBaptiste DaroussinINSTALL_RSYMLINK?=	${INSTALL} ${RSYMLINK}
25912dd8cb1SBrooks Davis
26005e5545fSWolfram Schneider# Common variables
261fe670e46SRuslan Ermilov.if !defined(DEBUG_FLAGS)
262fe670e46SRuslan ErmilovSTRIP?=		-s
263fe670e46SRuslan Ermilov.endif
264fe670e46SRuslan Ermilov
265fcf12081SJessica ClarkeTAR_CMD?=	tar
266fcf12081SJessica Clarke
2678d17ea52SBruce EvansCOMPRESS_CMD?=	gzip -cn
268f7ea12a0SWolfram SchneiderCOMPRESS_EXT?=	.gz
26907b10385SRuslan Ermilov
270bd9cab6fSRui Paulo# Set XZ_THREADS to 1 to disable multi-threading.
271bd9cab6fSRui PauloXZ_THREADS?=	0
272bd9cab6fSRui Paulo
273bd9cab6fSRui Paulo.if !empty(XZ_THREADS)
274bd9cab6fSRui PauloXZ_CMD?=	xz -T ${XZ_THREADS}
275bd9cab6fSRui Paulo.else
276bd9cab6fSRui PauloXZ_CMD?=	xz
277bd9cab6fSRui Paulo.endif
278bd9cab6fSRui Paulo
279aeb76c0bSMatthew SeamanPKG_CMD?=	pkg
280aeb76c0bSMatthew Seaman
2815e6f3a8eSRui Paulo# Pointer to the top directory into which tests are installed.  Should not be
282f324fafcSEitan Adler# overridden by Makefiles, but the user may choose to set this in src.conf(5).
2835e6f3a8eSRui PauloTESTSBASE?= /usr/tests
2845e6f3a8eSRui Paulo
285a2835556SBryan DreweryDEPENDFILE?=	.depend
286a2835556SBryan Drewery
287b946beddSWarner Losh# Compat for the moment -- old bsd.own.mk only included this when _WITHOUT_SRCCONF
288b946beddSWarner Losh# wasn't defined. bsd.ports.mk and friends depend on this behavior. Remove in 12.
289b946beddSWarner Losh.if !defined(_WITHOUT_SRCCONF)
290c6063d0dSWarner Losh.include <bsd.compiler.mk>
291b946beddSWarner Losh.endif # !_WITHOUT_SRCCONF
292c6063d0dSWarner Losh
29384aac273SHartmut Brandt.endif	# !target(__<bsd.own.mk>__)
294