Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/share/mk/bsd.subdir.mk,v rcsdiff: /ftp/cvs/cvsroot/src/share/mk/bsd.subdir.mk,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.34 retrieving revision 1.35 diff -u -p -r1.34 -r1.35 --- src/share/mk/bsd.subdir.mk 2000/04/16 08:37:27 1.34 +++ src/share/mk/bsd.subdir.mk 2000/06/06 05:33:58 1.35 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.subdir.mk,v 1.34 2000/04/16 08:37:27 mrg Exp $ +# $NetBSD: bsd.subdir.mk,v 1.35 2000/06/06 05:33:58 mycroft Exp $ # @(#)bsd.subdir.mk 8.1 (Berkeley) 6/8/93 .if !target(__initialized__) @@ -24,23 +24,25 @@ _M=-m ${DESTDIR}/usr/share/mk _M= .endif -.for dir in ${__REALSUBDIR} +__recurse: .USE + @targ=${.TARGET:C/-.*//};dir=${.TARGET:C/.*-//}; \ + case "$$dir" in /*) \ + echo "$$targ ===> $$dir"; \ + cd "$$dir"; \ + ${MAKE} ${_M} "_THISDIR_=$$dir/" $$targ; \ + ;; \ + *) \ + echo "$$targ ===> ${_THISDIR_}$$dir"; \ + cd "${.CURDIR}/$$dir"; \ + ${MAKE} ${_M} "_THISDIR_=${_THISDIR_}$$dir/" $$targ; \ + ;; \ + esac + .for targ in ${TARGETS} +.for dir in ${__REALSUBDIR} .PHONY: ${targ}-${dir} -${targ}-${dir}: .MAKE - @case "${dir}" in /*) \ - echo "${targ} ===> ${dir}"; \ - cd ${dir}; \ - ${MAKE} ${_M} "_THISDIR_=${dir}/" ${targ}; \ - ;; \ - *) \ - echo "${targ} ===> ${_THISDIR_}${dir}"; \ - cd ${.CURDIR}/${dir}; \ - ${MAKE} ${_M} "_THISDIR_=${_THISDIR_}${dir}/" ${targ}; \ - ;; \ - esac -subdir-${targ}: ${targ}-${dir} -${targ}: subdir-${targ} +${targ}-${dir}: .MAKE __recurse +${targ}: ${targ}-${dir} .endfor .endfor