Return to bsd.subdir.mk CVS log | Up to [local] / src / share / mk |
File: [local] / src / share / mk / bsd.subdir.mk (download)
Revision 1.17, Sun Apr 8 15:56:28 2012 UTC (12 years, 2 months ago) by jsg
unhook lint from the tree. The parser is incomplete and difficult to fix and there are several alternatives that don't tell quite so many dangerous lies. enthusiastic agreement from a bunch of people |
# $OpenBSD: bsd.subdir.mk,v 1.17 2012/04/08 15:56:28 jsg Exp $ # $NetBSD: bsd.subdir.mk,v 1.11 1996/04/04 02:05:06 jtc Exp $ # @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 .if !target(.MAIN) .MAIN: all .endif # Make sure this is defined SKIPDIR?= _SUBDIRUSE: .USE .if defined(SUBDIR) @for entry in ${SUBDIR}; do \ (set -e; if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \ _newdir_="$${entry}.${MACHINE}"; \ else \ _newdir_="$${entry}"; \ fi; \ if test X"${_THISDIR_}" = X""; then \ _nextdir_="$${_newdir_}"; \ else \ _nextdir_="$${_THISDIR_}/$${_newdir_}"; \ fi; \ _makefile_spec_=""; \ if [ -e ${.CURDIR}/$${_newdir_}/Makefile.bsd-wrapper ]; then \ _makefile_spec_="-f Makefile.bsd-wrapper"; \ fi; \ subskipdir=''; \ for skipdir in ${SKIPDIR}; do \ subentry=$${skipdir#$${entry}}; \ if [ X$${subentry} != X$${skipdir} ]; then \ if [ X$${subentry} = X ]; then \ echo "($${_nextdir_} skipped)"; \ break; \ fi; \ subskipdir="$${subskipdir} $${subentry#/}"; \ fi; \ done; \ if [ X$${skipdir} = X -o X$${subentry} != X ]; then \ echo "===> $${_nextdir_}"; \ cd ${.CURDIR}/$${_newdir_}; \ exec ${MAKE} SKIPDIR="$${subskipdir}" \ $${_makefile_spec_} _THISDIR_="$${_nextdir_}" \ ${MAKE_FLAGS} \ ${.TARGET:S/realinstall/install/:S/subdirdepend/depend/}; \ fi); \ done ${SUBDIR}:: @set -e; if test -d ${.CURDIR}/${.TARGET}.${MACHINE}; then \ _newdir_=${.TARGET}.${MACHINE}; \ else \ _newdir_=${.TARGET}; \ fi; \ _makefile_spec_=""; \ if [ -f ${.CURDIR}/$${_newdir_}/Makefile.bsd-wrapper ]; then \ _makefile_spec_="-f Makefile.bsd-wrapper"; \ fi; \ echo "===> $${_newdir_}"; \ cd ${.CURDIR}/$${_newdir_}; \ exec ${MAKE} ${MAKE_FLAGS} $${_makefile_spec_} _THISDIR_="$${_newdir_}" all .endif .if !target(install) . if !target(beforeinstall) beforeinstall: . endif . if !target(afterinstall) afterinstall: . endif install: maninstall maninstall: afterinstall afterinstall: realinstall realinstall: beforeinstall _SUBDIRUSE .endif .for t in all clean cleandir includes depend obj tags regress . if !target($t) $t: _SUBDIRUSE . endif .endfor .if !defined(BSD_OWN_MK) . include <bsd.own.mk> .endif