xref: /freebsd/share/mk/bsd.files.mk (revision 144c4421)
1af2dc868SRuslan Ermilov# $FreeBSD$
2af2dc868SRuslan Ermilov
3af2dc868SRuslan Ermilov.if !target(__<bsd.init.mk>__)
4af2dc868SRuslan Ermilov.error bsd.files.mk cannot be included directly.
5af2dc868SRuslan Ermilov.endif
6af2dc868SRuslan Ermilov
7ada17d7bSJulio Merino.if !target(__<bsd.files.mk>__)
8ada17d7bSJulio Merino__<bsd.files.mk>__:
9ada17d7bSJulio Merino
10af2dc868SRuslan ErmilovFILESGROUPS?=	FILES
11af2dc868SRuslan Ermilov
12af2dc868SRuslan Ermilov.for group in ${FILESGROUPS}
13af2dc868SRuslan Ermilovbuildfiles: ${${group}}
14af2dc868SRuslan Ermilov.endfor
15af2dc868SRuslan Ermilov
16af2dc868SRuslan Ermilovall: buildfiles
17af2dc868SRuslan Ermilov
18af2dc868SRuslan Ermilov.for group in ${FILESGROUPS}
19af2dc868SRuslan Ermilov.if defined(${group}) && !empty(${group})
20cb56d4a8SRui Pauloinstallfiles: installfiles-${group}
21af2dc868SRuslan Ermilov
22af2dc868SRuslan Ermilov${group}OWN?=	${SHAREOWN}
23af2dc868SRuslan Ermilov${group}GRP?=	${SHAREGRP}
24af2dc868SRuslan Ermilov${group}MODE?=	${SHAREMODE}
25af2dc868SRuslan Ermilov${group}DIR?=	${BINDIR}
26af2dc868SRuslan Ermilov
27144c4421SBaptiste Daroussin.if defined(NO_ROOT)
28144c4421SBaptiste Daroussin.if !defined(${group}TAGS) || ! ${${group}TAGS:Mpackage=*}
29144c4421SBaptiste Daroussin${group}TAGS+=		package=${${group}PACKAGE:Uruntime}
30144c4421SBaptiste Daroussin.endif
31144c4421SBaptiste Daroussin${group}TAG_ARGS=	-T ${${group}TAGS:[*]:S/ /,/g}
32144c4421SBaptiste Daroussin.endif
33144c4421SBaptiste Daroussin
34144c4421SBaptiste Daroussin
35af2dc868SRuslan Ermilov_${group}FILES=
36af2dc868SRuslan Ermilov.for file in ${${group}}
37af2dc868SRuslan Ermilov.if defined(${group}OWN_${file:T}) || defined(${group}GRP_${file:T}) || \
38af2dc868SRuslan Ermilov    defined(${group}MODE_${file:T}) || defined(${group}DIR_${file:T}) || \
39af2dc868SRuslan Ermilov    defined(${group}NAME_${file:T})
40af2dc868SRuslan Ermilov${group}OWN_${file:T}?=	${${group}OWN}
41af2dc868SRuslan Ermilov${group}GRP_${file:T}?=	${${group}GRP}
42af2dc868SRuslan Ermilov${group}MODE_${file:T}?=	${${group}MODE}
43af2dc868SRuslan Ermilov${group}DIR_${file:T}?=	${${group}DIR}
44af2dc868SRuslan Ermilov.if defined(${group}NAME)
45af2dc868SRuslan Ermilov${group}NAME_${file:T}?=	${${group}NAME}
46af2dc868SRuslan Ermilov.else
47af2dc868SRuslan Ermilov${group}NAME_${file:T}?=	${file:T}
48af2dc868SRuslan Ermilov.endif
49cb56d4a8SRui Pauloinstallfiles-${group}: _${group}INS_${file:T}
50af2dc868SRuslan Ermilov_${group}INS_${file:T}: ${file}
51144c4421SBaptiste Daroussin	${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${.ALLSRC:T}} \
52af2dc868SRuslan Ermilov	    -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
53af2dc868SRuslan Ermilov	    ${.ALLSRC} \
54af2dc868SRuslan Ermilov	    ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
55af2dc868SRuslan Ermilov.else
56af2dc868SRuslan Ermilov_${group}FILES+= ${file}
57af2dc868SRuslan Ermilov.endif
58af2dc868SRuslan Ermilov.endfor
59af2dc868SRuslan Ermilov.if !empty(_${group}FILES)
60cb56d4a8SRui Pauloinstallfiles-${group}: _${group}INS
61af2dc868SRuslan Ermilov_${group}INS: ${_${group}FILES}
62af2dc868SRuslan Ermilov.if defined(${group}NAME)
63144c4421SBaptiste Daroussin	${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
64af2dc868SRuslan Ermilov	    -m ${${group}MODE} ${.ALLSRC} \
65af2dc868SRuslan Ermilov	    ${DESTDIR}${${group}DIR}/${${group}NAME}
66af2dc868SRuslan Ermilov.else
67144c4421SBaptiste Daroussin	${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
68af2dc868SRuslan Ermilov	    -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
69af2dc868SRuslan Ermilov.endif
70af2dc868SRuslan Ermilov.endif
71af2dc868SRuslan Ermilov
7284aac273SHartmut Brandt.endif # defined(${group}) && !empty(${group})
73af2dc868SRuslan Ermilov.endfor
74af2dc868SRuslan Ermilov
75af2dc868SRuslan Ermilovrealinstall: installfiles
76badb7c1cSRuslan Ermilov.ORDER: beforeinstall installfiles
77ada17d7bSJulio Merino
78ada17d7bSJulio Merino.endif # !target(__<bsd.files.mk>__)
79