# Generates a tarball that includes all the deps sources so no checkouts are necessary
archivegit= git archive --format=tar --prefix=$(1)/ HEAD |(cd$(2)&& tar xf -)
archivehg= hg archive $(2)/$(1)
archive=if[ -d ".git"];then\
$(call archivegit,$(1),$(2));\
else\
$(call archivehg,$(1),$(2));\
fi
buildtar= mkdir distdir &&\
git clone . distdir/riak-clone &&\
cd distdir/riak-clone &&\
git checkout $(RIAK_TAG)&&\
$(call archive,$(RIAK_TAG),..)&&\
mkdir ../$(RIAK_TAG)/deps &&\
make deps;\
for dep in deps/*;do\
cd$${dep}&&\
$(call archive,$${dep},../../../$(RIAK_TAG))&&\
mkdir -p ../../../$(RIAK_TAG)/$${dep}/priv &&\
git rev-list --max-count=1 HEAD > ../../../$(RIAK_TAG)/$${dep}/priv/git.vsn &&\
cd ../..;done
distdir:
$(if$(RIAK_TAG), $(call buildtar), $(error "You can't generate a release tarball from a non-tagged revision. Run 'git checkout <tag>', then 'make dist'"))