forked from ikhorn/plget
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
68 lines (50 loc) · 1.26 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
CFLAGS += -g -Wall
LDFLAGS += -lm -lpthread
ifdef SYSROOT
CFLAGS += --sysroot=${SYSROOT}
endif
CC=$(CROSS_COMPILE)gcc
ALL_SOURCES := debug.c rtprint.c echo_lat.c pkt_gen.c plget_args.c \
plget.c result.c rtt.c rx_lat.c stat.c tx_lat.c
ifdef AFXDP
all: sub_libbpf plget
else
all: plget
endif
LIBBPF_SRC=./libbpf/src
ifdef AFXDP
AFXDP_SOURCES := xdp_prog_load.c xdp_sock.c
ALL_SOURCES += ${AFXDP_SOURCES}
CFLAGS += -DCONF_AFXDP
CFLAGS += -I${SYSROOT}/usr/include
LDFLAGS += -L${SYSROOT}/usr/lib
LIBBPF_STATUS := $(shell ./scripts/check-libbpf.sh $(SYSROOT))
CFLAGS += -Ilibbpf/src/
LDFLAGS += -Llibbpf/src
LDFLAGS += -lz -lelf
LDFLAGS += -lbpf
export CROSS_COMPILE
export ARCH
export CC
endif # AFXDP
sub_libbpf:
ifneq ($(LIBBPF_STATUS),)
$(MAKE) -C $(LIBBPF_SRC)
endif
plget: %: $(ALL_SOURCES:.c=.o)
@echo "CC " $@
@$(CC) -o $@ $^ $(LDFLAGS)
# Option -MD needed to generate .d files in order to include them
%.o: %.c
@echo "CC " $@
@$(CC) -c -MD $< -o $@ $(CFLAGS)
#include targets for all headers, generated by -MD command
include $(wildcard *.d)
clean:
rm -f $$(ls *.o | sed '/xsock_dispatch.o/d') *.d plget
@if [ -e $(LIBBPF_SRC)/Makefile ]; then\
$(MAKE) -C $(LIBBPF_SRC) clean;\
fi
distclean: clean
rm -rf cscope* tags
.PHONY: clean distclean sub_libbpf