Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 117 lines (90 sloc) 2.742 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
RIAK_TAG = $(shell hg identify -t)

.PHONY: rel stagedevrel deps

all: deps compile

compile:
./rebar compile

deps:
./rebar get-deps

clean:
./rebar clean

distclean: clean devclean relclean ballclean
./rebar delete-deps

test:
./rebar skip_deps=true eunit

##
## Release targets
##
rel: deps
./rebar compile generate

relclean:
rm -rf rel/riak

##
## Developer targets
##
stagedevrel: dev1 dev2 dev3
$(foreach dev,$^,\
$(foreach dep,$(wildcard deps/*), rm -rf dev/$(dev)/lib/$(shell basename $(dep))-* && ln -sf $(abspath $(dep)) dev/$(dev)/lib;))

devrel: dev1 dev2 dev3

dev1 dev2 dev3:
mkdir -p dev
(cd rel && ../rebar generate target_dir=../dev/$@ overlay_vars=vars/$@_vars.config)

devclean: clean
rm -rf dev

stage : rel
$(foreach dep,$(wildcard deps/*), rm -rf rel/riak/lib/$(shell basename $(dep))-* && ln -sf $(abspath $(dep)) rel/riak/lib;)

##
## Doc targets
##
docs:
./rebar skip_deps=true doc
@cp -R apps/luke/doc doc/luke
@cp -R apps/riak_core/doc doc/riak_core
@cp -R apps/riak_kv/doc doc/riak_kv

orgs: orgs-doc orgs-README

orgs-doc:
@emacs -l orgbatch.el -batch --eval="(riak-export-doc-dir \"doc\" 'html)"

orgs-README:
@emacs -l orgbatch.el -batch --eval="(riak-export-doc-file \"README.org\" 'ascii)"
@mv README.txt README

APPS = kernel stdlib sasl erts ssl tools os_mon runtime_tools crypto inets \
xmerl webtool snmp public_key mnesia eunit syntax_tools compiler
COMBO_PLT = $(HOME)/.riak_combo_dialyzer_plt

check_plt: compile
dialyzer --check_plt --plt $(COMBO_PLT) --apps $(APPS) \
deps/*/ebin

build_plt: compile
dialyzer --build_plt --output_plt $(COMBO_PLT) --apps $(APPS) \
deps/*/ebin

dialyzer: compile
@echo
@echo Use "'make check_plt'" to check PLT prior to using this target.
@echo Use "'make build_plt'" to build PLT prior to using this target.
@echo
@sleep 1
dialyzer -Wno_return --plt $(COMBO_PLT) deps/*/ebin | \
fgrep -v -f ./dialyzer.ignore-warnings

cleanplt:
@echo
@echo "Are you sure? It takes about 1/2 hour to re-build."
@echo Deleting $(COMBO_PLT) in 5 seconds.
@echo
sleep 5
rm $(COMBO_PLT)

# Release tarball creation
# Generates a tarball that includes all the deps sources so no checkouts are necessary

distdir:
$(if $(findstring tip,$(RIAK_TAG)),$(error "You can't generate a release tarball from tip"))
mkdir distdir
hg clone . distdir/riak-clone
cd distdir/riak-clone; \
hg update -r $(RIAK_TAG)
cd distdir/riak-clone; \
hg archive ../$(RIAK_TAG); \
mkdir ../$(RIAK_TAG)/deps; \
make deps; \
for dep in deps/*; do cd $${dep} && hg archive ../../../$(RIAK_TAG)/$${dep}; cd ../..; done

dist $(RIAK_TAG).tar.gz: distdir
cd distdir; \
tar czf ../$(RIAK_TAG).tar.gz $(RIAK_TAG)

ballclean:
rm -rf $(RIAK_TAG).tar.gz distdir
Something went wrong with that request. Please try again.