@@ -7,17 +7,9 @@ include ../../../scripts/Makefile.include
7
7
8
8
CXX ?= $(CROSS_COMPILE ) g++
9
9
10
- CURDIR := $(abspath .)
11
- TOOLSDIR := $(abspath ../../..)
12
- TOP_SRCDIR = $(CURDIR ) /../../../..
13
- KHDR_INCLUDES := $(TOP_SRCDIR ) /usr/include
14
- LIBDIR := $(TOOLSDIR ) /lib
15
- BPFDIR := $(LIBDIR ) /bpf
16
- TOOLSINCDIR := $(TOOLSDIR ) /include
17
- BPFTOOLDIR := $(TOOLSDIR ) /bpf/bpftool
18
10
HOSTPKG_CONFIG := pkg-config
19
11
20
- CFLAGS += -g -O0 -rdynamic -Wall -Werror -I$(KHDR_INCLUDES )
12
+ CFLAGS += -g -O0 -rdynamic -Wall -Werror -I$(KHDR_INCLUDES ) -I $( OUTPUT )
21
13
LDLIBS += -lelf -lz -lrt -lpthread
22
14
23
15
# Silence some warnings when compiled with clang
53
45
54
46
include ../lib.mk
55
47
48
+ TOOLSDIR := $(top_srcdir ) /tools
49
+ LIBDIR := $(TOOLSDIR ) /lib
50
+ BPFDIR := $(LIBDIR ) /bpf
51
+ TOOLSINCDIR := $(TOOLSDIR ) /include
52
+ BPFTOOLDIR := $(TOOLSDIR ) /bpf/bpftool
56
53
SCRATCH_DIR := $(OUTPUT ) /tools
57
54
BUILD_DIR := $(SCRATCH_DIR ) /build
58
55
INCLUDE_DIR := $(SCRATCH_DIR ) /include
56
+ KHDR_INCLUDES := $(SCRATCH_DIR ) /uapi/include
59
57
BPFOBJ := $(BUILD_DIR ) /libbpf/libbpf.a
60
58
ifneq ($(CROSS_COMPILE ) ,)
61
59
HOST_BUILD_DIR := $(BUILD_DIR ) /host
@@ -122,15 +120,13 @@ $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
122
120
prefix= DESTDIR=$(HOST_SCRATCH_DIR ) / install-bin
123
121
124
122
$(BPFOBJ ) : $(wildcard $(BPFDIR ) /* .[ch] $(BPFDIR ) /Makefile) \
125
- $(KHDR_INCLUDES ) /linux/bpf.h \
126
123
| $(BUILD_DIR ) /libbpf
127
124
$(Q )$(MAKE ) $(submake_extras ) -C $(BPFDIR ) OUTPUT=$(BUILD_DIR ) /libbpf/ \
128
125
EXTRA_CFLAGS=' -g -O0' \
129
126
DESTDIR=$(SCRATCH_DIR ) prefix= all install_headers
130
127
131
128
ifneq ($(BPFOBJ ) ,$(HOST_BPFOBJ ) )
132
129
$(HOST_BPFOBJ ) : $(wildcard $(BPFDIR ) /* .[ch] $(BPFDIR ) /Makefile) \
133
- $(KHDR_INCLUDES ) /linux/bpf.h \
134
130
| $(HOST_BUILD_DIR ) /libbpf
135
131
$(Q )$(MAKE ) $(submake_extras ) -C $(BPFDIR ) \
136
132
EXTRA_CFLAGS=' -g -O0' ARCH= CROSS_COMPILE= \
147
143
$(Q)cp "$(VMLINUX_H)" $@
148
144
endif
149
145
146
+ $(KHDR_INCLUDES ) /linux/hid.h : $(top_srcdir ) /include/uapi/linux/hid.h
147
+ $(MAKE ) -C $(top_srcdir ) INSTALL_HDR_PATH=$(SCRATCH_DIR ) /uapi headers_install
148
+
150
149
$(RESOLVE_BTFIDS ) : $(HOST_BPFOBJ ) | $(HOST_BUILD_DIR ) /resolve_btfids \
151
150
$(TOOLSDIR ) /bpf/resolve_btfids/main.c \
152
151
$(TOOLSDIR ) /lib/rbtree.c \
@@ -178,8 +177,7 @@ MENDIAN=$(if $(IS_LITTLE_ENDIAN),-mlittle-endian,-mbig-endian)
178
177
179
178
CLANG_SYS_INCLUDES = $(call get_sys_includes,$(CLANG ) )
180
179
BPF_CFLAGS = -g -Werror -D__TARGET_ARCH_$(SRCARCH ) $(MENDIAN ) \
181
- -I$(INCLUDE_DIR ) -I$(CURDIR ) -I$(KHDR_INCLUDES ) \
182
- -I$(abspath $(OUTPUT ) /../usr/include)
180
+ -I$(INCLUDE_DIR )
183
181
184
182
CLANG_CFLAGS = $(CLANG_SYS_INCLUDES ) \
185
183
-Wno-compare-distinct-pointer-types
@@ -225,7 +223,7 @@ $(BPF_SKELS): %.skel.h: %.bpf.o $(BPFTOOL) | $(OUTPUT)
225
223
$(Q )$(BPFTOOL ) gen object $(<:.o=.linked1.o ) $<
226
224
$(Q )$(BPFTOOL ) gen skeleton $(<:.o=.linked1.o ) name $(notdir $(<:.bpf.o= ) ) > $@
227
225
228
- $(OUTPUT ) /% :% .c $(BPF_SKELS )
226
+ $(OUTPUT ) /% :% .c $(BPF_SKELS ) $( KHDR_INCLUDES ) /linux/hid.h
229
227
$(call msg,BINARY,,$@ )
230
228
$(Q )$(LINK.c ) $^ $(LDLIBS ) -o $@
231
229
0 commit comments