logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

gen.lua (1465B)


  1. cflags{
  2. '-Wall', '-Wno-address-of-packed-member',
  3. '-I $dir',
  4. '-I $outdir',
  5. '-I $srcdir/libinstaller',
  6. -- NOTE: we should only have to include $srcdir/libinstaller, but
  7. -- BSD pax/tar transforms symlink targets as well as filenames,
  8. -- trashing the libinstaller/advconst.h symlink.
  9. '-I $srcdir/com32/include/syslinux',
  10. '-isystem $builddir/pkg/linux-headers/include',
  11. }
  12. pkg.deps = {
  13. 'pkg/linux-headers/headers',
  14. }
  15. build('awk', '$outdir/version.h', {'$srcdir/version', '|', '$dir/version.awk'}, {
  16. expr=[[-f $dir/version.awk -v fmt='#define %s %s']],
  17. })
  18. sub('tools.ninja', function()
  19. toolchain(config.host)
  20. cflags{'-std=c99', '-Wall', '-Wextra', '-Wpedantic'}
  21. set('srcdir', '$dir')
  22. exe('bin2c', {'bin2c.c'})
  23. end)
  24. rule('bin2c', '$outdir/bin2c $args <$in >$out')
  25. function bin2c(bin, args)
  26. local name = args[1]
  27. build('bin2c', '$outdir/'..name..'.c', {
  28. '$srcdir/'..bin, '|', '$outdir/bin2c',
  29. }, {args=args})
  30. end
  31. bin2c('bios/core/ldlinux.bss', {'syslinux_bootsect'})
  32. bin2c('bios/core/ldlinux.sys', {'syslinux_ldlinux', '512'})
  33. bin2c('bios/com32/elflink/ldlinux/ldlinux.c32', {'syslinux_ldlinuxc32'})
  34. exe('bin/extlinux', [[
  35. extlinux/(main.c mountinfo.c)
  36. libinstaller/(
  37. syslxmod.c
  38. syslxopt.c
  39. syslxcom.c
  40. setadv.c
  41. advio.c
  42. )
  43. $outdir/syslinux_(bootsect ldlinux ldlinuxc32).c
  44. ]], {'$outdir/version.h'})
  45. file('bin/extlinux', '755', '$outdir/bin/extlinux')
  46. file('lib/syslinux/bios/mbr.bin', '644', '$srcdir/bios/mbr/mbr.bin')
  47. fetch 'curl'