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_NETLINK_H_,ethtool_netlink.h)
20CFLAGS_handshake:=$(call get_hdr_inc,_LINUX_HANDSHAKE_H,handshake.h)
21CFLAGS_mptcp_pm:=$(call get_hdr_inc,_LINUX_MPTCP_PM_H,mptcp_pm.h)
22CFLAGS_netdev:=$(call get_hdr_inc,_LINUX_NETDEV_H,netdev.h)
23CFLAGS_nlctrl:=$(call get_hdr_inc,__LINUX_GENERIC_NETLINK_H,genetlink.h)
24CFLAGS_nfsd:=$(call get_hdr_inc,_LINUX_NFSD_NETLINK_H,nfsd_netlink.h)
25CFLAGS_ovs_datapath:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
26CFLAGS_ovs_flow:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
27CFLAGS_ovs_vport:=$(call get_hdr_inc,__LINUX_OPENVSWITCH_H,openvswitch.h)
28