diff --git a/Mk/Uses/ninja.mk b/Mk/Uses/ninja.mk --- a/Mk/Uses/ninja.mk +++ b/Mk/Uses/ninja.mk @@ -2,18 +2,19 @@ # # Feature: ninja # Usage: USES=ninja -# Valid ARGS: build, make (default), run +# Valid ARGS: build, make (default), run, samurai # # build add a build dependency on ninja # make use ninja for the build instead of make, implies "build" # run add a run dependency on ninja +# samurai use samurai irregardless of NINJA_DEFAULT # # MAINTAINER: ports@FreeBSD.org .if !defined(_INCLUDE_USES_NINJA_MK) _INCLUDE_USES_NINJA_MK= yes -_valid_ARGS= build make run +_valid_ARGS= build make run samurai . for _arg in ${ninja_ARGS} . if empty(_valid_ARGS:M${_arg}) @@ -21,7 +22,11 @@ . endif . endfor -. if empty(ninja_ARGS) +. if !empty(ninja_ARGS:Msamurai) +_SAMURAI_FROM_ARGS= yes +. endif + +. if empty(ninja_ARGS) || defined(_SAMURAI_FROM_ARGS) ninja_ARGS+= make . endif @@ -29,10 +34,10 @@ ninja_ARGS+= build . endif -. if ${NINJA_DEFAULT} == ninja +. if ${NINJA_DEFAULT} == ninja && !defined(_SAMURAI_FROM_ARGS) NINJA_CMD= ninja _NINJA_PORT= devel/ninja -. elif ${NINJA_DEFAULT} == samurai +. elif ${NINJA_DEFAULT} == samurai || defined(_SAMURAI_FROM_ARGS) NINJA_CMD= samu _NINJA_PORT= devel/samurai MAKE_ENV+= SAMUFLAGS="-v -j${MAKE_JOBS_NUMBER}" @@ -56,7 +61,7 @@ . endif . if ${ninja_ARGS:Mmake} -. if ${NINJA_DEFAULT} == ninja +. if ${NINJA_DEFAULT} == ninja && !defined(_SAMURAI_FROM_ARGS) # samu does not support GNU-style args, so we cannot just append # -v last. samu gets this via SAMUFLAGS above but ninja does not # support an equivalent environment variable. @@ -71,7 +76,7 @@ _DESTDIR_VIA_ENV= yes . endif -. if ${ninja_ARGS:Mrun} +. if ${ninja_ARGS:Mrun} && !defined(_SAMURAI_FROM_ARGS) RUN_DEPENDS+= ${NINJA_CMD}:${_NINJA_PORT} . endif