linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
commit ee5a0f18dfe0786bba0c30cdfb9d008cb0c1af92 parent f04d371bcc922dadc9e1ca10492334a64fed9ecd Author: Jul <jul@9o.is> Date: Fri, 22 Aug 2025 20:09:37 +0800 add ninja sync target Diffstat:
| M | gen.sh | | | 1 | + |
| M | ninja/functions.sh | | | 10 | +++++++++- |
| M | ninja/rules.ninja | | | 3 | +++ |
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/gen.sh b/gen.sh @@ -1,6 +1,7 @@ setv 'ninja_required_version' '1.8' setv 'basedir' '.' setv 'builddir' "$BUILD_DIR" +setv 'outdir' '$builddir' setv 'ninjadir' '$builddir/ninja' setv 'dir' '$basedir' diff --git a/ninja/functions.sh b/ninja/functions.sh @@ -306,9 +306,17 @@ _ninja_flush_subninja() { } _ninja_flush_sync() { + local subsyncs='$outdir/o/version' local verfile="$dir"/version + for pkg in $_ninja_buffer_subninja; do + subsyncs="$subsyncs \$gendir/$pkg/sync" + done + + build phony '$gendir/sync' "$subsyncs" + if [ ! -f "$verfile" ]; then + build touch '$outdir/o/version' return fi @@ -324,7 +332,7 @@ _ninja_flush_sync() { _ninja_flush() { _ninja_flush_lib _ninja_flush_exe - _ninja_flush_subninja _ninja_flush_sync + _ninja_flush_subninja } diff --git a/ninja/rules.ninja b/ninja/rules.ninja @@ -30,3 +30,6 @@ rule copy rule sym command = rm -f $out && ln -s $$(basename $in) $out description = SYM $out + +rule touch + command = touch $out