LOCAL=$(HOME)/.local

all: debug

debug:
	cargo build

release:
	cargo build --release

install: release
	cp target/release/energy_bench $(LOCAL)/bin/
	cp target/release/energy_bench.h $(LOCAL)/include/
	cp target/release/libenergy_bench.so $(LOCAL)/lib/

test_c: install
	gcc examples/sort.c -Wall -Wextra -fsanitize=address -fsanitize=undefined -lenergy_bench -o sort.out
	./sort.out
	$(RM) sort.out

uninstall:
	$(RM) $(LOCAL)/bin/energy_bench
	$(RM) $(LOCAL)/include/energy_bench.h
	$(RM) $(LOCAL)/lib/libenergy_bench.so

clean:
	cargo clean
