Separate rebar.config for dialyzer/gdb/valgrind
This commit is contained in:
42
GNUmakefile
42
GNUmakefile
@@ -1,8 +1,10 @@
|
||||
REBAR=./rebar
|
||||
REBAR_DEBUG=$(REBAR) -C rebar.debug.config
|
||||
REBAR_COMPILE=$(REBAR) get-deps compile
|
||||
LAST_CONFIG:=$(shell cat config.tmp)
|
||||
PLT=dialyzer/sqlite3.plt
|
||||
|
||||
all: compile
|
||||
all: config_normal compile
|
||||
|
||||
compile:
|
||||
$(REBAR_COMPILE)
|
||||
@@ -11,20 +13,48 @@ test:
|
||||
$(REBAR_COMPILE) eunit
|
||||
|
||||
clean:
|
||||
-rm -rf deps ebin priv doc/* .eunit c_src/*.o
|
||||
-rm -rf deps ebin priv doc/* .eunit c_src/*.o config.tmp
|
||||
|
||||
docs:
|
||||
$(REBAR_COMPILE) doc
|
||||
|
||||
static:
|
||||
$(REBAR_COMPILE)
|
||||
static: config_debug
|
||||
$(REBAR_DEBUG) get-deps compile
|
||||
ifeq ($(wildcard $(PLT)),)
|
||||
dialyzer --build_plt --apps kernel stdlib erts --output_plt $(PLT)
|
||||
else
|
||||
dialyzer --plt $(PLT) -r ebin
|
||||
endif
|
||||
|
||||
cross_compile: clean
|
||||
cross_compile: config_cross
|
||||
$(REBAR_COMPILE) -C rebar.cross_compile.config
|
||||
|
||||
.PHONY: all compile test clean docs static
|
||||
valgrind: clean
|
||||
$(REBAR_DEBUG) get-deps 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
|
||||
|
||||
Reference in New Issue
Block a user