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 7af2dc868SRuslan ErmilovFILESGROUPS?= FILES 8af2dc868SRuslan Ermilov 9af2dc868SRuslan Ermilov.if !target(buildfiles) 10af2dc868SRuslan Ermilov.for group in ${FILESGROUPS} 11af2dc868SRuslan Ermilovbuildfiles: ${${group}} 12af2dc868SRuslan Ermilov.endfor 13af2dc868SRuslan Ermilov.endif 14af2dc868SRuslan Ermilov 15af2dc868SRuslan Ermilovall: buildfiles 16af2dc868SRuslan Ermilov 17af2dc868SRuslan Ermilov.if !target(installfiles) 18af2dc868SRuslan Ermilov.for group in ${FILESGROUPS} 19af2dc868SRuslan Ermilov.if defined(${group}) && !empty(${group}) 20af2dc868SRuslan Ermilov 21af2dc868SRuslan Ermilov${group}OWN?= ${SHAREOWN} 22af2dc868SRuslan Ermilov${group}GRP?= ${SHAREGRP} 23af2dc868SRuslan Ermilov${group}MODE?= ${SHAREMODE} 24af2dc868SRuslan Ermilov${group}DIR?= ${BINDIR} 25af2dc868SRuslan Ermilov 26af2dc868SRuslan Ermilov_${group}FILES= 27af2dc868SRuslan Ermilov.for file in ${${group}} 28af2dc868SRuslan Ermilov.if defined(${group}OWN_${file:T}) || defined(${group}GRP_${file:T}) || \ 29af2dc868SRuslan Ermilov defined(${group}MODE_${file:T}) || defined(${group}DIR_${file:T}) || \ 30af2dc868SRuslan Ermilov defined(${group}NAME_${file:T}) 31af2dc868SRuslan Ermilov${group}OWN_${file:T}?= ${${group}OWN} 32af2dc868SRuslan Ermilov${group}GRP_${file:T}?= ${${group}GRP} 33af2dc868SRuslan Ermilov${group}MODE_${file:T}?= ${${group}MODE} 34af2dc868SRuslan Ermilov${group}DIR_${file:T}?= ${${group}DIR} 35af2dc868SRuslan Ermilov.if defined(${group}NAME) 36af2dc868SRuslan Ermilov${group}NAME_${file:T}?= ${${group}NAME} 37af2dc868SRuslan Ermilov.else 38af2dc868SRuslan Ermilov${group}NAME_${file:T}?= ${file:T} 39af2dc868SRuslan Ermilov.endif 40af2dc868SRuslan Ermilovinstallfiles: _${group}INS_${file:T} 41af2dc868SRuslan Ermilov_${group}INS_${file:T}: ${file} 42d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \ 43af2dc868SRuslan Ermilov -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \ 44af2dc868SRuslan Ermilov ${.ALLSRC} \ 45af2dc868SRuslan Ermilov ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}} 46af2dc868SRuslan Ermilov.else 47af2dc868SRuslan Ermilov_${group}FILES+= ${file} 48af2dc868SRuslan Ermilov.endif 49af2dc868SRuslan Ermilov.endfor 50af2dc868SRuslan Ermilov.if !empty(_${group}FILES) 51af2dc868SRuslan Ermilovinstallfiles: _${group}INS 52af2dc868SRuslan Ermilov_${group}INS: ${_${group}FILES} 53af2dc868SRuslan Ermilov.if defined(${group}NAME) 54d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ 55af2dc868SRuslan Ermilov -m ${${group}MODE} ${.ALLSRC} \ 56af2dc868SRuslan Ermilov ${DESTDIR}${${group}DIR}/${${group}NAME} 57af2dc868SRuslan Ermilov.else 58d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ 59af2dc868SRuslan Ermilov -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR} 60af2dc868SRuslan Ermilov.endif 61af2dc868SRuslan Ermilov.endif 62af2dc868SRuslan Ermilov 6384aac273SHartmut Brandt.endif # defined(${group}) && !empty(${group}) 64af2dc868SRuslan Ermilov.endfor 65af2dc868SRuslan Ermilov 6684aac273SHartmut Brandt.endif # !target(installfiles) 67af2dc868SRuslan Ermilov 68af2dc868SRuslan Ermilovrealinstall: installfiles 69badb7c1cSRuslan Ermilov.ORDER: beforeinstall installfiles 70