summaryrefslogtreecommitdiff
path: root/pkg/efivar/gen.rc
blob: 3bb5a94821df2401d4ab48c641adf728238c02ac (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
cc src/guids.S '||' '$outdir'/^(guids.bin names.bin) ; with\
	cflags '$cflags -I $outdir'

cflags\
	-D _GNU_SOURCE\
	-include '$dir'/compat.h\
	-I '$outdir'/include\
	-I '$srcdir'/src/include/efivar

{
	toolchain host
	cflags\
		-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 export.c guid.c guids.S.o\
	lib.c vars.c\
) '$outdir'/guid-symbols.c

fetch git