xref: /spdk/go/rpc/Makefile (revision 26d44a121d9e45b13d090cd95fff369d55d0fe0d)
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