Packages

A universal OAuth2.0 client written in Zig concurrency-ready

Current section

Files

Jump to
gesttalt Makefile
Raw

Makefile

MIX = mix
CFLAGS = -O2 -Wall -Wextra -Wno-unused-parameter -fPIC
ERL_INCLUDE = $(shell erl -eval 'io:format("~s", [lists:concat([code:root_dir(), "/erts-", erlang:system_info(version), "/include"])])' -s init stop -noshell)
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
LDFLAGS = -dynamiclib -undefined dynamic_lookup
SO_EXT = .so
else
LDFLAGS = -shared
SO_EXT = .so
endif
PRIV = priv
BUILD = $(MIX_BUILD_PATH)/lib/gesttalt/priv
SRC = c_src
ZIG_LIB = ../../zig-out/lib
NIF_SRC = $(SRC)/gesttalt_nif.c
NIF_SO = $(PRIV)/gesttalt_nif$(SO_EXT)
all: $(PRIV) $(NIF_SO)
$(PRIV):
mkdir -p $(PRIV)
$(NIF_SO): $(NIF_SRC)
ifeq ($(ELIXIR_MAKE_SKIP),1)
@echo "ELIXIR_MAKE_SKIP=1; skipping NIF build"
@exit 0
endif
$(CC) $(CFLAGS) -I$(ERL_INCLUDE) $(NIF_SRC) \
$(ZIG_LIB)/libgesttalt_ffi.a \
$(LDFLAGS) -o $(NIF_SO)
clean:
rm -rf $(PRIV)
.PHONY: all clean