Packages

A Node.js BLE (Bluetooth Low Energy) port for Erlang and Elixir.

Current section

Files

Jump to
noble priv Makefile
Raw

priv/Makefile

# Based on c_src.mk from erlang.mk by Loic Hoguin <essen@ninenines.eu>
CURDIR := $(shell pwd)
BASEDIR := $(abspath $(CURDIR)/..)
# Configuration.
PRIV_DIR ?= $(CURDIR)
PRIV_NODE_MODULES ?= $(PRIV_DIR)/node_modules
# "erl" command.
ERL = erl +A0 -noinput -boot start_clean
# Platform detection.
ifeq ($(PLATFORM),)
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
PLATFORM = linux
else ifeq ($(UNAME_S),Darwin)
PLATFORM = darwin
else ifeq ($(UNAME_S),SunOS)
PLATFORM = solaris
else ifeq ($(UNAME_S),GNU)
PLATFORM = gnu
else ifeq ($(UNAME_S),FreeBSD)
PLATFORM = freebsd
else ifeq ($(UNAME_S),NetBSD)
PLATFORM = netbsd
else ifeq ($(UNAME_S),OpenBSD)
PLATFORM = openbsd
else ifeq ($(UNAME_S),DragonFly)
PLATFORM = dragonfly
else ifeq ($(shell uname -o),Msys)
PLATFORM = msys2
else
$(error Unable to detect platform. Please open a ticket with the output of uname -a.)
endif
export PLATFORM
endif
# System type and C compiler/flags.
# Verbosity.
V ?= 0
verbose_0 = @
verbose_2 = set -x;
verbose = $(verbose_$(V))
c_verbose_0 = @echo " C " $(?F);
c_verbose = $(c_verbose_$(V))
cpp_verbose_0 = @echo " CPP " $(?F);
cpp_verbose = $(cpp_verbose_$(V))
dep_verbose_0 = @echo " DEP " $(1);
dep_verbose_2 = set -x;
dep_verbose = $(dep_verbose_$(V))
gen_verbose_0 = @echo " GEN " $@;
gen_verbose_2 = set -x;
gen_verbose = $(gen_verbose_$(V))
link_verbose_0 = @echo " LD " $(@F);
link_verbose = $(link_verbose_$(V))
# Targets.
core_find = $(if $(wildcard $1),$(shell find $(1:%/=%) -type f -name $(subst *,\*,$2)))
ifeq ($(PLATFORM),msys2)
core_native_path = $(subst \,\\\\,$(shell cygpath -w $1))
else
core_native_path = $1
endif
all:: app
app:: $(PRIV_NODE_MODULES)
test-build:: $(PRIV_NODE_MODULES)
$(PRIV_NODE_MODULES):
$(verbose) if [ ! -f $(PRIV_NODE_MODULES)/.bin/noble-ipc-server-stdio ]; then \
$(PRIV_DIR)/install.sh; \
else \
true; \
fi
clean:: clean-node_modules
clean-node_modules:
$(gen_verbose) rm -rf $(PRIV_NODE_MODULES)
distclean:: distclean-node_modules
distclean-node_modules:
$(gen_verbose) rm -rf $(PRIV_NODE_MODULES)