xref: /spdk/go/rpc/Makefile (revision 79c52a64269385b9a8b53c2fe03e2343160d38b3)
1#  SPDX-License-Identifier: BSD-3-Clause
2#  Copyright (C) 2023 Intel Corporation.
3#  All rights reserved.
4#
5
6SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
7include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
8CLIENT_BUILD_DIR = $(SPDK_ROOT_DIR)/build/go/rpc
9CLIENT_SRC := $(wildcard $(CURDIR)/*.go $(CURDIR)/client/*.go)
10
11.PHONY: all clean mock-generate
12
13CGOFLAGS=-trimpath -mod=readonly -gcflags="all=-spectre=all -N -l" -asmflags="all=-spectre=all" -buildmode=c-shared -ldflags="all=-s -w"
14
15all: $(CLIENT_SRC)
16	$(Q)go build $(CGOFLAGS) -o $(CLIENT_BUILD_DIR)/libspdk_gorpc.so clientIntegration.go
17
18clean:
19	$(Q)rm -rf $(CLIENT_BUILD_DIR)
20
21mock-generate:
22	$(Q)mockery --name=IClient --dir client --output mocks --with-expecter --boilerplate-file mocks/boilerplate.txt
23