# where rebar3 stores build output REBAR_BASE_DIR ?= _build # config file used by 'run' and 'shell' CONFIG ?= config/sys.config # arguments passed to eunit, used by 'check' EUNIT_ARGS ?= # directory paths for 'install' BINDIR ?= /usr/bin LIBDIR ?= /usr/lib CONFDIR ?= /etc/osmocom SYSTEMDUNITDIR ?= /lib/systemd/system all: build GEN_FILES = include/diameter_*.hrl src/diameter_*.erl src/diameter_%.erl include/diameter_%.hrl: dia/diameter_%.asn rebar3 diameter compile build: $(GEN_FILES) rebar3 compile escript: $(GEN_FILES) rebar3 escriptize run-escript: escript ERL_FLAGS='-config $(CONFIG)' $(REBAR_BASE_DIR)/default/bin/osmo-epdg run: build ERL_FLAGS='-config config/sys.config' _build/default/bin/osmo-epdg shell: build rebar3 shell --config $(CONFIG) check: $(GEN_FILES) rebar3 eunit $(EUNIT_ARGS) analyze: $(GEN_FILES) rebar3 dialyzer release: $(GEN_FILES) rebar3 release install: release install -d $(DESTDIR)$(LIBDIR) cp -r $(REBAR_BASE_DIR)/default/bin/osmo-epdg $(DESTDIR)$(LIBDIR)/ install -Dm0644 config/sys.config \ $(DESTDIR)$(CONFDIR)/osmo-epdg.config install -Dm0644 contrib/systemd/osmo-epdg.service \ $(DESTDIR)$(SYSTEMDUNITDIR)/osmo-epdg.service clean: # Avoid running rebar3 clean if $(REBAR_BASE_DIR) doesn't exist, since it would try # to fetch deps from the Internet and that may not be avaialble when in # OBS build. ifneq ("$(wildcard $(REBAR_BASE_DIR)/.*)", "") rebar3 diameter clean rebar3 clean rm -rf $(REBAR_BASE_DIR) else rm -f $(GEN_FILES) endif