build:
cd golib && go build -buildmode=c-archive -o target/debug/libnosql_db_sdk_ffi.a main.go
cargo build
build-release:
cd golib && go build -buildmode=c-archive -o target/release/libnosql_db_sdk_ffi_release.a -ldflags="-s -w" -trimpath main.go
cargo build --release
run: build
./target/debug/oracle-nosql-db-sdk-rust
run-release: build-release
./target/release/oracle-nosql-db-sdk-rust
LIST_TARGET_DIR := golib/target/list
list:
@mkdir $(LIST_TARGET_DIR)
@cd golib && go build -buildmode=c-archive -o target/list/list.a main.go
@cd $(LIST_TARGET_DIR) && ar -x list.a
@find $(LIST_TARGET_DIR) -type f -name '*.o' ! -name 'go.o' -exec nm {} \; | grep -v 'cgo' | awk '$$2 == "T" {print $$3}' | grep -v -e "crosscall_amd64" -e "fatalf"
@cd $(LIST_TARGET_DIR) && cd .. && rm -rf list