blob: e3b5c9faf2ec642344947835c84a44e3ab5593d5 (
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
37
38
39
40
41
42
43
44
45
46
47
|
cflags\
-I '$dir' \
-I '$outdir' \
-I '$srcdir'/libinstaller\
-I '$srcdir'/com32/include/syslinux
# NOTE: we should only have to include $srcdir/libinstaller, but BSD pax/tar
# transforms symlink targets as well as filenames, trashing the
# libinstaller/advconst.h symlink.
build '$outdir'/version.h awk '$srcdir'/version '|' '$dir'/version.awk ; with\
expr '-f $dir/version.awk -v fmt=''#define %s %s'''
{
toolchain host
cflags '-std=c99' -pedantic -Wall -Wextra
set srcdir '$dir'
exe bin2c bin2c.c
} >tools.ninja ; subninja tools.ninja
rule bin2c '$outdir/bin2c $args <$in >$out.tmp && mv $out.tmp $out'
fn bin2c {
bin=$1
name=$2
shift
build '$outdir'/$name.c bin2c '$srcdir'/$bin '|' '$outdir'/bin2c
with args $"*
}
bin2c bios/core/ldlinux.bss syslinux_bootsect
bin2c bios/core/ldlinux.sys syslinux_ldlinux 512
bin2c bios/com32/elflink/ldlinux/ldlinux.c32 syslinux_ldlinuxc32
exe bin/extlinux -d '$outdir'/version.h\
extlinux/^(main.c mountinfo.c)\
libinstaller/^(\
syslxmod.c\
syslxopt.c\
syslxcom.c\
setadv.c\
advio.c\
)\
'$outdir'/syslinux_^(bootsect ldlinux ldlinuxc32)^.c
file bin/extlinux '$outdir'/bin/extlinux 755
file lib/syslinux/bios/mbr.bin '$srcdir'/bios/mbr/mbr.bin 644
fetch curl
|