# SPDX-License-Identifier: GPL-2.0 # Rules to generate bpf objs CLANG ?= clang SCRATCH_DIR := $(OUTPUT)/tools BUILD_DIR := $(SCRATCH_DIR)/build BPFDIR := $(top_srcdir)/tools/lib/bpf APIDIR := $(top_srcdir)/tools/include/uapi CCINCLUDE += -I$(selfdir)/bpf CCINCLUDE += -I$(top_srcdir)/usr/include/ CCINCLUDE += -I$(SCRATCH_DIR)/include BPFOBJ := $(BUILD_DIR)/libbpf/libbpf.a MAKE_DIRS := $(BUILD_DIR)/libbpf $(MAKE_DIRS): $(call msg,MKDIR,,$@) $(Q)mkdir -p $@ # Get Clang's default includes on this system, as opposed to those seen by # '--target=bpf'. This fixes "missing" files on some architectures/distros, # such as asm/byteorder.h, asm/socket.h, asm/sockios.h, sys/cdefs.h etc. # # Use '-idirafter': Don't interfere with include mechanics except where the # build would have failed anyways. define get_sys_includes $(shell $(1) $(2) -v -E - &1 \ | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') \ $(shell $(1) $(2) -dM -E -