#
# 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 *~
