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 11*2d9fd380Sjfb8856606ifneq ($(shell pkg-config --exists libdpdk && echo 0),0) 12*2d9fd380Sjfb8856606$(error "no installation of DPDK found") 13*2d9fd380Sjfb8856606endif 144418919fSjohnjiang 154418919fSjohnjiangall: shared 164418919fSjohnjiang.PHONY: shared static 174418919fSjohnjiangshared: build/$(APP)-shared 184418919fSjohnjiang ln -sf $(APP)-shared build/$(APP) 194418919fSjohnjiangstatic: build/$(APP)-static 204418919fSjohnjiang ln -sf $(APP)-static build/$(APP) 214418919fSjohnjiang 224418919fSjohnjiangPKGCONF ?= pkg-config 234418919fSjohnjiang 244418919fSjohnjiangPC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) 254418919fSjohnjiangCFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) 264418919fSjohnjiangLDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) 270c6bd470SfengbojiangLDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) 284418919fSjohnjiang 29*2d9fd380Sjfb8856606CFLAGS += -DALLOW_EXPERIMENTAL_API 30*2d9fd380Sjfb8856606 314418919fSjohnjiangbuild/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build 324418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) 334418919fSjohnjiang 344418919fSjohnjiangbuild/$(APP)-static: $(SRCS-y) Makefile $(PC_FILE) | build 354418919fSjohnjiang $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_STATIC) 364418919fSjohnjiang 374418919fSjohnjiangbuild: 384418919fSjohnjiang @mkdir -p $@ 394418919fSjohnjiang 404418919fSjohnjiang.PHONY: clean 414418919fSjohnjiangclean: 424418919fSjohnjiang rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared 434418919fSjohnjiang test -d build && rmdir -p build || true 44