2017-10-27 20:45:31 +02:00
2017-11-13 23:47:13 +01:00
DEV ?= --dev
2018-05-25 09:56:14 +02:00
PACKAGES := $( patsubst %.opam,%,$( notdir $( shell find src vendors -name \* .opam -print) ) )
2017-11-13 23:47:13 +01:00
2018-07-18 23:15:53 +02:00
active_protocol_versions := $( shell cat active_protocol_versions)
active_protocol_directories := $( shell tr -- - _ < active_protocol_versions)
2018-05-25 09:56:14 +02:00
current_opam_version := $( shell opam --version)
2018-01-18 16:18:55 +01:00
i n c l u d e s c r i p t s / v e r s i o n . s h
2018-05-25 09:56:14 +02:00
i f n e q ( $ { c u r r e n t _ o p a m _ v e r s i o n } , $ { o p a m _ v e r s i o n } )
$(error Unexpected opam version (found : ${current_opam_version }, expected : ${opam_version }))
e n d i f
2018-01-18 16:18:55 +01:00
2018-07-04 23:08:20 +02:00
current_ocaml_version := $( shell opam exec -- ocamlc -version)
2017-10-27 20:45:31 +02:00
all :
2018-07-04 23:08:20 +02:00
i f n e q ( $ { c u r r e n t _ o c a m l _ v e r s i o n } , $ { o c a m l _ v e r s i o n } )
$( error Unexpected ocaml version ( found: ${ current_ocaml_version } , expected: ${ ocaml_version } ) )
e n d i f
2017-11-27 06:13:12 +01:00
@jbuilder build ${ DEV } \
2018-01-16 16:30:58 +01:00
src/bin_node/main.exe \
2018-02-14 11:01:23 +01:00
src/bin_client/main_client.exe \
src/bin_client/main_admin.exe \
2018-05-26 11:11:45 +02:00
src/bin_signer/main_signer.exe \
2018-02-15 17:07:08 +01:00
src/lib_protocol_compiler/main_native.exe \
2018-07-18 23:15:53 +02:00
$( foreach p, $( active_protocol_directories) , src/proto_$( p) /bin_baker/main_baker_$( p) .exe) \
$( foreach p, $( active_protocol_directories) , src/proto_$( p) /bin_endorser/main_endorser_$( p) .exe) \
$( foreach p, $( active_protocol_directories) , src/proto_$( p) /bin_accuser/main_accuser_$( p) .exe)
2018-01-16 16:30:58 +01:00
@cp _build/default/src/bin_node/main.exe tezos-node
2018-02-14 11:01:23 +01:00
@cp _build/default/src/bin_client/main_client.exe tezos-client
@cp _build/default/src/bin_client/main_admin.exe tezos-admin-client
2018-05-26 11:11:45 +02:00
@cp _build/default/src/bin_signer/main_signer.exe tezos-signer
2018-01-30 16:30:22 +01:00
@cp _build/default/src/lib_protocol_compiler/main_native.exe tezos-protocol-compiler
2018-07-18 23:15:53 +02:00
@for p in $( active_protocol_directories) ; do \
2018-07-18 23:42:31 +02:00
cp _build/default/src/proto_$$ p/bin_baker/main_baker_$$ p.exe tezos-baker-` echo $$ p | tr -- _ -` ; \
cp _build/default/src/proto_$$ p/bin_endorser/main_endorser_$$ p.exe tezos-endorser-` echo $$ p | tr -- _ -` ; \
cp _build/default/src/proto_$$ p/bin_accuser/main_accuser_$$ p.exe tezos-accuser-` echo $$ p | tr -- _ -` ; \
2018-07-18 23:15:53 +02:00
done
2017-10-27 20:45:31 +02:00
2018-02-05 20:08:28 +01:00
all.pkg :
@jbuilder build ${ DEV } \
2018-05-25 09:56:14 +02:00
$( patsubst %.opam,%.install, $( shell find src vendors -name \* .opam -print) )
2018-02-05 20:08:28 +01:00
$(addsuffix .pkg,${PACKAGES}) : %.pkg :
@jbuilder build ${ DEV } \
2018-05-25 09:56:14 +02:00
$( patsubst %.opam,%.install, $( shell find src vendors -name $* .opam -print) )
2018-02-05 20:08:28 +01:00
$(addsuffix .test,${PACKAGES}) : %.test :
@jbuilder build ${ DEV } \
2018-05-25 09:56:14 +02:00
@$( patsubst %/$* .opam,%,$( shell find src vendors -name $* .opam) ) /runtest
2018-01-29 01:06:47 +01:00
2018-01-31 12:23:03 +01:00
doc-html : all
2017-11-13 23:47:13 +01:00
@jbuilder build @doc ${ DEV }
2018-07-05 12:08:55 +02:00
@./tezos-client -protocol PtCJ7pwoxe8JasnHY8YonnLYjcVHmhiARPJvqcC6VfHT5s8k8sY man -verbosity 3 -format html | sed " s/ $HOME /\$HOME/g " > docs/api/tezos-client.html
2018-01-31 12:23:03 +01:00
@./tezos-admin-client man -verbosity 3 -format html | sed " s/ $HOME /\$HOME/g " > docs/api/tezos-admin-client.html
2017-11-11 11:40:20 +01:00
@mkdir -p $$ ( pwd ) /docs/_build/api/odoc
@rm -rf $$ ( pwd ) /docs/_build/api/odoc/*
@cp -r $$ ( pwd ) /_build/default/_doc/* $$ ( pwd ) /docs/_build/api/odoc/
2018-03-15 13:25:38 -04:00
@${ MAKE } -C docs
2017-11-03 16:02:38 +01:00
2017-10-27 20:45:31 +02:00
build-test :
2017-11-13 23:47:13 +01:00
@jbuilder build @buildtest ${ DEV }
2017-10-27 20:45:31 +02:00
test :
2017-11-13 23:47:13 +01:00
@jbuilder runtest ${ DEV }
2018-01-29 01:26:41 +01:00
@./scripts/check_opam_test.sh
2017-10-27 20:45:31 +02:00
2018-01-27 11:21:41 +01:00
test-indent :
@jbuilder build @runtest_indent ${ DEV }
2018-02-22 11:07:26 +01:00
fix-indent :
@src/lib_stdlib/test-ocp-indent.sh fix
2017-10-27 20:45:31 +02:00
build-deps :
@./scripts/install_build_deps.sh
docker-image :
@./scripts/create_docker_image.sh
2018-01-26 10:28:13 -05:00
install :
@jbuilder build @install
@jbuilder install
2018-02-21 18:34:55 +01:00
uninstall :
@jbuilder uninstall
2017-10-27 20:45:31 +02:00
clean :
@-jbuilder clean
2018-02-15 17:07:08 +01:00
@-rm -f \
tezos-node \
tezos-client \
2018-07-18 23:15:53 +02:00
tezos-signer \
2018-02-15 17:07:08 +01:00
tezos-admin-client \
tezos-protocol-compiler \
2018-07-18 23:42:31 +02:00
$( foreach p, $( active_protocol_versions) , tezos-baker-$( p) tezos-endorser-$( p) tezos-accuser-$( p) )
2018-03-15 13:25:38 -04:00
@-${ MAKE } -C docs clean
2017-10-27 20:45:31 +02:00
.PHONY : all test build -deps docker -image clean