#
VPATH = ./priv

ifeq ($(BOOSTINCLUDE),)
BOOSTINCLUDE := /usr/local/include
endif
ifeq ($(BOOSTLIB),)
BOOSTLIB := /usr/local/lib
endif
LD_LIBRARY_PATH ?= .

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) -I$(BOOSTINCLUDE) -fPIC -g -O3 -flto -mtune=generic -Wno-write-strings
LDFLAGS = -shared -L$(LD_LIBRARY_PATH) -L$(BOOSTLIB) -lboost_math_c99 -lboost_random

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
LDFLAGS += -undefined dynamic_lookup
endif

CC = g++

SRCS = boostnif.c
OBJS = $(SRCS:.c=.o)

priv/libboostnif.so: $(OBJS)
	env
	$(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)

.PHONY: clean

clean:
	rm -f priv/libboostnif.so
