summaryrefslogtreecommitdiff
path: root/setup.rc
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-04-17 00:05:36 -0700
committerMichael Forney <mforney@mforney.org>2016-04-17 00:06:52 -0700
commit49c2d3507ca26b03eebf339444d4ba9fd5112aa3 (patch)
tree56b8b71a98d089037946285c29875e7b447f1c51 /setup.rc
parent22e7f1a6de75218591090a2ca86c60fdfad7715c (diff)
Make $srcdir refer to the src directory, and add $dir for the directory containing gen.rc
Diffstat (limited to 'setup.rc')
-rwxr-xr-xsetup.rc30
1 files changed, 17 insertions, 13 deletions
diff --git a/setup.rc b/setup.rc
index 02a31934..0f3db3cd 100755
--- a/setup.rc
+++ b/setup.rc
@@ -19,8 +19,8 @@ if(! ~ $#* 0 1) usage
. ./ninja.rc
fn subgen {
- subninja '$srcdir'/$1/local.ninja
- gen_inputs=( $gen_inputs phony/'$srcdir'/$1/gen )
+ subninja '$dir'/$1/local.ninja
+ gen_inputs=( $gen_inputs phony/'$dir'/$1/gen )
tree_inputs=( $tree_inputs '$outdir'/$1/root.tree )
tree_perms=( $tree_perms '$outdir'/$1/root.perms )
if(~ $recurse 1 || ! [ -f $1/local.ninja ]) @ gen $1 &
@@ -32,35 +32,39 @@ fn gen {
if not dir=$dir/$1
cd $1
- ifs=() { oldcwd=`{pwd | head -c -1} }
tree_perms=()
perms_inputs=()
tree_inputs=()
gen_inputs=()
+ ifs=() { absdir=`{pwd | head -c -1} }
{
- set srcdir $dir
- outdir='$builddir' {
- if(! ~ $dir .) outdir=$outdir/$dir
- set outdir $outdir
+ set dir $dir
+ if(~ $dir .) set outdir '$builddir'
+ if not set outdir '$builddir/$dir'
+
+ if([ -d src ]) {
+ cd src
+ if(~ $dir .) set srcdir src
+ if not set srcdir '$dir/src'
}
- . ./gen.rc
+ . $absdir/gen.rc
- build 'phony/$srcdir/gen' phony '$srcdir'/local.ninja $gen_inputs
- build '$srcdir'/local.ninja gen '|' setup.rc ninja.rc '$srcdir'/gen.rc
+ build 'phony/$dir/gen' phony '$dir/local.ninja' $gen_inputs
+ build '$dir/local.ninja' gen '|' setup.rc ninja.rc '$dir/gen.rc'
if(! ~ $#tree_perms 0) {
- printf '%s\n' $tree_perms >$oldcwd/local.perms
- perms_inputs=( $perms_inputs '$srcdir'/local.perms )
+ printf '%s\n' $tree_perms >$absdir/local.perms
+ perms_inputs=( $perms_inputs '$dir'/local.perms )
}
if(~ $#perms_inputs 0) build '$outdir/root.perms' stamp
if not build '$outdir/root.perms' cat $perms_inputs
if(~ $#tree_inputs 0) build '$outdir/root.tree' stamp
if not build '$outdir/root.tree' cat $tree_inputs
} >local.ninja.tmp
- mv $oldcwd/^( local.ninja.tmp local.ninja )
+ mv $absdir/^( local.ninja.tmp local.ninja )
if(! ~ $quiet 1) echo 'generated '$dir >[1=2]
status=()