cflags{ '-Wall', '-Wpedantic', '-I $outdir/include', '-I $srcdir/common', '-I $srcdir/libelf', '-isystem $builddir/pkg/openbsd/include', } pkg.hdrs = { copy('$outdir/include', '$srcdir/libelf', {'libelf.h', 'gelf.h'}), copy('$outdir/include', '$srcdir/common', {'elfdefinitions.h'}), '$outdir/include/sys/elfdefinitions.h', install=true, } pkg.deps = {'$gendir/headers', 'pkg/openbsd/headers'} rule('m4', 'm4 $m4flags -D SRCDIR=$srcdir/libelf $in >$out') build('m4', '$outdir/libelf_convert.c', {'$srcdir/libelf/libelf_convert.m4', '|', '$srcdir/libelf/elf_types.m4'}) build('m4', '$outdir/libelf_fsize.c', {'$srcdir/libelf/libelf_fsize.m4', '|', '$srcdir/libelf/elf_types.m4'}) build('m4', '$outdir/libelf_msize.c', {'$srcdir/libelf/libelf_msize.m4', '|', '$srcdir/libelf/elf_types.m4'}) build('m4', '$outdir/include/sys/elfdefinitions.h', {'$srcdir/common/sys/elfdefinitions.m4', '|', '$srcdir/common/sys/elfconstants.m4'}, { m4flags='-I $srcdir/common/sys' }) lib('libelf.a', [[ libelf/( elf.c elf_begin.c elf_cntl.c elf_end.c elf_errmsg.c elf_errno.c elf_data.c elf_fill.c elf_flag.c elf_getarhdr.c elf_getarsym.c elf_getbase.c elf_getident.c elf_getversion.c elf_hash.c elf_kind.c elf_memory.c elf_next.c elf_open.c elf_rand.c elf_rawfile.c elf_phnum.c elf_shnum.c elf_shstrndx.c elf_scn.c elf_strptr.c elf_update.c elf_version.c gelf_cap.c gelf_checksum.c gelf_dyn.c gelf_ehdr.c gelf_getclass.c gelf_fsize.c gelf_move.c gelf_phdr.c gelf_rel.c gelf_rela.c gelf_shdr.c gelf_sym.c gelf_syminfo.c gelf_symshndx.c gelf_xlate.c libelf_align.c libelf_allocate.c libelf_ar.c libelf_ar_util.c libelf_checksum.c libelf_data.c libelf_ehdr.c libelf_elfmachine.c libelf_extended.c libelf_memory.c libelf_open.c libelf_phdr.c libelf_shdr.c libelf_xlate.c ) $outdir/(libelf_convert.c libelf_fsize.c libelf_msize.c) ]]) file('lib/libelf.a', '644', '$outdir/libelf.a') fetch 'git'