summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-07-03 10:44:24 -0700
committerMichael Forney <mforney@mforney.org>2016-07-03 10:44:24 -0700
commit257e042bf28382e6f5dc3e2acf929a3fe01e1201 (patch)
treeea18427bb18adee46525932083f71ec62311db92
parent52b76cb615034dc8db23f3f76edcef8a150dd510 (diff)
Add sub helper function
-rw-r--r--core/awk/gen.rc3
-rw-r--r--core/e2fsprogs/gen.rc3
-rw-r--r--core/perp/gen.rc3
-rw-r--r--extra/efivar/gen.rc3
-rw-r--r--extra/transmission/gen.rc9
-rw-r--r--ninja.rc5
6 files changed, 12 insertions, 14 deletions
diff --git a/core/awk/gen.rc b/core/awk/gen.rc
index 1ca128d2..750be952 100644
--- a/core/awk/gen.rc
+++ b/core/awk/gen.rc
@@ -7,8 +7,7 @@ build '$outdir'/ytab.h copy '$outdir'/gram.tab.h
include 'toolchain/$host_toolchain.ninja'
cflags -I '$outdir'
exe maketab -d '$outdir'/ytab.h maketab.c
-} >tools.ninja
-subninja '$dir/tools.ninja'
+} | sub tools.ninja
rule maketab '(cd $outdir && ./maketab) >$out.tmp && mv $out.tmp $out'
build '$outdir'/proctab.c maketab '|' '$outdir'/maketab
diff --git a/core/e2fsprogs/gen.rc b/core/e2fsprogs/gen.rc
index ade5cf25..f93e241e 100644
--- a/core/e2fsprogs/gen.rc
+++ b/core/e2fsprogs/gen.rc
@@ -46,8 +46,7 @@ build '$outdir'/internal/blkid/blkid_types.h copy '$dir'/blkid_types.h
{
include 'toolchain/$host_toolchain.ninja'
exe gen_crc32ctable lib/ext2fs/gen_crc32ctable.c
-} >tools.ninja
-subninja '$dir'/tools.ninja
+} | sub tools.ninja
rule gen_crc32ctable '$outdir/gen_crc32ctable >$out.tmp && mv $out.tmp $out'
build '$outdir'/internal/crc32c_table.h gen_crc32ctable '|' '$outdir'/gen_crc32ctable
diff --git a/core/perp/gen.rc b/core/perp/gen.rc
index f1ad847a..8e121428 100644
--- a/core/perp/gen.rc
+++ b/core/perp/gen.rc
@@ -7,8 +7,7 @@ cflags\
exe mk_outvec lasagna/outvec/mk_outvec.c
exe mk_rlimit lasagna/rlimit/mk_rlimit.c
exe mksysstr lasagna/sysstr/mksysstr.c
-} >tools.ninja
-subninja '$dir/tools.ninja'
+} | sub tools.ninja
rule outvec '$outdir/mk_outvec >$out.tmp && mv $out.tmp $out'
build '$outdir'/outvec_STDOUT.h outvec '|' '$outdir'/mk_outvec
diff --git a/extra/efivar/gen.rc b/extra/efivar/gen.rc
index f8e0383b..68e4664a 100644
--- a/extra/efivar/gen.rc
+++ b/extra/efivar/gen.rc
@@ -14,8 +14,7 @@ cflags\
-I '$srcdir'/src/include/efivar
build '$outdir'/host-guid.c.o cc '$srcdir'/src/guid.c
exe makeguids src/makeguids.c host-guid.c.o
-} >tools.ninja
-subninja '$dir'/tools.ninja
+} | sub tools.ninja
rule makeguids '$outdir/makeguids $in $out'
outs='$outdir'/^(guids.bin names.bin guid-symbols.c include/efivar-guids.h)\
diff --git a/extra/transmission/gen.rc b/extra/transmission/gen.rc
index 4af2338b..2856410f 100644
--- a/extra/transmission/gen.rc
+++ b/extra/transmission/gen.rc
@@ -96,8 +96,7 @@ lib libdht.a third-party/dht/dht.c
set cflags '$orig_cflags' \
-D ENABLE_STRNATPMPERR
lib libnatpmp.a third-party/libnatpmp/^(getgateway.c natpmp.c wingettimeofday.c)
-} >libnatpmp.ninja
-subninja '$dir'/libnatpmp.ninja
+} | sub libnatpmp.ninja
{
set cflags '$orig_cflags' \
@@ -122,8 +121,7 @@ subninja '$dir'/libnatpmp.ninja
upnpcommands.c\
upnpreplyparse.c\
)
-} >libminiupnp.ninja
-subninja '$dir'/libminiupnp.ninja
+} | sub libminiupnp.ninja
{
set cc '$cxx'
@@ -135,8 +133,7 @@ subninja '$dir'/libminiupnp.ninja
-I '$srcdir'/third-party/libutp
lib libutp.a third-party/libutp/^(utp.cpp utp_utils.cpp)
-} >libutp.ninja
-subninja '$dir'/libutp.ninja
+} | sub libutp.ninja
libs=(\
libtransmission.a libb64.a libdht.a libminiupnp.a libnatpmp.a libutp.a\
diff --git a/ninja.rc b/ninja.rc
index 6939f317..9b124214 100644
--- a/ninja.rc
+++ b/ninja.rc
@@ -23,6 +23,11 @@ fn include {
echo include $*
}
+fn sub {
+ cat >$1
+ subninja '$dir'/$1
+}
+
fn rule {
name=$1 {
shift