9510dd1feb
The purpose of this commit is to add the necessary function calls and supporting infrastructure to allow the Forwarding Information Base (FIB) library to be integrated into the l3fwd sample app. Instead of adding an individual flag for FIB, a new flag '--lookup' has been added that allows the user to select their desired lookup method. The flags '-E' and '-L' have been retained for backwards compatibility. Signed-off-by: Conor Walsh <conor.walsh@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright(c) 2010-2016 Intel Corporation
|
|
|
|
# binary name
|
|
APP = l3fwd
|
|
|
|
# all source are stored in SRCS-y
|
|
SRCS-y := main.c l3fwd_lpm.c l3fwd_fib.c l3fwd_em.c l3fwd_event.c
|
|
SRCS-y += l3fwd_event_generic.c l3fwd_event_internal_port.c
|
|
|
|
# Build using pkg-config variables if possible
|
|
ifneq ($(shell pkg-config --exists libdpdk && echo 0),0)
|
|
$(error "no installation of DPDK found")
|
|
endif
|
|
|
|
all: shared
|
|
.PHONY: shared static
|
|
shared: build/$(APP)-shared
|
|
ln -sf $(APP)-shared build/$(APP)
|
|
static: build/$(APP)-static
|
|
ln -sf $(APP)-static build/$(APP)
|
|
|
|
PKGCONF ?= pkg-config
|
|
|
|
PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null)
|
|
CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk)
|
|
# Added for 'rte_eth_link_to_str()'
|
|
CFLAGS += -DALLOW_EXPERIMENTAL_API
|
|
LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk)
|
|
LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk)
|
|
|
|
ifeq ($(MAKECMDGOALS),static)
|
|
# check for broken pkg-config
|
|
ifeq ($(shell echo $(LDFLAGS_STATIC) | grep 'whole-archive.*l:lib.*no-whole-archive'),)
|
|
$(warning "pkg-config output list does not contain drivers between 'whole-archive'/'no-whole-archive' flags.")
|
|
$(error "Cannot generate statically-linked binaries with this version of pkg-config")
|
|
endif
|
|
endif
|
|
|
|
build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build
|
|
$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED)
|
|
|
|
build/$(APP)-static: $(SRCS-y) Makefile $(PC_FILE) | build
|
|
$(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC)
|
|
|
|
build:
|
|
@mkdir -p $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
|
|
test -d build && rmdir -p build || true
|