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} 257750ad47SMarcel Moolenaar.if !make(buildincludes) 267750ad47SMarcel MoolenaarSTAGE_SETS+= ${group} 277750ad47SMarcel Moolenaar.endif 287750ad47SMarcel MoolenaarSTAGE_DIR.${group}= ${STAGE_OBJTOP}${${group}DIR} 29af2dc868SRuslan Ermilov 30af2dc868SRuslan Ermilov_${group}FILES= 31af2dc868SRuslan Ermilov.for file in ${${group}} 32af2dc868SRuslan Ermilov.if defined(${group}OWN_${file:T}) || defined(${group}GRP_${file:T}) || \ 33af2dc868SRuslan Ermilov defined(${group}MODE_${file:T}) || defined(${group}DIR_${file:T}) || \ 34af2dc868SRuslan Ermilov defined(${group}NAME_${file:T}) 35af2dc868SRuslan Ermilov${group}OWN_${file:T}?= ${${group}OWN} 36af2dc868SRuslan Ermilov${group}GRP_${file:T}?= ${${group}GRP} 37af2dc868SRuslan Ermilov${group}MODE_${file:T}?= ${${group}MODE} 38af2dc868SRuslan Ermilov${group}DIR_${file:T}?= ${${group}DIR} 39af2dc868SRuslan Ermilov.if defined(${group}NAME) 40af2dc868SRuslan Ermilov${group}NAME_${file:T}?= ${${group}NAME} 41af2dc868SRuslan Ermilov.else 42af2dc868SRuslan Ermilov${group}NAME_${file:T}?= ${file:T} 43af2dc868SRuslan Ermilov.endif 447750ad47SMarcel Moolenaar.if !make(buildincludes) 457750ad47SMarcel MoolenaarSTAGE_AS_SETS+= ${group} 467750ad47SMarcel Moolenaar.endif 477750ad47SMarcel MoolenaarSTAGE_AS_${file:T}= ${${group}NAME_${file:T}} 487750ad47SMarcel Moolenaarstage_as.${group}: ${file} 497750ad47SMarcel Moolenaar 50af2dc868SRuslan Ermilovinstallfiles: _${group}INS_${file:T} 51af2dc868SRuslan Ermilov_${group}INS_${file:T}: ${file} 52d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \ 53af2dc868SRuslan Ermilov -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \ 54af2dc868SRuslan Ermilov ${.ALLSRC} \ 55af2dc868SRuslan Ermilov ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}} 56af2dc868SRuslan Ermilov.else 57af2dc868SRuslan Ermilov_${group}FILES+= ${file} 58af2dc868SRuslan Ermilov.endif 59af2dc868SRuslan Ermilov.endfor 60af2dc868SRuslan Ermilov.if !empty(_${group}FILES) 617750ad47SMarcel Moolenaarstage_files.${group}: ${_${group}FILES} 627750ad47SMarcel Moolenaar 63af2dc868SRuslan Ermilovinstallfiles: _${group}INS 64af2dc868SRuslan Ermilov_${group}INS: ${_${group}FILES} 65af2dc868SRuslan Ermilov.if defined(${group}NAME) 66d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ 67af2dc868SRuslan Ermilov -m ${${group}MODE} ${.ALLSRC} \ 68af2dc868SRuslan Ermilov ${DESTDIR}${${group}DIR}/${${group}NAME} 69af2dc868SRuslan Ermilov.else 70d2893b16SRuslan Ermilov ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \ 71af2dc868SRuslan Ermilov -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR} 72af2dc868SRuslan Ermilov.endif 73af2dc868SRuslan Ermilov.endif 74af2dc868SRuslan Ermilov 7584aac273SHartmut Brandt.endif # defined(${group}) && !empty(${group}) 76af2dc868SRuslan Ermilov.endfor 77af2dc868SRuslan Ermilov 7884aac273SHartmut Brandt.endif # !target(installfiles) 79af2dc868SRuslan Ermilov 80af2dc868SRuslan Ermilovrealinstall: installfiles 81badb7c1cSRuslan Ermilov.ORDER: beforeinstall installfiles 827750ad47SMarcel Moolenaar 837750ad47SMarcel Moolenaar.if ${MK_STAGING} != "no" 847750ad47SMarcel Moolenaar.if !empty(STAGE_SETS) 857750ad47SMarcel Moolenaarbuildfiles: stage_files 867750ad47SMarcel Moolenaar.if !empty(STAGE_AS_SETS) 877750ad47SMarcel Moolenaarbuildfiles: stage_as 887750ad47SMarcel Moolenaar.endif 897750ad47SMarcel Moolenaar.endif 907750ad47SMarcel Moolenaar.endif 91