From ba94a8513d9a0aadb3f2c834c74b64aa644c61e8 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 17 Sep 2017 00:03:34 -0700 Subject: Rewrite ninja generation scripts in Lua --- pkg/awk/gen.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pkg/awk/gen.lua (limited to 'pkg/awk/gen.lua') diff --git a/pkg/awk/gen.lua b/pkg/awk/gen.lua new file mode 100644 index 00000000..cbb7e9e7 --- /dev/null +++ b/pkg/awk/gen.lua @@ -0,0 +1,29 @@ +cflags{ + '-std=c90', + '-D _POSIX_C_SOURCE=200809L', + '-I $outdir', + '-I $srcdir', +} + +yacc('gram', 'awkgram.y') +build('copy', '$outdir/ytab.h', '$outdir/gram.tab.h') + +pkg.deps = {'$outdir/ytab.h'} + +sub('tools.ninja', function() + toolchain 'host' + cflags{'-I $outdir'} + exe('maketab', {'maketab.c'}) +end) + +rule('maketab', '(cd $outdir && ./maketab) >$out.tmp && mv $out.tmp $out') +build('maketab', '$outdir/proctab.c', {'|', '$outdir/maketab', '$outdir/ytab.h'}) + +exe('awk', [[ + b.c main.c parse.c tran.c lib.c run.c lex.c + $outdir/(gram.tab.c proctab.c) +]]) +file('bin/awk', '755', '$outdir/awk') +man{'awk.1'} + +fetch 'git' -- cgit v1.2.3