summaryrefslogtreecommitdiff
path: root/gen.lua
blob: da82762ee0833fa8a3b9c984642ff56dfd4a4b04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
set('ninja_required_version', '1.8')

set('basedir', basedir)
set('builddir', config.builddir)
set('dir', '$basedir')
set('outdir', '$builddir')

set('repo', config.repo.path)
set('repo_flags', config.repo.flags)
set('repo_tag', config.repo.tag)
set('repo_branch', config.repo.branch)

include '$basedir/rules.ninja'

toolchain(config.target)

subgen 'probe'
subgen 'pkg'
subgen 'src'

build('awk', '$outdir/root.perms', {'$outdir/root.fspec', '|', '$basedir/scripts/perms.awk'}, {
	expr='-f $basedir/scripts/perms.awk',
})
gitfile('.perms', '644', '$outdir/root.perms')

build('git-init', '$outdir/root.stamp')
build('git-tree', '$outdir/root.tree', {'$outdir/root.index', '|', '$basedir/scripts/tree.sh', '||', '$outdir/root.stamp'})
build('git-commit', '$outdir/root.commit', {'|', '$outdir/root.tree'})
build('phony', 'commit', '$builddir/root.commit')

build('fspec-sort', '$outdir/root-sorted.fspec', {'$outdir/root.fspec', '|', '$builddir/pkg/fspec-sync/host/fspec-sort'})
build('fspec-tar', '$outdir/root.tar', {'$outdir/root-sorted.fspec', '|', '$builddir/pkg/fspec-sync/host/fspec-tar'})

build('phony', 'build.ninja', 'ninja', {generator='1'})

io.write('default $builddir/root.tree\n')