linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
commit 6731828b2b69a83a4e182660e6dedad43b1b753d parent b3ea2c40805f908c714d17cdeadf79cb9c359246 Author: Jul <jul@9o.is> Date: Sat, 8 Nov 2025 06:13:56 -0500 touch target without files using _ninja_target Diffstat:
| M | ninja/functions.sh | | | 33 | ++++++++++++++++++--------------- |
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/ninja/functions.sh b/ninja/functions.sh @@ -367,19 +367,27 @@ _ninja_targets_init() { _ninja_save() { _tgt=$1; shift - printf '%s\n' "$@" >> "$_ninja_tgtsdir/$_tgt" + + if [ "$@" ]; then + printf '%s\n' "$@" >> "$_ninja_tgtsdir/$_tgt" + fi } _ninja_target() { - if ! _ninja_target_has $1; then - return - fi + _tgt=$1 + _empty=${2-} + _vs= - build phony $tgtdir/$1 $(command cat "$_ninja_tgtsdir/$1" | xargs) -} + if [ -e "$_ninja_tgtsdir/$_tgt" ]; then + _vs="$(command cat "$_ninja_tgtsdir/$_tgt" | xargs)" + fi -_ninja_target_has() { - test -e "$_ninja_tgtsdir/$1" + if [ "$_vs" ]; then + build phony $tgtdir/$_tgt $_vs + elif [ $_empty ]; then + touch $_empty + build phony $tgtdir/$_tgt $outdir/$_empty + fi } _ninja_setv_init() { @@ -638,13 +646,8 @@ _ninja_flush_build() { build phony $tgtdir/install $_subgens_tpl_install ;; pkg) - if _ninja_target_has build || [ "$_subgens" ]; then - _ninja_save build $_subgens - _ninja_target build - else - touch _fetch/build - build phony $tgtdir/build $outdir/_fetch/build - fi + _ninja_save build $_subgens + _ninja_target build _fetch/build ;; tpl) fspec_tar $outdir/root.tar.zstd '|' $hostdir/fspec-tar $outdir/_fspec/ALL