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#-------------------------------------------------------------------------# 19ifeq ($V,) # no echo 20 export MSG=@echo 21 export HIDE=@ 22else 23 export MSG=@\# 24 export HIDE= 25endif 26#-------------------------------------------------------------------------# 27all: dpdk_iface.c $(appname) $(appname).c 28 make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules 29 30$(appname): $(appname).c 31 $(MSG) " CC $<" 32 $(HIDE) $(CC) -g $(CFLAGS) $(appname).c -g -o $(appname) -g \ 33 -I${DPDK_INC} -include $(DPDK_INC)/rte_config.h \ 34 -L$(DPDK_LIB) ${DPDK_MACHINE_LDFLAGS} -lpthread 35 36clean: 37 make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean 38 $(MSG) " CLEAN $(appname)" 39 $(HIDE) rm -rf *~ *.o *.ko dpdk_iface_main 40 41run: all 42 sudo ./$(appname) 43#-------------------------------------------------------------------------# 44