PREFIX ?= /usr/local

CRATE_NAME = etgen_rs
TARGET_DIR = target/debug

HEADER = $(TARGET_DIR)/$(CRATE_NAME).h
LIB = $(TARGET_DIR)/lib$(CRATE_NAME).so

BUILD_CMD = cargo build

CBINDGEN_CMD = cbindgen . --output $(HEADER)

all: $(HEADER) $(LIB)
.PHONY: all

$(HEADER): $(LIB)
	$(CBINDGEN_CMD)
.PHONY: $(HEADER)

$(LIB):
	$(BUILD_CMD)
.PHONY: $(LIB)

PKG_CONFIG_FILE = $(PREFIX)/lib/pkgconfig/libetgen_rs.pc

PREFIX_FQ := $(shell readlink -f $(PREFIX))

install: all
	mkdir -p $(PREFIX)/include
	mkdir -p $(PREFIX)/lib
	mkdir -p $(PREFIX)/lib/pkgconfig
	cp $(HEADER) $(PREFIX)/include/
	cp $(LIB) $(PREFIX)/lib/
	sed 's:@PREFIX@:${PREFIX_FQ}:g' pkg/etgen_rs.pc.in > __tmp
	mv __tmp $(PKG_CONFIG_FILE)
.PHONY: all

clean:
	rm -f $(HEADER)
	cargo clean
.PHONY: clean
