14418919fSjohnjiang# SPDX-License-Identifier: BSD-3-Clause 24418919fSjohnjiang# Copyright(c) 2019 Intel Corporation 34418919fSjohnjiang 44418919fSjohnjiang# binary name 54418919fSjohnjiangAPP = ioatfwd 64418919fSjohnjiang 74418919fSjohnjiang# all source are stored in SRCS-y 84418919fSjohnjiangSRCS-y := ioatfwd.c 94418919fSjohnjiang 104418919fSjohnjiang# Build using pkg-config variables if possible 114418919fSjohnjiangifeq ($(shell pkg-config --exists libdpdk && echo 0),0) 124418919fSjohnjiang 134418919fSjohnjiangall: shared 144418919fSjohnjiang.PHONY: shared static 154418919fSjohnjiangshared: build/$(APP)-shared 164418919fSjohnjiang ln -sf $(APP)-shared build/$(APP) 174418919fSjohnjiangstatic: build/$(APP)-static 184418919fSjohnjiang ln -sf $(APP)-static build/$(APP) 194418919fSjohnjiang 204418919fSjohnjiangPKGCONF ?= pkg-config 214418919fSjohnjiang 224418919fSjohnjiangPC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) 234418919fSjohnjiangCFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) 244418919fSjohnjiangLDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) 25*0c6bd470SfengbojiangLDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) 264418919fSjohnjiang 274418919fSjohnjiangbuild/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build 284418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) 294418919fSjohnjiang 304418919fSjohnjiangbuild/$(APP)-static: $(SRCS-y) Makefile $(PC_FILE) | build 314418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) 324418919fSjohnjiang 334418919fSjohnjiangbuild: 344418919fSjohnjiang @mkdir -p $@ 354418919fSjohnjiang 364418919fSjohnjiang.PHONY: clean 374418919fSjohnjiangclean: 384418919fSjohnjiang rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared 394418919fSjohnjiang test -d build && rmdir -p build || true 404418919fSjohnjiang 414418919fSjohnjiangelse # Build using legacy build system 424418919fSjohnjiangifeq ($(RTE_SDK),) 434418919fSjohnjiang$(error "Please define RTE_SDK environment variable") 444418919fSjohnjiangendif 454418919fSjohnjiang 464418919fSjohnjiang# Default target, detect a build directory, by looking for a path with a .config 474418919fSjohnjiangRTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config))))) 484418919fSjohnjiang 494418919fSjohnjianginclude $(RTE_SDK)/mk/rte.vars.mk 504418919fSjohnjiang 514418919fSjohnjiang 524418919fSjohnjiangCFLAGS += -O3 534418919fSjohnjiangCFLAGS += $(WERROR_FLAGS) 544418919fSjohnjiang 554418919fSjohnjianginclude $(RTE_SDK)/mk/rte.extapp.mk 564418919fSjohnjiangendif 57