44 lines
1.4 KiB
Makefile
44 lines
1.4 KiB
Makefile
#-------------------------------------------------------------------------#
|
|
ifeq ($(RTE_SDK),)
|
|
$(error "Please define RTE_SDK environment variable")
|
|
endif
|
|
|
|
ifeq ($(RTE_TARGET),)
|
|
$(error "Please define RTE_TARGET environment variable")
|
|
endif
|
|
#-------------------------------------------------------------------------#
|
|
include $(RTE_SDK)/mk/rte.vars.mk
|
|
CC=gcc
|
|
obj-m=dpdk_iface.o
|
|
DPDK_MACHINE_LINKER_FLAGS=$${RTE_SDK}/$${RTE_TARGET}/lib/ldflags.txt
|
|
DPDK_MACHINE_LDFLAGS=$(shell cat ${DPDK_MACHINE_LINKER_FLAGS})
|
|
DPDK_INC=${RTE_SDK}/${RTE_TARGET}/include
|
|
DPDK_LIB=${RTE_SDK}/${RTE_TARGET}/lib
|
|
appname=dpdk_iface_main
|
|
#-------------------------------------------------------------------------#
|
|
ifeq ($V,) # no echo
|
|
export MSG=@echo
|
|
export HIDE=@
|
|
else
|
|
export MSG=@\#
|
|
export HIDE=
|
|
endif
|
|
#-------------------------------------------------------------------------#
|
|
all: dpdk_iface.c $(appname) $(appname).c
|
|
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules
|
|
|
|
$(appname): $(appname).c
|
|
$(MSG) " CC $<"
|
|
$(HIDE) $(CC) -g $(CFLAGS) $(appname).c -g -o $(appname) -g \
|
|
-I${DPDK_INC} -include $(DPDK_INC)/rte_config.h \
|
|
-L$(DPDK_LIB) ${DPDK_MACHINE_LDFLAGS} -lpthread
|
|
|
|
clean:
|
|
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean
|
|
$(MSG) " CLEAN $(appname)"
|
|
$(HIDE) rm -rf *~ *.o *.ko dpdk_iface_main
|
|
|
|
run: all
|
|
sudo ./$(appname)
|
|
#-------------------------------------------------------------------------#
|