1d270d183SAsim Jamshed#-------------------------------------------------------------------------#
2d270d183SAsim Jamshedifeq ($(RTE_SDK),)
3d270d183SAsim Jamshed$(error "Please define RTE_SDK environment variable")
4d270d183SAsim Jamshedendif
5d270d183SAsim Jamshed
6d270d183SAsim Jamshedifeq ($(RTE_TARGET),)
7d270d183SAsim Jamshed$(error "Please define RTE_TARGET environment variable")
8d270d183SAsim Jamshedendif
9d270d183SAsim Jamshed#-------------------------------------------------------------------------#
10d270d183SAsim Jamshedinclude $(RTE_SDK)/mk/rte.vars.mk
11d270d183SAsim JamshedCC=gcc
12d270d183SAsim Jamshedobj-m=dpdk_iface.o
13d270d183SAsim JamshedDPDK_MACHINE_LINKER_FLAGS=$${RTE_SDK}/$${RTE_TARGET}/lib/ldflags.txt
14d270d183SAsim JamshedDPDK_MACHINE_LDFLAGS=$(shell cat ${DPDK_MACHINE_LINKER_FLAGS})
15d270d183SAsim JamshedDPDK_INC=${RTE_SDK}/${RTE_TARGET}/include
16d270d183SAsim JamshedDPDK_LIB=${RTE_SDK}/${RTE_TARGET}/lib
17d270d183SAsim Jamshedappname=dpdk_iface_main
18d270d183SAsim Jamshed#-------------------------------------------------------------------------#
19cfb1a230SAsim Jamshedifeq ($V,) # no echo
20cfb1a230SAsim Jamshed	export MSG=@echo
21cfb1a230SAsim Jamshed	export HIDE=@
22cfb1a230SAsim Jamshedelse
23cfb1a230SAsim Jamshed	export MSG=@\#
24cfb1a230SAsim Jamshed	export HIDE=
25cfb1a230SAsim Jamshedendif
26cfb1a230SAsim Jamshed#-------------------------------------------------------------------------#
27d270d183SAsim Jamshedall: dpdk_iface.c $(appname) $(appname).c
28d270d183SAsim Jamshed	make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules
29d270d183SAsim Jamshed
30d270d183SAsim Jamshed$(appname): $(appname).c
31cfb1a230SAsim Jamshed	$(MSG) "  CC $<"
32cfb1a230SAsim Jamshed	$(HIDE) $(CC) -g $(CFLAGS) $(appname).c -g -o $(appname) -g \
33d270d183SAsim Jamshed	-I${DPDK_INC} -include $(DPDK_INC)/rte_config.h \
34d270d183SAsim Jamshed	-L$(DPDK_LIB) ${DPDK_MACHINE_LDFLAGS} -lpthread
35d270d183SAsim Jamshed
36d270d183SAsim Jamshedclean:
37d270d183SAsim Jamshed	make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean
38cfb1a230SAsim Jamshed	$(MSG) "  CLEAN  $(appname)"
39cfb1a230SAsim Jamshed	$(HIDE) rm -rf *~ *.o *.ko dpdk_iface_main
40d270d183SAsim Jamshed
41d270d183SAsim Jamshedrun: all
42d270d183SAsim Jamshed	sudo ./$(appname)
43d270d183SAsim Jamshed#-------------------------------------------------------------------------#
44