#############################################################
# Makefile to build libpcap in toolchain
#
#

TOPDIR=..
LIBNAME=pcap
include $(TOPDIR)/Makefiles/Repo-defines.mk

LIBPCAP_VER=1.7.4

ifeq ($(BUILD),debug-gcov)
EXTRA_CFLAGS= -g -O0
else
EXTRA_CFLAGS= -O3
endif

.PHONY: all clean distclean

all:
	rm -rf libpcap-$(LIBPCAP_VER)
	$(MKDIR) $(PRECOMPILED_DIR)
	tar -xvzf libpcap-$(LIBPCAP_VER).tar.gz && \
		cd libpcap-$(LIBPCAP_VER) && \
		CC=$(TOOLBIN)/gcc CXX=$(TOOLBIN)/g++ AR=$(TOOLBIN)/ar RANLIB=$(TOOLBIN)/ranlib \
		CFLAGS="$(EMPIRIX_LDFLAGS) $(EXTRA_CFLAGS)" \
		LDFLAGS="$(EMPIRIX_LDFLAGS) $(ADDITIONAL_RPATHS_LINKER_FLAGS)" \
		PATH=$(TOOLBIN):${PATH} \
		./configure --host=$(ARCH)-unknown-linux-gnu --target=$(ARCH)-unknown-linux-gnu --prefix=$(DEVEL_ROOT)/usr --with-pcap=linux ; \
		make ; \
		cp -fv libpcap.so.$(LIBPCAP_VER) ../$(PRECOMPILED_DIR)
	# Unfortunately symbolic links are not allowed in Perforce, so we need to create them on-the-fly:
	@$(LIBLINKS) $(PRECOMPILED_DIR)/*.so.$(LIBPCAP_VER)

clean_build_intermediate_artifacts:
	rm -rf libpcap-$(LIBPCAP_VER)


clean_build_outputs: clean
	rm -f $(PRECOMPILED_DIR)/*.so*

include $(TOPDIR)/Makefiles/ThirdPartyTargetHelpers.mk
