1 1.37 mycroft # $NetBSD: bsd.subdir.mk,v 1.37 2000/06/06 06:49:39 mycroft Exp $ 2 1.14 mikel # @(#)bsd.subdir.mk 8.1 (Berkeley) 6/8/93 3 1.1 cgd 4 1.27 mycroft .if !target(__initialized__) 5 1.27 mycroft __initialized__: 6 1.27 mycroft .if exists(${.CURDIR}/../Makefile.inc) 7 1.27 mycroft .include "${.CURDIR}/../Makefile.inc" 8 1.27 mycroft .endif 9 1.13 christos .include <bsd.own.mk> 10 1.27 mycroft .MAIN: all 11 1.3 mycroft .endif 12 1.1 cgd 13 1.25 mycroft .for dir in ${SUBDIR} 14 1.25 mycroft .if exists(${dir}.${MACHINE}) 15 1.25 mycroft __REALSUBDIR+=${dir}.${MACHINE} 16 1.25 mycroft .else 17 1.25 mycroft __REALSUBDIR+=${dir} 18 1.25 mycroft .endif 19 1.25 mycroft .endfor 20 1.1 cgd 21 1.34 mrg .if defined(DESTDIR) && exists(${DESTDIR}/usr/share/mk/sys.mk) 22 1.33 mrg _M=-m ${DESTDIR}/usr/share/mk 23 1.33 mrg .else 24 1.33 mrg _M= 25 1.33 mrg .endif 26 1.33 mrg 27 1.35 mycroft __recurse: .USE 28 1.36 mycroft @targ=${.TARGET:C/-.*$//};dir=${.TARGET:C/^[^-]*-//}; \ 29 1.35 mycroft case "$$dir" in /*) \ 30 1.35 mycroft echo "$$targ ===> $$dir"; \ 31 1.35 mycroft cd "$$dir"; \ 32 1.35 mycroft ${MAKE} ${_M} "_THISDIR_=$$dir/" $$targ; \ 33 1.35 mycroft ;; \ 34 1.35 mycroft *) \ 35 1.35 mycroft echo "$$targ ===> ${_THISDIR_}$$dir"; \ 36 1.35 mycroft cd "${.CURDIR}/$$dir"; \ 37 1.35 mycroft ${MAKE} ${_M} "_THISDIR_=${_THISDIR_}$$dir/" $$targ; \ 38 1.35 mycroft ;; \ 39 1.35 mycroft esac 40 1.35 mycroft 41 1.35 mycroft .for targ in ${TARGETS} 42 1.25 mycroft .for dir in ${__REALSUBDIR} 43 1.17 mycroft .PHONY: ${targ}-${dir} 44 1.35 mycroft ${targ}-${dir}: .MAKE __recurse 45 1.37 mycroft subdir-${targ}: ${targ}-${dir} 46 1.17 mycroft .endfor 47 1.37 mycroft ${targ}: subdir-${targ} 48 1.12 cgd .endfor 49 1.21 christos 50 1.26 mycroft # Make sure all of the standard targets are defined, even if they do nothing. 51 1.26 mycroft ${TARGETS}: 52