1cflags{
2 '-Wall', '-Wpedantic',
3 '-I $outdir/include',
4 '-I $srcdir/common',
5 '-I $srcdir/libelf',
6 '-isystem $builddir/pkg/openbsd/include',
7}
8
9pkg.hdrs = {
10 copy('$outdir/include', '$srcdir/libelf', {'libelf.h', 'gelf.h'}),
11 copy('$outdir/include', '$srcdir/common', {'elfdefinitions.h'}),
12 '$outdir/include/sys/elfdefinitions.h',
13 install=true,
14}
15pkg.deps = {'$gendir/headers', 'pkg/openbsd/headers'}
16
17rule('m4', 'm4 $m4flags -D SRCDIR=$srcdir/libelf $in >$out')
18build('m4', '$outdir/libelf_convert.c', {'$srcdir/libelf/libelf_convert.m4', '|', '$srcdir/libelf/elf_types.m4'})
19build('m4', '$outdir/libelf_fsize.c', {'$srcdir/libelf/libelf_fsize.m4', '|', '$srcdir/libelf/elf_types.m4'})
20build('m4', '$outdir/libelf_msize.c', {'$srcdir/libelf/libelf_msize.m4', '|', '$srcdir/libelf/elf_types.m4'})
21build('m4', '$outdir/include/sys/elfdefinitions.h', {'$srcdir/common/sys/elfdefinitions.m4', '|', '$srcdir/common/sys/elfconstants.m4'}, {
22 m4flags='-I $srcdir/common/sys'
23})
24
25lib('libelf.a', [[
26 libelf/(
27 elf.c
28 elf_begin.c
29 elf_cntl.c
30 elf_end.c elf_errmsg.c elf_errno.c
31 elf_data.c
32 elf_fill.c
33 elf_flag.c
34 elf_getarhdr.c
35 elf_getarsym.c
36 elf_getbase.c
37 elf_getident.c
38 elf_getversion.c
39 elf_hash.c
40 elf_kind.c
41 elf_memory.c
42 elf_next.c
43 elf_open.c
44 elf_rand.c
45 elf_rawfile.c
46 elf_phnum.c
47 elf_shnum.c
48 elf_shstrndx.c
49 elf_scn.c
50 elf_strptr.c
51 elf_update.c
52 elf_version.c
53 gelf_cap.c
54 gelf_checksum.c
55 gelf_dyn.c
56 gelf_ehdr.c
57 gelf_getclass.c
58 gelf_fsize.c
59 gelf_move.c
60 gelf_phdr.c
61 gelf_rel.c
62 gelf_rela.c
63 gelf_shdr.c
64 gelf_sym.c
65 gelf_syminfo.c
66 gelf_symshndx.c
67 gelf_xlate.c
68 libelf_align.c
69 libelf_allocate.c
70 libelf_ar.c
71 libelf_ar_util.c
72 libelf_checksum.c
73 libelf_data.c
74 libelf_ehdr.c
75 libelf_elfmachine.c
76 libelf_extended.c
77 libelf_memory.c
78 libelf_open.c
79 libelf_phdr.c
80 libelf_shdr.c
81 libelf_xlate.c
82 )
83 $outdir/(libelf_convert.c libelf_fsize.c libelf_msize.c)
84]])
85file('lib/libelf.a', '644', '$outdir/libelf.a')
86
87fetch 'git'