TARGET_DIR = ./rust/target
LIBDIR = $(TARGET_DIR)/release
STATLIB = $(LIBDIR)/libarcgisplaces.a
PKG_LIBS = -L$(LIBDIR) -larcgisplaces -lssl -lcrypto
CRAN_FLAGS=-j 2 --offline

all: C_clean

$(SHLIB): $(STATLIB)

CARGOTMP = $(CURDIR)/.cargo
VENDOR_DIR = $(CURDIR)/vendor

$(STATLIB):
	if [ "$(NOT_CRAN)" != "true" ]; then \
		if [ -f ./rust/vendor.tar.xz ]; then \
			tar xf ./rust/vendor.tar.xz && \
			mkdir -p $(CARGOTMP) && \
			cp ./rust/vendor-config.toml $(CARGOTMP)/config.toml; \
		fi; \
		export CARGO_HOME=$(CARGOTMP); \
		export PATH="$(PATH):$(HOME)/.cargo/bin" && \
		cargo build $(CRAN_FLAGS) --lib --release --manifest-path=./rust/Cargo.toml --target-dir $(TARGET_DIR); \
			rm -Rf $(CARGOTMP) $(VENDOR_DIR) $(LIBDIR)/build; \
	else \
		export PATH="$(PATH):$(HOME)/.cargo/bin" && \
		cargo build --lib --release --manifest-path=./rust/Cargo.toml --target-dir $(TARGET_DIR); \
	fi

C_clean:
	rm -Rf $(SHLIB) $(STATLIB) $(OBJECTS) 

clean:
		rm -Rf $(SHLIB) $(STATLIB) $(OBJECTS) $(TARGET_DIR) $(VENDOR_DIR)
