Use the '+' flag to make make recurse into sub-directories even when

given -n. For POLA reasons this behaviour is switched on only when
at least two -n flags are given to make. One -n flag keeps the old behaviour
of showing the shell command that would recurse into the sub-directories.

Discussed with: ru
This commit is contained in:
Hartmut Brandt 2004-08-09 10:54:05 +00:00
parent e62200e75a
commit acabf29a1b
2 changed files with 11 additions and 5 deletions

View File

@ -35,14 +35,14 @@ DISTRIBUTION?= base
.if !target(distribute) .if !target(distribute)
distribute: distribute:
.for dist in ${DISTRIBUTION} .for dist in ${DISTRIBUTION}
cd ${.CURDIR}; \ ${_+_}cd ${.CURDIR}; \
${MAKE} install -DNO_SUBDIR DESTDIR=${DISTDIR}/${dist} SHARED=copies ${MAKE} install -DNO_SUBDIR DESTDIR=${DISTDIR}/${dist} SHARED=copies
.endfor .endfor
.endif .endif
_SUBDIR: .USE _SUBDIR: .USE
.if defined(SUBDIR) && !empty(SUBDIR) && !defined(NO_SUBDIR) .if defined(SUBDIR) && !empty(SUBDIR) && !defined(NO_SUBDIR)
@for entry in ${SUBDIR}; do \ @${_+_}for entry in ${SUBDIR}; do \
if test -d ${.CURDIR}/$${entry}.${MACHINE_ARCH}; then \ if test -d ${.CURDIR}/$${entry}.${MACHINE_ARCH}; then \
${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE_ARCH}"; \ ${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE_ARCH}"; \
edir=$${entry}.${MACHINE_ARCH}; \ edir=$${entry}.${MACHINE_ARCH}; \
@ -58,12 +58,12 @@ _SUBDIR: .USE
.endif .endif
${SUBDIR}:: ${SUBDIR}::
@if test -d ${.TARGET}.${MACHINE_ARCH}; then \ ${_+_}@if test -d ${.TARGET}.${MACHINE_ARCH}; then \
cd ${.CURDIR}/${.TARGET}.${MACHINE_ARCH}; \ cd ${.CURDIR}/${.TARGET}.${MACHINE_ARCH}; \
else \ else \
cd ${.CURDIR}/${.TARGET}; \ cd ${.CURDIR}/${.TARGET}; \
fi; \ fi; \
${MAKE} all ${_+_}${MAKE} all
.for __target in all all-man checkdpadd clean cleandepend cleandir \ .for __target in all all-man checkdpadd clean cleandepend cleandir \
@ -80,7 +80,7 @@ ${__stage}${__target}: _SUBDIR
.endif .endif
.endfor .endfor
${__target}: ${__target}:
cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target} ${_+_}cd ${.CURDIR}; ${MAKE} build${__target}; ${MAKE} install${__target}
.endfor .endfor
.if !target(install) .if !target(install)

View File

@ -57,6 +57,12 @@ ECHODIR ?= true
.endif .endif
.endif .endif
.if !empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n"
_+_ ?=
.else
_+_ ?= +
.endif
.if defined(%POSIX) .if defined(%POSIX)
FC ?= fort77 FC ?= fort77
FFLAGS ?= -O 1 FFLAGS ?= -O 1