diff options
| author | Michael Forney <mforney@mforney.org> | 2017-09-17 00:03:34 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2017-09-25 19:23:06 -0700 |
| commit | ba94a8513d9a0aadb3f2c834c74b64aa644c61e8 (patch) | |
| tree | 48ac6c85baa7b9d960b9e1e726a906e61ca60967 /pkg/efivar | |
| parent | cb362b531d79708a259bbf070dee5104fd63df08 (diff) | |
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/efivar')
| -rw-r--r-- | pkg/efivar/gen.lua | 54 | ||||
| -rw-r--r-- | pkg/efivar/gen.rc | 41 |
2 files changed, 54 insertions, 41 deletions
diff --git a/pkg/efivar/gen.lua b/pkg/efivar/gen.lua new file mode 100644 index 00000000..272ecb50 --- /dev/null +++ b/pkg/efivar/gen.lua @@ -0,0 +1,54 @@ +cc('src/guids.S', {'$outdir/guids.bin', '$outdir/names.bin'}, { + cflags='$cflags -I $outdir', +}) + +cflags{ + '-Wall', '-Wextra', + '-D _GNU_SOURCE', + '-include $dir/compat.h', + '-I $outdir/include', + '-I $srcdir/src/include/efivar', +} + +sub('tools.ninja', function() + toolchain 'host' + cflags{ + '-std=c99', + '-D EFIVAR_BUILD_ENVIRONMENT', + '-I $srcdir/src/include/efivar', + } + build('cc', '$outdir/host-guid.c.o', '$srcdir/src/guid.c') + exe('makeguids', {'src/makeguids.c', 'host-guid.c.o'}, nil, {ldlibs='-ldl'}) +end) + +rule('makeguids', '$outdir/makeguids $in $out') +build('makeguids', { + '$outdir/guids.bin', + '$outdir/names.bin', + '$outdir/guid-symbols.c', + '$outdir/include/efivar-guids.h', +}, {'$srcdir/src/guids.txt', '|', '$outdir/makeguids'}) + +pkg.hdrs = { + copy('$outdir/include', '$srcdir/src/include/efivar', { + 'efiboot.h', + 'efiboot-creator.h', + 'efiboot-loadopt.h', + 'efivar.h', + 'efivar-dp.h', + }), + '$outdir/include/efivar-guids.h', +} +pkg.deps = {'$outdir/include/efivar-guids.h'} + +lib('libefiboot.a', 'src/(crc32.c creator.c disk.c gpt.c linux.c loadopt.c)') +lib('libefivar.a', [[ + src/( + dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c + efivarfs.c error.c export.c guid.c guids.S.o + lib.c vars.c + ) + $outdir/guid-symbols.c +]]) + +fetch 'git' diff --git a/pkg/efivar/gen.rc b/pkg/efivar/gen.rc deleted file mode 100644 index e0f4a38f..00000000 --- a/pkg/efivar/gen.rc +++ /dev/null @@ -1,41 +0,0 @@ -cc src/guids.S '||' '$outdir'/^(guids.bin names.bin) ; with\ - cflags '$cflags -I $outdir' - -cflags\ - -Wall -Wextra\ - -D _GNU_SOURCE\ - -include '$dir'/compat.h\ - -I '$outdir'/include\ - -I '$srcdir'/src/include/efivar - -{ - toolchain host - cflags\ - '-std=c99' \ - -D EFIVAR_BUILD_ENVIRONMENT\ - -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 ; with\ - ldlibs '-ldl' -} >tools.ninja ; subninja tools.ninja - -rule makeguids '$outdir/makeguids $in $out' -outs='$outdir'/^(guids.bin names.bin guid-symbols.c include/efivar-guids.h)\ - build $"outs makeguids '$srcdir'/src/guids.txt '|' '$outdir'/makeguids - -hdrs=(efiboot.h efiboot-creator.h efiboot-loadopt.h efivar.h efivar-dp.h) -for(hdr in $hdrs) { - build '$outdir'/include/$hdr copy '$srcdir'/src/include/efivar/$hdr -} -phony headers '$outdir'/include/^($hdrs efivar-guids.h) - -lib libefiboot.a -d '$outdir'/include/efivar-guids.h src/^(\ - crc32.c creator.c disk.c gpt.c linux.c loadopt.c\ -) -lib libefivar.a -d '$outdir'/include/efivar-guids.h src/^(\ - dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c\ - efivarfs.c error.c export.c guid.c guids.S.o\ - lib.c vars.c\ -) '$outdir'/guid-symbols.c - -fetch git |
