blob: c8723ef8d8464463595c2101832f5c3ffad01e5a [file] [log] [blame]
#
# Makefile for the PF_RING API example programs
#
# Try to make both programs written on top of the
# PF_RING library and programs originally written
# on top of PCAP library and linked now to use
# the version with PF_RING aware functionalities.
#
#
# PF_RING
#
PFRINGDIR = ../lib
LIBPFRING = ${PFRINGDIR}/libpfring.a
#
# DNA Support
DNA_DEFINE = #-DENABLE_DNA_SUPPORT
#
# PF_RING aware libpcap
#
O_FLAG = -O2 -DHAVE_PF_RING
EXTRA_LIBS =
PCAPDIR = ../libpcap-1.1.1-ring
LIBPCAP = ${PCAPDIR}/libpcap.a ${EXTRA_LIBS}
#
# Search directories
#
PFRING_KERNEL=../../kernel
INCLUDE = -I${PFRING_KERNEL} -I${PFRING_KERNEL}/plugins -I${PFRINGDIR} -I${PCAPDIR}
#
# C compiler and flags
#
#
# CROSS_COMPILE=arm-mv5sft-linux-gnueabi-
#
CC = ${CROSS_COMPILE}gcc #--platform=native
CFLAGS = @CFLAGS@ ${O_FLAG} -Wall ${INCLUDE} ${DNA_DEFINE} @HAVE_ZERO@ @HAVE_BPF@ -O2 # -g
# LDFLAGS =
#
# User and System libraries
#
LIBS = ${LIBPFRING} @DAG_LIB@ -lpthread @SYSLIBS@ @BPF_LIB@ @SILICOM_LIBS@ @REDIS_LIB@ -lrt
# How to make an object file
%.o: %.c pfutils.c
# @echo "=*= making object $@ =*="
${CC} ${CFLAGS} -c $< -o $@
#
# Main targets
#
PFPROGS = pfcount pfcount_multichannel preflect pfbounce pfmap \
pfbridge alldevs dummy_plugin_pfcount pcap2nspcap pfcount_dummy_plugin pffilter_test \
pfcount_aggregator pfcount_bundle pfcount_82599 pfsystest pfsend pflatency \
pfdump
ifneq (@HAVE_ZERO@,)
PFPROGS += pfdnabounce pfdnacluster_master pfdnacluster_multithread pfdnacluster_mt_rss_frwd
endif
PCAPPROGS = pcount pfwrite
TARGETS = ${PFPROGS} ${PCAPPROGS}
RCOBJS = ringc.o interval.o
RSOBJS = rings.o interval.o
RMOBJS = ringm.o interval.o
RPOBJS = pcaps.o interval.o
all: ${TARGETS}
ringc: ${RCOBJS} ${LIBPFRING}
${CC} ${CFLAGS} ${RCOBJS} ${LIBS} -o $@
rings: ${RSOBJS} ${LIBPFRING}
${CC} ${CFLAGS} ${RSOBJS} ${LIBS} -o $@
ringm: ${RMOBJS} ${LIBPFRING}
${CC} ${CFLAGS} ${RMOBJS} ${LIBS} -o $@
pcaps: ${RPOBJS}
${CC} ${CFLAGS} ${RPOBJS} ${LIBPCAP} ${LIBS} -o $@
pfcount: pfcount.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount.o ${LIBS} -o $@
dummy_plugin_pfcount: dummy_plugin_pfcount.o ${LIBPFRING}
${CC} ${CFLAGS} dummy_plugin_pfcount.o ${LIBS} -o $@
pffilter_test: pffilter_test.o ${LIBPFRING}
${CC} ${CFLAGS} pffilter_test.o ${LIBS} -o $@
pcap2nspcap: pcap2nspcap.o ${LIBPFRING}
${CC} ${CFLAGS} pcap2nspcap.o ${LIBPCAP} ${LIBS} -o $@
pfcount_multichannel: pfcount_multichannel.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount_multichannel.o ${LIBS} -o $@
pfcount_82599: pfcount_82599.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount_82599.o ${LIBS} -o $@
pfcount_bundle: pfcount_bundle.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount_bundle.o ${LIBS} -o $@
pfcount_dummy_plugin: pfcount_dummy_plugin.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount_dummy_plugin.o ${LIBS} -o $@
pfcount_aggregator: pfcount_aggregator.o ${LIBPFRING}
${CC} ${CFLAGS} pfcount_aggregator.o ${LIBS} -o $@
preflect: preflect.o ${LIBPFRING}
${CC} ${CFLAGS} preflect.o ${LIBPCAP} ${LIBS} -o $@
pfbounce: pfbounce.o ${LIBPFRING}
${CC} ${CFLAGS} pfbounce.o ${LIBPCAP} ${LIBS} -o $@
pfdnabounce: pfdnabounce.o ${LIBPFRING}
${CC} ${CFLAGS} pfdnabounce.o ${LIBPCAP} ${LIBS} -o $@
pfsend: pfsend.o ${LIBPFRING}
${CC} ${CFLAGS} pfsend.o ${LIBPCAP} ${LIBS} -o $@
pflatency: pflatency.o ${LIBPFRING}
${CC} ${CFLAGS} pflatency.o ${LIBPCAP} ${LIBS} -o $@
pftwin: pftwin.o ${LIBPFRING}
${CC} ${CFLAGS} pftwin.o ${LIBS} -o $@
ptwin: ptwin.o ${LIBPFRING}
${CC} ${CFLAGS} ptwin.o ${LIBPCAP} ${LIBS} -o $@
pfmap: pfmap.o ${LIBPFRING}
${CC} ${CFLAGS} pfmap.o ${LIBS} -o $@
pfbridge: pfbridge.o ${LIBPFRING}
${CC} ${CFLAGS} pfbridge.o ${LIBS} -o $@
pcount: pcount.o ${LIBPCAP} ${LIBPFRING}
${CC} ${CFLAGS} pcount.o ${LIBPCAP} ${LIBS} -o $@
alldevs: alldevs.o ${LIBPCAP} ${LIBPFRING}
${CC} ${CFLAGS} alldevs.o ${LIBPCAP} ${LIBS} -o $@
pfwrite: pfwrite.o ${LIBPCAP} ${LIBPFRING}
${CC} ${CFLAGS} pfwrite.o ${LIBPCAP} ${LIBS} -o $@
pfsystest: pfsystest.o ${LIBPFRING}
${CC} ${CFLAGS} pfsystest.o ${LIBS} -o $@
pfdnacluster_master: pfdnacluster_master.o ${LIBPFRING}
${CC} ${CFLAGS} pfdnacluster_master.o ${LIBS} -o $@
pfdnacluster_multithread: pfdnacluster_multithread.o ${LIBPFRING}
${CC} ${CFLAGS} pfdnacluster_multithread.o ${LIBS} -o $@
pfdnacluster_mt_rss_frwd: pfdnacluster_mt_rss_frwd.o ${LIBPFRING}
${CC} ${CFLAGS} pfdnacluster_mt_rss_frwd.o ${LIBS} -o $@
pfdump: pfdump.o ${LIBPFRING}
${CC} ${CFLAGS} pfdump.o ${LIBS} -o $@
clean:
@rm -f ${TARGETS} *.o *~