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