--- bsd.port.mk.ori 2013-03-09 22:43:02.000000000 +0100 +++ bsd.port.mk 2013-03-12 17:48:49.000000000 +0100 @@ -6191,8 +6191,15 @@ .if !target(config-recursive) config-recursive: @${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies"; - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} config-conditional); \ + @${MAKE} config-conditional; + @newalldependslist=$$(${MAKE} all-depends-list); \ + oldalldependslist=""; \ + while [ "$${newalldependslist}" != "$${oldalldependslist}" ]; do \ + for dir in $$newalldependslist; do \ + (cd $$dir; ${MAKE} config-conditional); \ + done; \ + oldalldependslist="$$newalldependslist"; \ + newalldependslist="$$(${MAKE} all-depends-list)"; \ done .endif # config-recursive