14418919fSjohnjiang# SPDX-License-Identifier: BSD-3-Clause 24418919fSjohnjiang# Copyright(C) 2019 Marvell International Ltd. 34418919fSjohnjiang# 44418919fSjohnjiang 54418919fSjohnjiang# binary name 64418919fSjohnjiangAPP = l2fwd-event 74418919fSjohnjiang 84418919fSjohnjiang# all source are stored in SRCS-y 94418919fSjohnjiangSRCS-y := main.c 104418919fSjohnjiangSRCS-y += l2fwd_poll.c 114418919fSjohnjiangSRCS-y += l2fwd_event.c 124418919fSjohnjiangSRCS-y += l2fwd_common.c 134418919fSjohnjiangSRCS-y += l2fwd_event_generic.c 144418919fSjohnjiangSRCS-y += l2fwd_event_internal_port.c 154418919fSjohnjiang 164418919fSjohnjiang# Build using pkg-config variables if possible 17*2d9fd380Sjfb8856606ifneq ($(shell pkg-config --exists libdpdk && echo 0),0) 18*2d9fd380Sjfb8856606$(error "no installation of DPDK found") 19*2d9fd380Sjfb8856606endif 204418919fSjohnjiang 214418919fSjohnjiangall: shared 224418919fSjohnjiang.PHONY: shared static 234418919fSjohnjiangshared: build/$(APP)-shared 244418919fSjohnjiang ln -sf $(APP)-shared build/$(APP) 254418919fSjohnjiangstatic: build/$(APP)-static 264418919fSjohnjiang ln -sf $(APP)-static build/$(APP) 274418919fSjohnjiang 284418919fSjohnjiangPKGCONF ?= pkg-config 294418919fSjohnjiang 304418919fSjohnjiangPC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) 314418919fSjohnjiangCFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) 324418919fSjohnjiangLDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) 330c6bd470SfengbojiangLDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) 344418919fSjohnjiang 35*2d9fd380Sjfb8856606CFLAGS += -DALLOW_EXPERIMENTAL_API 36*2d9fd380Sjfb8856606 374418919fSjohnjiangbuild/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build 384418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) 394418919fSjohnjiang 404418919fSjohnjiangbuild/$(APP)-static: $(SRCS-y) Makefile $(PC_FILE) | build 414418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) 424418919fSjohnjiang 434418919fSjohnjiangbuild: 444418919fSjohnjiang @mkdir -p $@ 454418919fSjohnjiang 464418919fSjohnjiang.PHONY: clean 474418919fSjohnjiangclean: 484418919fSjohnjiang rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared 494418919fSjohnjiang test -d build && rmdir -p build || true 50