80 lines
2.7 KiB
Makefile
80 lines
2.7 KiB
Makefile
.PHONY: plugins tests
|
|
|
|
PROJECT = emqx
|
|
PROJECT_DESCRIPTION = EMQ X Broker
|
|
PROJECT_VERSION = 3.0
|
|
|
|
DEPS = jsx gproc gen_rpc lager ekka esockd cowboy clique lager_syslog
|
|
|
|
dep_jsx = git https://github.com/talentdeficit/jsx 2.9.0
|
|
dep_gproc = git https://github.com/uwiger/gproc 0.8.0
|
|
dep_gen_rpc = git https://github.com/emqx/gen_rpc 2.2.0
|
|
dep_lager = git https://github.com/erlang-lager/lager 3.6.4
|
|
dep_esockd = git https://github.com/emqx/esockd v5.4
|
|
dep_ekka = git https://github.com/emqx/ekka v0.4.1
|
|
dep_cowboy = git https://github.com/ninenines/cowboy 2.4.0
|
|
dep_clique = git https://github.com/emqx/clique
|
|
dep_lager_syslog = git https://github.com/basho/lager_syslog 3.0.1
|
|
|
|
NO_AUTOPATCH = cuttlefish
|
|
|
|
ERLC_OPTS += +debug_info
|
|
ERLC_OPTS += +'{parse_transform, lager_transform}'
|
|
|
|
BUILD_DEPS = cuttlefish
|
|
dep_cuttlefish = git https://github.com/emqx/cuttlefish emqx30
|
|
|
|
#TEST_DEPS = emqx_ct_helplers
|
|
#dep_emqx_ct_helplers = git git@github.com:emqx/emqx-ct-helpers
|
|
|
|
TEST_ERLC_OPTS += +debug_info
|
|
TEST_ERLC_OPTS += +'{parse_transform, lager_transform}'
|
|
|
|
EUNIT_OPTS = verbose
|
|
|
|
# CT_SUITES = emqx_frame
|
|
## emqx_trie emqx_router emqx_frame emqx_mqtt_compat
|
|
|
|
CT_SUITES = emqx emqx_zone emqx_banned emqx_connection emqx_session emqx_access emqx_broker emqx_cm emqx_frame emqx_guid emqx_inflight \
|
|
emqx_json emqx_keepalive emqx_lib emqx_metrics emqx_misc emqx_mod emqx_mqtt_caps \
|
|
emqx_mqtt_compat emqx_mqtt_props emqx_mqueue emqx_net emqx_pqueue emqx_router emqx_sm \
|
|
emqx_stats emqx_tables emqx_time emqx_topic emqx_trie emqx_vm \
|
|
emqx_mountpoint emqx_listeners emqx_protocol
|
|
|
|
CT_OPTS = -cover test/ct.cover.spec -erl_args -name emqxct@127.0.0.1
|
|
|
|
COVER = true
|
|
|
|
PLT_APPS = sasl asn1 ssl syntax_tools runtime_tools crypto xmerl os_mon inets public_key ssl lager compiler mnesia
|
|
DIALYZER_DIRS := ebin/
|
|
DIALYZER_OPTS := --verbose --statistics -Werror_handling -Wrace_conditions #-Wunmatched_returns
|
|
|
|
include erlang.mk
|
|
|
|
clean:: gen-clean
|
|
|
|
.PHONY: gen-clean
|
|
gen-clean:
|
|
@rm -rf bbmustache
|
|
@rm -f etc/gen.emqx.conf
|
|
|
|
bbmustache:
|
|
$(verbose) git clone https://github.com/soranoba/bbmustache.git && pushd bbmustache && ./rebar3 compile && popd
|
|
|
|
# This hack is to generate a conf file for testing
|
|
# relx overlay is used for release
|
|
etc/gen.emqx.conf: bbmustache etc/emqx.conf
|
|
$(verbose) erl -noshell -pa bbmustache/_build/default/lib/bbmustache/ebin -eval \
|
|
"{ok, Temp} = file:read_file('etc/emqx.conf'), \
|
|
{ok, Vars0} = file:consult('vars'), \
|
|
Vars = [{atom_to_list(N), list_to_binary(V)} || {N, V} <- Vars0], \
|
|
Targ = bbmustache:render(Temp, Vars), \
|
|
ok = file:write_file('etc/gen.emqx.conf', Targ), \
|
|
halt(0)."
|
|
|
|
app.config: etc/gen.emqx.conf
|
|
$(verbose) ./deps/cuttlefish/cuttlefish -l info -e etc/ -c etc/gen.emqx.conf -i priv/emqx.schema -d data/
|
|
|
|
ct: app.config
|
|
|