| # |
| # Makefile for both static and dynamic PF_RING user libraries |
| # |
| # |
| |
| # |
| # Installation directory |
| # |
| INSTDIR = ${DESTDIR}/@INSTALL_PREFIX@ |
| |
| # |
| # Search directories |
| # |
| INCLUDE = -I../../kernel -I../../vPF_RING/guest/kernel @BPF_INCLUDE@ |
| |
| # |
| # Zero ToolKit |
| # |
| ZERO_OBJS = @ZERO_OBJS@ |
| |
| # |
| # DNA |
| # |
| DNA_OBJS = @DNA_OBJS@ |
| |
| # |
| # Virtual PF_RING |
| # |
| VIRTUAL_OBJS = @VIRTUAL_OBJS@ |
| |
| # |
| # DAG |
| # |
| DAG_OBJS = @DAG_OBJS@ |
| |
| # |
| # Object files |
| # |
| OBJS = pfring.o pfring_mod.o pfring_utils.o pfring_mod_stack.o pfring_mod_usring.o pfring_hw_filtering.o ${ZERO_OBJS} ${DNA_OBJS} ${VIRTUAL_OBJS} ${DAG_OBJS} |
| |
| # |
| # C compiler and flags |
| # |
| # |
| # CROSS_COMPILE=arm-mv5sft-linux-gnueabi- |
| # |
| CC = ${CROSS_COMPILE}gcc |
| CFLAGS = @CFLAGS@ -Wall -fPIC ${INCLUDE} @HAVE_ZERO@ @HAVE_DNA@ @HAVE_VIRTUAL@ @HAVE_DAG@ @HAVE_BPF@ @HAVE_REDIRECTOR@ @HAVE_HW_TIMESTAMP@ -O2 # -g |
| LDFLAGS = -g -shared |
| SYSLIBS = -lpthread @SYSLIBS@ |
| |
| # How to make an object file |
| %.o: %.c %.h Makefile |
| # @echo "=*= making object $@ =*=" |
| ${CC} ${CFLAGS} -c $< -o $@ |
| |
| # |
| # Main targets |
| # |
| STATICLIB = libpfring.a |
| DYNAMICLIB = libpfring.so |
| TARGETS = ${STATICLIB} ${DYNAMICLIB} |
| RING_H = ../../kernel/linux/pf_ring.h |
| |
| all: ${TARGETS} |
| |
| ${STATICLIB}: Makefile @ZERO_DEP@ @DNA_DEP@ @VIRTUAL_DEP@ ${OBJS} pfring.h ${RING_H} |
| @echo "=*= making library $@ =*=" |
| ar rs $@ ${OBJS} |
| ranlib $@ |
| |
| ${DYNAMICLIB}: ${OBJS} @ZERO_DEP@ @DNA_DEP@ @VIRTUAL_DEP@ pfring.h ${RING_H} Makefile |
| @echo "=*= making library $@ =*=" |
| ${CC} ${LDFLAGS} ${OBJS} ${SYSLIBS} -o $@ |
| |
| extract_dna_lib: |
| ar x @DNA_LIB@ |
| |
| extract_zero_lib: |
| ar x @ZERO_LIB@ |
| |
| extract_virtual_lib: |
| ar x @VIRTUAL_LIB@ |
| |
| extract_userspace_ring_lib: |
| ar x @USERSPACE_RING_LIB@ |
| |
| install: install-static install-shared |
| |
| install-includes: |
| mkdir -p ${INSTDIR}/include |
| cp pfring.h ${INSTDIR}/include/ |
| |
| install-static: ${STATICLIB} install-includes |
| mkdir -p ${INSTDIR}/lib |
| cp ${STATICLIB} ${INSTDIR}/lib/ |
| |
| install-shared: ${DYNAMICLIB} install-includes |
| mkdir -p ${INSTDIR}/lib |
| cp ${DYNAMICLIB} ${INSTDIR}/lib/ |
| @if test "$(USER)" = "root"; then \ |
| ldconfig; \ |
| fi |
| |
| clean: |
| @rm -f ${TARGETS} *.o *~ |