1cflags{
2 '-std=c11', '-Wall', '-Wpedantic',
3 '-D _XOPEN_SOURCE=700',
4 '-I $outdir',
5 '-I $srcdir',
6}
7
8yacc('awkgram', 'awkgram.y')
9
10pkg.deps = {'$outdir/awkgram.tab.h'}
11
12sub('tools.ninja', function()
13 toolchain(config.host)
14 cflags{'-I $outdir'}
15 exe('maketab', {'maketab.c'})
16end)
17
18rule('maketab', '$outdir/maketab $in >$out')
19build('maketab', '$outdir/proctab.c', {'$outdir/awkgram.tab.h', '|', '$outdir/maketab'})
20
21exe('awk', [[
22 b.c main.c parse.c tran.c lib.c run.c lex.c
23 $outdir/(awkgram.tab.c proctab.c)
24]])
25file('bin/awk', '755', '$outdir/awk')
26man{'awk.1'}
27
28fetch 'git'