1#-------------------------------------------------------------------------# 2ifeq ($(RTE_SDK),) 3$(error "Please define RTE_SDK environment variable") 4endif 5 6ifeq ($(RTE_TARGET),) 7$(error "Please define RTE_TARGET environment variable") 8endif 9#-------------------------------------------------------------------------# 10include $(RTE_SDK)/mk/rte.vars.mk 11CC=gcc 12obj-m=dpdk_iface.o 13DPDK_MACHINE_LINKER_FLAGS=$${RTE_SDK}/$${RTE_TARGET}/lib/ldflags.txt 14DPDK_MACHINE_LDFLAGS=$(shell cat ${DPDK_MACHINE_LINKER_FLAGS}) 15DPDK_INC=${RTE_SDK}/${RTE_TARGET}/include 16DPDK_LIB=${RTE_SDK}/${RTE_TARGET}/lib 17appname=dpdk_iface_main 18#-------------------------------------------------------------------------# 19all: dpdk_iface.c $(appname) $(appname).c 20 make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules 21 22$(appname): $(appname).c 23 $(CC) $(CFLAGS) $(appname).c -g -o $(appname) -g \ 24 -I${DPDK_INC} -include $(DPDK_INC)/rte_config.h \ 25 -L$(DPDK_LIB) ${DPDK_MACHINE_LDFLAGS} -lpthread 26 27clean: 28 make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean 29 rm -rf *~ *.o *.ko dpdk_iface_main 30 31run: all 32 sudo ./$(appname) 33#-------------------------------------------------------------------------# 34