1#	$NetBSD: bsd.subdir.mk,v 1.56 2022/07/10 21:32:09 rillig Exp $
2#	@(#)bsd.subdir.mk	8.1 (Berkeley) 6/8/93
3
4.include <bsd.init.mk>
5
6.if !defined(NOSUBDIR)					# {
7
8.for dir in ${SUBDIR}
9.if ${dir} != ".WAIT" && exists(${.CURDIR}/${dir}.${MACHINE})
10__REALSUBDIR+=${dir}.${MACHINE}
11.else
12__REALSUBDIR+=${dir}
13.endif
14.endfor
15
16.if ${MKGROFF} == "yes"
17__REALSUBDIR+=${SUBDIR.roff}
18.endif
19
20__recurse: .USE
21	@${MAKEDIRTARGET} ${.TARGET:C/^[^-]*-//} ${.TARGET:C/-.*$//}
22
23.if make(cleandir)
24__RECURSETARG=	${TARGETS:Nclean}
25clean:
26.else
27__RECURSETARG=	${TARGETS}
28.endif
29
30.for targ in ${__RECURSETARG}
31.for dir in ${__REALSUBDIR}
32.if ${dir} == ".WAIT"
33SUBDIR_${targ}+= .WAIT
34.elif !commands(${targ}-${dir})
35${targ}-${dir}: .PHONY .MAKE __recurse
36SUBDIR_${targ}+= ${targ}-${dir}
37.endif
38.endfor
39subdir-${targ}: .PHONY ${SUBDIR_${targ}}
40${targ}: subdir-${targ}
41.endfor
42
43.endif	# ! NOSUBDIR					# }
44
45${TARGETS}:	# ensure existence
46