1# SPDX-License-Identifier: GPL-2.0 2 3# Try to include uAPI headers from the kernel uapi/ path. 4# Most code under tools/ requires the respective kernel uAPI headers 5# to be copied to tools/include. The duplication is annoying. 6# All the family headers should be self-contained. We avoid the copying 7# by selectively including just the uAPI header of the family directly 8# from the kernel sources. 9 10UAPI_PATH:=../../../../include/uapi/ 11 12# scripts/headers_install.sh strips "_UAPI" from header guards so we 13# need the explicit -D matching what's in /usr, to avoid multiple definitions. 14 15get_hdr_inc=-D$(1) -include $(UAPI_PATH)/linux/$(2) 16 17CFLAGS_devlink:=$(call get_hdr_inc,_LINUX_DEVLINK_H_,devlink.h) 18CFLAGS_dpll:=$(call get_hdr_inc,_LINUX_DPLL_H,dpll.h) 19CFLAGS_ethtool:=$(call get_hdr_inc,_LINUX_ETHTOOL_H,ethtool.h) \ 20 $(call get_hdr_inc,_LINUX_ETHTOOL_NETLINK_H_,ethtool_netlink.h) 21CFLAGS_handshake:=$(call get_hdr_inc,_LINUX_HANDSHAKE_H,handshake.h) 22CFLAGS_mptcp_pm:=$(call get_hdr_inc,_LINUX_MPTCP_PM_H,mptcp_pm.h) 23CFLAGS_netdev:=$(call get_hdr_inc,_LINUX_NETDEV_H,netdev.h) 24CFLAGS_nlctrl:=$(call get_hdr_inc,__LINUX_GENERIC_NETLINK_H,genetlink.h) 25CFLAGS_nfsd:=$(call get_hdr_inc,_LINUX_NFSD_NETLINK_H,nfsd_netlink.h) 26CFLAGS_ovs_datapath:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h) 27CFLAGS_ovs_flow:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h) 28CFLAGS_ovs_vport:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h) 29CFLAGS_tcp_metrics:=$(call get_hdr_inc,_LINUX_TCP_METRICS_H,tcp_metrics.h) 30