14418919fSjohnjiang# SPDX-License-Identifier: BSD-3-Clause 24418919fSjohnjiang# Copyright(c) 2019 Intel Corporation 34418919fSjohnjiang 44418919fSjohnjiang# binary name 54418919fSjohnjiangAPP = ntb_fwd 64418919fSjohnjiang 74418919fSjohnjiang# all source are stored in SRCS-y 84418919fSjohnjiangSRCS-y := ntb_fwd.c 94418919fSjohnjiang 104418919fSjohnjiang# Build using pkg-config variables if possible 114418919fSjohnjiang$(shell pkg-config --exists libdpdk) 124418919fSjohnjiangifeq ($(.SHELLSTATUS),0) 134418919fSjohnjiang 144418919fSjohnjiangall: shared 154418919fSjohnjiang.PHONY: shared static 164418919fSjohnjiangshared: build/$(APP)-shared 174418919fSjohnjiang ln -sf $(APP)-shared build/$(APP) 184418919fSjohnjiangstatic: build/$(APP)-static 194418919fSjohnjiang ln -sf $(APP)-static build/$(APP) 204418919fSjohnjiang 214418919fSjohnjiangPKGCONF ?= pkg-config 224418919fSjohnjiang 234418919fSjohnjiangCFLAGS += -D_FILE_OFFSET_BITS=64 244418919fSjohnjiangLDFLAGS += -pthread 254418919fSjohnjiang 264418919fSjohnjiangPC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) 274418919fSjohnjiangCFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) 284418919fSjohnjiangLDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) 29*0c6bd470SfengbojiangLDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) 304418919fSjohnjiang 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 43*0c6bd470Sfengbojiang test -d build && rmdir -p build || true 444418919fSjohnjiang 454418919fSjohnjiangelse # Build using legacy build system 464418919fSjohnjiang 474418919fSjohnjiangifeq ($(RTE_SDK),) 484418919fSjohnjiang$(error "Please define RTE_SDK environment variable") 494418919fSjohnjiangendif 504418919fSjohnjiang 514418919fSjohnjiang# Default target, can be overridden by command line or environment 524418919fSjohnjiangRTE_TARGET ?= x86_64-native-linuxapp-gcc 534418919fSjohnjiang 544418919fSjohnjianginclude $(RTE_SDK)/mk/rte.vars.mk 554418919fSjohnjiang 564418919fSjohnjiangifneq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP),y) 574418919fSjohnjiang$(info This application can only operate in a linuxapp environment, \ 584418919fSjohnjiangplease change the definition of the RTE_TARGET environment variable) 594418919fSjohnjiangall: 604418919fSjohnjiangelse 614418919fSjohnjiang 624418919fSjohnjiangCFLAGS += -D_FILE_OFFSET_BITS=64 634418919fSjohnjiangCFLAGS += -O2 644418919fSjohnjiangCFLAGS += $(WERROR_FLAGS) 654418919fSjohnjiangCFLAGS += -DALLOW_EXPERIMENTAL_API 664418919fSjohnjiang 674418919fSjohnjianginclude $(RTE_SDK)/mk/rte.extapp.mk 684418919fSjohnjiang 694418919fSjohnjiangendif 704418919fSjohnjiangendif 71