Packages
glazer
0.1.5
0.5.17
0.5.16
0.5.15
0.5.14
retired
0.5.13
retired
0.5.12
retired
0.5.11
retired
0.5.10
retired
0.5.9
retired
0.5.8
retired
0.5.7
retired
0.5.6
retired
0.5.5
retired
0.5.4
retired
0.5.3
retired
0.5.2
retired
0.5.1
retired
0.5.0
retired
0.3.2
retired
0.3.0
retired
0.2.6
retired
0.2.5
retired
0.2.4
retired
0.2.3
retired
0.2.2
retired
0.2.1
retired
0.2.0
retired
0.1.7
retired
0.1.6
retired
0.1.5
retired
0.1.4
retired
Erlang NIF JSON encoder/decoder using the glaze C++ library
Retired package: Deprecated - Deprecated
Current section
Files
Jump to
Current section
Files
Makefile
ifndef VERBOSE
MAKEFLAGS += --no-print-directory
endif
REBAR_BUILD_DIR ?= _build/default
BUILD_DIR ?= $(REBAR_BUILD_DIR)/lib/glazer/.build
PRIV_DIR := $(abspath priv)
BUILD_TYPE ?= Release
NIF_DEBUG ?= 0
REBAR ?= rebar3
APP := $(shell sed -n '/application,/{s/^.*, //; s/,.*$$//; p; q}' src/*.app.src)
ifeq ($(NIF_DEBUG),1)
BUILD_TYPE := Debug
endif
all: compile
deps: nif
nif: $(PRIV_DIR)/glazer.so
$(PRIV_DIR)/glazer.so: $(BUILD_DIR)/Makefile
@cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) $(if $(VERBOSE),--verbose,) -- --no-print-directory
$(BUILD_DIR)/Makefile: $(BUILD_DIR) $(PRIV_DIR)
@cmake -S c_src -B $(BUILD_DIR) \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DPRIV_DIR=$(PRIV_DIR) \
$(if $(VERBOSE),,>/dev/null)
$(PRIV_DIR) $(BUILD_DIR):
@mkdir -p $@
compile: nif
$(REBAR) compile
clean:
$(REBAR) clean
@cmake --build $(BUILD_DIR) --target clean 2>/dev/null || true
distclean: clean
@rm -rf $(BUILD_DIR) priv/glazer.so
@rm -fr _build
test:
$(REBAR) eunit
doc docs:
$(REBAR) ex_doc
benchmark bench: deps
@echo "Running benchmarks..."
@mix bench
deps:
@mix deps.get
publish: docs
$(REBAR) hex publish$(if $(replace), --replace)
deprecate:
@if [ -z $(vsn) ]; then \
echo "Usage: $(MAKE) $@ vsn=X.Y.Z - Deprecate version X.Y.Z"; \
exit 1; \
fi
$(REBAR) hex retire $(APP) $(vsn) deprecated --message Deprecated
.PHONY: all deps doc compile clean distclean test nif