70 lines
1.3 KiB
Makefile
70 lines
1.3 KiB
Makefile
REBAR ?= ./rebar
|
|
REBAR_DEBUG=$(REBAR) -C rebar.debug.config
|
|
REBAR_COMPILE=$(REBAR) get-deps compile
|
|
REBAR_DEBUG_COMPILE=$(REBAR_DEBUG) get-deps compile
|
|
LAST_CONFIG:=$(shell cat config.tmp)
|
|
PLT=dialyzer/sqlite3.plt
|
|
|
|
all: config_normal compile
|
|
|
|
debug: config_debug
|
|
$(REBAR_DEBUG_COMPILE)
|
|
|
|
compile:
|
|
$(REBAR) get-deps
|
|
$(REBAR) compile
|
|
|
|
test:
|
|
$(REBAR) get-deps
|
|
$(REBAR) compile
|
|
$(REBAR) eunit
|
|
|
|
clean:
|
|
-rm -rf deps ebin priv/*.so doc/* .eunit/* c_src/*.o config.tmp
|
|
|
|
docs:
|
|
$(REBAR) get-deps
|
|
$(REBAR) compile
|
|
$(REBAR) doc
|
|
|
|
static: config_debug
|
|
$(REBAR_DEBUG_COMPILE)
|
|
ifeq ($(wildcard $(PLT)),)
|
|
dialyzer --build_plt --apps kernel stdlib erts --output_plt $(PLT)
|
|
else
|
|
dialyzer --plt $(PLT) -r ebin
|
|
endif
|
|
|
|
cross_compile: config_cross
|
|
$(REBAR_COMPILE) -C rebar.cross_compile.config
|
|
|
|
valgrind: config_debug
|
|
$(REBAR_DEBUG_COMPILE)
|
|
valgrind --tool=memcheck --leak-check=yes --num-callers=20 ./test.sh
|
|
|
|
ifeq ($(LAST_CONFIG),normal)
|
|
config_normal: ;
|
|
else
|
|
config_normal: clean
|
|
rm -f config.tmp
|
|
echo "normal" > config.tmp
|
|
endif
|
|
|
|
ifeq ($(LAST_CONFIG),debug)
|
|
config_debug: ;
|
|
else
|
|
config_debug: clean
|
|
rm -f config.tmp
|
|
echo "debug" > config.tmp
|
|
endif
|
|
|
|
ifeq ($(LAST_CONFIG),cross)
|
|
config_cross: ;
|
|
else
|
|
config_cross: clean
|
|
rm -f config.tmp
|
|
echo "cross" > config.tmp
|
|
endif
|
|
|
|
.PHONY: all compile test clean docs static valgrind config_normal config_debug config_cross
|