OS := $(shell uname -s)
ifeq ($(OS), Linux)
	LIBS_EXT = so
else
	ifeq ($(OS), Darwin)
		LIBS_EXT = dylib
	endif
endif

local-env:

build:
	cargo build --bin tarantool-test --features="bin"

build-example:
	cargo build -p example

run-example: build-example
	cargo run --features="bin" -p tarantool-test -- -p ./target/debug/libexample.$(LIBS_EXT)
	cargo run --features="bin" -p tarantool-test -- -p ./target/debug/libexample.$(LIBS_EXT) -e primary_test_entrypoint
	cargo run --features="bin" -p tarantool-test -- -p ./target/debug/libexample.$(LIBS_EXT) -e alternative_test_entrypoint

int-test: build build-example
	cargo test -p tests

test: int-test

rust-lint:
	cargo clippy --all-targets --all-features -- -D warnings

lint: rust-lint

publish-dry-run:
	cargo publish --dry-run -p tarantool-test --all-features

publish:
	cargo publish -p tarantool-test --all-features