1 # SPDX-License-Identifier: GPL-2.0
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.
10 UAPI_PATH:=../../../../include/uapi/
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.
15 get_hdr_inc=-D$(1) -include $(UAPI_PATH)/linux/$(2)
17 CFLAGS_devlink:=$(call get_hdr_inc,_LINUX_DEVLINK_H_,devlink.h)
18 CFLAGS_dpll:=$(call get_hdr_inc,_LINUX_DPLL_H,dpll.h)
19 CFLAGS_ethtool:=$(call get_hdr_inc,_LINUX_ETHTOOL_H,ethtool.h) \
20 $(call get_hdr_inc,_LINUX_ETHTOOL_NETLINK_H_,ethtool_netlink.h)
21 CFLAGS_handshake:=$(call get_hdr_inc,_LINUX_HANDSHAKE_H,handshake.h)
22 CFLAGS_mptcp_pm:=$(call get_hdr_inc,_LINUX_MPTCP_PM_H,mptcp_pm.h)
23 CFLAGS_netdev:=$(call get_hdr_inc,_LINUX_NETDEV_H,netdev.h)
24 CFLAGS_nlctrl:=$(call get_hdr_inc,__LINUX_GENERIC_NETLINK_H,genetlink.h)
25 CFLAGS_nfsd:=$(call get_hdr_inc,_LINUX_NFSD_NETLINK_H,nfsd_netlink.h)
26 CFLAGS_ovs_datapath:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
27 CFLAGS_ovs_flow:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
28 CFLAGS_ovs_vport:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
29 CFLAGS_tcp_metrics:=$(call get_hdr_inc,_LINUX_TCP_METRICS_H,tcp_metrics.h)