1105980Stjr# $FreeBSD$
2105980Stjr
3105980Stjr.if !target(__<bsd.init.mk>__)
4105980Stjr.error bsd.files.mk cannot be included directly.
5105980Stjr.endif
6105980Stjr
7105980StjrFILESGROUPS?=	FILES
8105980Stjr
9105980Stjr.if !target(buildfiles)
10105980Stjr.for group in ${FILESGROUPS}
11105980Stjrbuildfiles: ${${group}}
12105980Stjr.endfor
13105980Stjr.endif
14105980Stjr
15105980Stjrall: buildfiles
16105980Stjr
17105980Stjr.if !target(installfiles)
18105980Stjr.for group in ${FILESGROUPS}
19105980Stjr.if defined(${group}) && !empty(${group})
20105980Stjr
21105980Stjr${group}OWN?=	${SHAREOWN}
22105980Stjr${group}GRP?=	${SHAREGRP}
23105980Stjr${group}MODE?=	${SHAREMODE}
24105980Stjr${group}DIR?=	${BINDIR}
25105980Stjr
26105980Stjr_${group}FILES=
27105980Stjr.for file in ${${group}}
28105980Stjr.if defined(${group}OWN_${file:T}) || defined(${group}GRP_${file:T}) || \
29105980Stjr    defined(${group}MODE_${file:T}) || defined(${group}DIR_${file:T}) || \
30105980Stjr    defined(${group}NAME_${file:T})
31105980Stjr${group}OWN_${file:T}?=	${${group}OWN}
32105980Stjr${group}GRP_${file:T}?=	${${group}GRP}
33105980Stjr${group}MODE_${file:T}?=	${${group}MODE}
34105980Stjr${group}DIR_${file:T}?=	${${group}DIR}
35105980Stjr.if defined(${group}NAME)
36105980Stjr${group}NAME_${file:T}?=	${${group}NAME}
37105980Stjr.else
38105980Stjr${group}NAME_${file:T}?=	${file:T}
39105980Stjr.endif
40105980Stjrinstallfiles: _${group}INS_${file:T}
41105980Stjr_${group}INS_${file:T}: ${file}
42105980Stjr	${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
43105980Stjr	    -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
44105980Stjr	    ${.ALLSRC} \
45105980Stjr	    ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
46290532Sngie.else
47290532Sngie_${group}FILES+= ${file}
48290532Sngie.endif
49290532Sngie.endfor
50105980Stjr.if !empty(_${group}FILES)
51105980Stjrinstallfiles: _${group}INS
52105980Stjr_${group}INS: ${_${group}FILES}
53105980Stjr.if defined(${group}NAME)
54105980Stjr	${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
55105980Stjr	    -m ${${group}MODE} ${.ALLSRC} \
56105980Stjr	    ${DESTDIR}${${group}DIR}/${${group}NAME}
57105980Stjr.else
58105980Stjr	${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
59105980Stjr	    -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
60105980Stjr.endif
61105980Stjr.endif
62105980Stjr
63105980Stjr.endif # defined(${group}) && !empty(${group})
64105980Stjr.endfor
65105980Stjr
66290532Sngie.endif # !target(installfiles)
67105980Stjr
68290532Sngierealinstall: installfiles
69290532Sngie.ORDER: beforeinstall installfiles
70290532Sngie