CFLAGS = -fPIC -dynamiclib -undefined dynamic_lookup -ltiff -ljpeg -lz -lm -pthread

ERLANG_PATH = $(shell erl -eval 'io:format("~s", [lists:concat([code:root_dir(), "/erts-", erlang:system_info(version), "/include"])])' -s init stop -noshell)
CFLAGS += -I$(ERLANG_PATH)

all: bardecode

bardecode:
	$(MIX) compile

priv/bardecode.so: src/bardecode.c src/barcode_linux
	$(CC) $(CFLAGS) -shared $(LDFLAGS) -o $@ src/bardecode.c src/barcode_linux/arch/lib/bardecode.a

barcode_linux.tar.gz:
	curl -O http://bardecode.com/barcode_linux.tar.gz

src/barcode_linux: barcode_linux.tar.gz
	mkdir -p src/barcode_linux
	tar -xvf barcode_linux.tar.gz -C src/barcode_linux --strip-components=1
	cd src/barcode_linux && ./configure.sh

clean:
	$(RM) priv/bardecode.so
	$(RM) -rf src/barcode_linux
	$(RM) barcode_linux.tar.gz

.PHONY: all bardecode clean
