2019-11-27 13:18:57 +00:00
|
|
|
ifeq ($(OPTIMIZE), 1)
|
|
|
|
RUST_MODE = --release
|
|
|
|
RUST_DIR = release
|
|
|
|
else
|
|
|
|
RUST_MODE =
|
|
|
|
RUST_DIR = debug
|
|
|
|
endif
|
|
|
|
|
2019-11-29 17:27:40 +00:00
|
|
|
libnixrust_PATH := $(d)/target/$(RUST_DIR)/libnixrust.$(SO_EXT)
|
|
|
|
libnixrust_INSTALL_PATH := $(libdir)/libnixrust.$(SO_EXT)
|
2021-05-17 17:08:57 +00:00
|
|
|
libnixrust_LDFLAGS_USE := -L$(d)/target/$(RUST_DIR) -lnixrust
|
|
|
|
libnixrust_LDFLAGS_USE_INSTALLED := -L$(libdir) -lnixrust
|
|
|
|
|
|
|
|
ifeq ($(OS), Linux)
|
|
|
|
libnixrust_LDFLAGS_USE += -ldl
|
|
|
|
libnixrust_LDFLAGS_USE_INSTALLED += -ldl
|
|
|
|
endif
|
2019-03-27 13:12:20 +00:00
|
|
|
|
2019-11-29 17:27:40 +00:00
|
|
|
ifeq ($(OS), Darwin)
|
|
|
|
libnixrust_BUILD_FLAGS = NIX_LDFLAGS="-undefined dynamic_lookup"
|
|
|
|
else
|
|
|
|
libnixrust_LDFLAGS_USE += -Wl,-rpath,$(abspath $(d)/target/$(RUST_DIR))
|
|
|
|
libnixrust_LDFLAGS_USE_INSTALLED += -Wl,-rpath,$(libdir)
|
|
|
|
endif
|
|
|
|
|
2019-09-15 21:09:30 +00:00
|
|
|
$(libnixrust_PATH): $(call rwildcard, $(d)/src, *.rs) $(d)/Cargo.toml
|
2019-11-27 13:18:57 +00:00
|
|
|
$(trace-gen) cd nix-rust && CARGO_HOME=$$(if [[ -d vendor ]]; then echo vendor; fi) \
|
2019-11-29 17:27:40 +00:00
|
|
|
$(libnixrust_BUILD_FLAGS) \
|
2019-12-04 14:32:28 +00:00
|
|
|
cargo build $(RUST_MODE) $$(if [[ -d vendor ]]; then echo --offline; fi) \
|
2019-11-29 17:27:40 +00:00
|
|
|
&& touch target/$(RUST_DIR)/libnixrust.$(SO_EXT)
|
|
|
|
|
|
|
|
$(libnixrust_INSTALL_PATH): $(libnixrust_PATH)
|
|
|
|
$(target-gen) cp $^ $@
|
|
|
|
ifeq ($(OS), Darwin)
|
|
|
|
install_name_tool -id $@ $@
|
|
|
|
endif
|
2019-07-04 23:01:18 +00:00
|
|
|
|
2019-11-27 16:33:59 +00:00
|
|
|
clean: clean-rust
|
|
|
|
|
|
|
|
clean-rust:
|
|
|
|
$(suppress) rm -rfv nix-rust/target
|
2019-09-16 22:18:17 +00:00
|
|
|
|
2019-12-05 18:11:09 +00:00
|
|
|
ifneq ($(OS), Darwin)
|
2019-09-16 22:18:17 +00:00
|
|
|
check: rust-tests
|
|
|
|
|
|
|
|
rust-tests:
|
2020-05-08 09:49:40 +00:00
|
|
|
$(trace-test) cd nix-rust && CARGO_HOME=$$(if [[ -d vendor ]]; then echo vendor; fi) cargo test --release $$(if [[ -d vendor ]]; then echo --offline; fi)
|
2019-12-05 18:11:09 +00:00
|
|
|
endif
|