196462Sru# $FreeBSD$
296462Sru
396462Sru.if !target(__<bsd.init.mk>__)
496462Sru.error bsd.incs.mk cannot be included directly.
596462Sru.endif
696462Sru
7156813Sru.if !defined(NO_INCS) && ${MK_TOOLCHAIN} != "no"
8155264Sru
996462SruINCSGROUPS?=	INCS
1096462Sru
1196668Sru.if !target(buildincludes)
1296462Sru.for group in ${INCSGROUPS}
1396668Srubuildincludes: ${${group}}
1496462Sru.endfor
1596462Sru.endif
1696462Sru
1796668Sruall: buildincludes
1896462Sru
1996668Sru.if !target(installincludes)
2096462Sru.for group in ${INCSGROUPS}
2196462Sru.if defined(${group}) && !empty(${group})
2296462Sru
2396462Sru${group}OWN?=	${BINOWN}
2496462Sru${group}GRP?=	${BINGRP}
2596462Sru${group}MODE?=	${NOBINMODE}
2696462Sru${group}DIR?=	${INCLUDEDIR}
2796462Sru
2896462Sru_${group}INCS=
2996462Sru.for header in ${${group}}
3096462Sru.if defined(${group}OWN_${header:T}) || defined(${group}GRP_${header:T}) || \
3196462Sru    defined(${group}MODE_${header:T}) || defined(${group}DIR_${header:T}) || \
3296462Sru    defined(${group}NAME_${header:T})
3396462Sru${group}OWN_${header:T}?=	${${group}OWN}
3496462Sru${group}GRP_${header:T}?=	${${group}GRP}
3596462Sru${group}MODE_${header:T}?=	${${group}MODE}
3696462Sru${group}DIR_${header:T}?=	${${group}DIR}
3796462Sru.if defined(${group}NAME)
3896462Sru${group}NAME_${header:T}?=	${${group}NAME}
3996462Sru.else
4096462Sru${group}NAME_${header:T}?=	${header:T}
4196462Sru.endif
4296668Sruinstallincludes: _${group}INS_${header:T}
4396462Sru_${group}INS_${header:T}: ${header}
4496462Sru	${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
4596462Sru	    -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
4696462Sru	    ${.ALLSRC} \
4796462Sru	    ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
4896462Sru.else
4996462Sru_${group}INCS+= ${header}
5096462Sru.endif
5196462Sru.endfor
5296462Sru.if !empty(_${group}INCS)
5396668Sruinstallincludes: _${group}INS
5496462Sru_${group}INS: ${_${group}INCS}
5596462Sru.if defined(${group}NAME)
5696462Sru	${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
5796462Sru	    ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
5896462Sru.else
5996462Sru	${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
6096462Sru	    ${.ALLSRC} ${DESTDIR}${${group}DIR}
6196462Sru.endif
6296462Sru.endif
6396462Sru
64144893Sharti.endif # defined(${group}) && !empty(${group})
6596462Sru.endfor
6696462Sru
6796462Sru.if defined(INCSLINKS) && !empty(INCSLINKS)
6896668Sruinstallincludes:
6996462Sru	@set ${INCSLINKS}; \
7096462Sru	while test $$# -ge 2; do \
7196462Sru		l=$$1; \
7296462Sru		shift; \
7396462Sru		t=${DESTDIR}$$1; \
7496462Sru		shift; \
7596462Sru		${ECHO} $$t -\> $$l; \
76245752Sbrooks		${INSTALL_SYMLINK} $$l $$t; \
7796462Sru	done; true
7896462Sru.endif
79144893Sharti.endif # !target(installincludes)
8096668Sru
8196668Srurealinstall: installincludes
8299343Sru.ORDER: beforeinstall installincludes
83155264Sru
84156813Sru.endif # !defined(NO_INCS) && ${MK_TOOLCHAIN} != "no"
85