# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

header-y += byteorder.h
header-y += ech.h
header-y += ptrace.h
header-y += resource.h
header-y += sigcontext.h
header-y += siginfo.h
header-y += swab.h
header-y += unistd.h

generic-y += mman.h
generic-y += setup.h
