xref: /f-stack/dpdk/examples/ioat/Makefile (revision 2d9fd380)
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