mirror of
https://github.com/correl/calrissian.git
synced 2024-11-23 19:19:57 +00:00
128 lines
3.7 KiB
Makefile
128 lines
3.7 KiB
Makefile
ifeq ($(shell which erl),)
|
|
$(error Can't find Erlang executable 'erl')
|
|
exit 1
|
|
endif
|
|
|
|
LIB = $(PROJECT)
|
|
DEPS = ./deps
|
|
BIN_DIR = ./bin
|
|
SOURCE_DIR = ./src
|
|
OUT_DIR = ./ebin
|
|
TEST_DIR = ./test
|
|
TEST_OUT_DIR = ./.eunit
|
|
SCRIPT_PATH=$(DEPS)/lfe/bin:.:./bin:"$(PATH)":/usr/local/bin
|
|
ifeq ($(shell which lfetool),)
|
|
LFETOOL=$(BIN_DIR)/lfetool
|
|
else
|
|
LFETOOL=lfetool
|
|
endif
|
|
ERL_LIBS=.:..:$(shell pwd):$(shell $(LFETOOL) info erllibs)
|
|
OS := $(shell uname -s)
|
|
ifeq ($(OS),Linux)
|
|
HOST=$(HOSTNAME)
|
|
endif
|
|
ifeq ($(OS),Darwin)
|
|
HOST = $(shell scutil --get ComputerName)
|
|
endif
|
|
|
|
$(BIN_DIR):
|
|
mkdir -p $(BIN_DIR)
|
|
|
|
$(BIN_DIR)/lfetool: $(BIN_DIR)
|
|
@make get-lfetool
|
|
|
|
get-lfetool: $(BIN_DIR)
|
|
curl -L -o ./lfetool https://raw.github.com/lfe/lfetool/dev-v1/lfetool && \
|
|
chmod 755 ./lfetool && \
|
|
mv ./lfetool $(BIN_DIR)
|
|
|
|
get-version:
|
|
@PATH=$(SCRIPT_PATH) $(LFETOOL) info version
|
|
@echo "Erlang/OTP, LFE, & library versions:"
|
|
@ERL_LIBS=$(ERL_LIBS) PATH=$(SCRIPT_PATH) erl \
|
|
-eval "lfe_io:format(\"~p~n\",['$(PROJECT)-util':'get-versions'()])." \
|
|
-noshell -s erlang halt
|
|
|
|
get-deps:
|
|
@echo "Getting dependencies ..."
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) download deps
|
|
|
|
clean-ebin:
|
|
@echo "Cleaning ebin dir ..."
|
|
@rm -f $(OUT_DIR)/*.beam
|
|
|
|
clean-eunit:
|
|
-@PATH=$(SCRIPT_PATH) $(LFETOOL) tests clean
|
|
|
|
compile: get-deps clean-ebin
|
|
@echo "Compiling project code and dependencies ..."
|
|
@which rebar.cmd >/dev/null 2>&1 && \
|
|
PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) rebar.cmd compile || \
|
|
PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) rebar compile
|
|
|
|
compile-no-deps: clean-ebin
|
|
@echo "Compiling only project code ..."
|
|
@which rebar.cmd >/dev/null 2>&1 && \
|
|
PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) \
|
|
rebar.cmd compile skip_deps=true || \
|
|
PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) rebar compile skip_deps=true
|
|
|
|
compile-tests: clean-eunit
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests build
|
|
|
|
repl: compile
|
|
@which clear >/dev/null 2>&1 && clear || printf "\033c"
|
|
@echo "Starting an LFE REPL ..."
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) repl lfe +pc unicode
|
|
|
|
repl-no-deps: compile-no-deps
|
|
@which clear >/dev/null 2>&1 && clear || printf "\033c"
|
|
@echo "Starting an LFE REPL ..."
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) repl lfe +pc unicode
|
|
|
|
shell: compile
|
|
@which clear >/dev/null 2>&1 && clear || printf "\033c"
|
|
@echo "Starting an Erlang shell ..."
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) erl + pc unicode
|
|
|
|
shell-no-deps: compile-no-deps
|
|
@which clear >/dev/null 2>&1 && clear || printf "\033c"
|
|
@echo "Starting an Erlang shell ..."
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) erl + pc unicode
|
|
|
|
clean: clean-ebin clean-eunit
|
|
@which rebar.cmd >/dev/null 2>&1 && rebar.cmd clean || rebar clean
|
|
|
|
check-unit-only:
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests unit
|
|
|
|
check-integration-only:
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests integration
|
|
|
|
check-system-only:
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests system
|
|
|
|
check-unit-with-deps: get-deps compile compile-tests check-unit-only
|
|
check-unit: clean-eunit compile-no-deps check-unit-only
|
|
check-integration: clean-eunit compile check-integration-only
|
|
check-system: clean-eunit compile check-system-only
|
|
check-all-with-deps: clean-eunit compile check-unit-only \
|
|
check-integration-only check-system-only clean-eunit
|
|
check-all: get-deps clean-eunit compile-no-deps
|
|
@PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests all
|
|
|
|
check: check-unit-with-deps
|
|
|
|
check-travis: $(BIN_DIR)/lfetool check
|
|
|
|
push-all:
|
|
@echo "Pusing code to github ..."
|
|
git push --all
|
|
git push upstream --all
|
|
git push --tags
|
|
git push upstream --tags
|
|
|
|
install: compile
|
|
@echo "Installing lumberjack ..."
|
|
@PATH=$(SCRIPT_PATH) lfetool install lfe
|
|
|