Updated make file and include to latest.

This commit is contained in:
Duncan McGreggor 2015-05-21 17:42:05 -05:00
parent e5ab919365
commit 3952a89184
2 changed files with 56 additions and 50 deletions

View file

@ -1 +1,3 @@
PROJECT = calrissian
include resources/make/common.mk include resources/make/common.mk

View file

@ -1,21 +1,22 @@
PROJECT = calrissian ifeq ($(shell which erl),)
$(error Can't find Erlang executable 'erl')
exit 1
endif
LIB = $(PROJECT) LIB = $(PROJECT)
DEPS = ./deps DEPS = ./deps
BIN_DIR = ./bin BIN_DIR = ./bin
EXPM = $(BIN_DIR)/expm
SOURCE_DIR = ./src SOURCE_DIR = ./src
OUT_DIR = ./ebin OUT_DIR = ./ebin
TEST_DIR = ./test TEST_DIR = ./test
TEST_OUT_DIR = ./.eunit TEST_OUT_DIR = ./.eunit
SCRIPT_PATH=$(DEPS)/lfe/bin:.:./bin:"$(PATH)":/usr/local/bin SCRIPT_PATH=$(DEPS)/lfe/bin:.:./bin:"$(PATH)":/usr/local/bin
ERL_LIBS=$(shell pwd):$(shell $(LFETOOL) info erllibs) ifeq ($(shell which lfetool),)
EMPTY =
ifeq ($(shell which lfetool),$EMPTY)
LFETOOL=$(BIN_DIR)/lfetool LFETOOL=$(BIN_DIR)/lfetool
else else
LFETOOL=lfetool LFETOOL=lfetool
endif endif
ERL_LIBS=.:..:$(shell pwd):$(shell $(LFETOOL) info erllibs)
OS := $(shell uname -s) OS := $(shell uname -s)
ifeq ($(OS),Linux) ifeq ($(OS),Linux)
HOST=$(HOSTNAME) HOST=$(HOSTNAME)
@ -27,72 +28,85 @@ endif
$(BIN_DIR): $(BIN_DIR):
mkdir -p $(BIN_DIR) mkdir -p $(BIN_DIR)
$(LFETOOL): $(BIN_DIR) get-lfetool: $(BIN_DIR)
@[ -f $(LFETOOL) ] || \ curl -L -o ./lfetool https://raw.github.com/lfe/lfetool/dev-v1/lfetool && \
curl -L -o ./lfetool https://raw.github.com/lfe/lfetool/master/lfetool && \
chmod 755 ./lfetool && \ chmod 755 ./lfetool && \
mv ./lfetool $(BIN_DIR) mv ./lfetool $(BIN_DIR)
get-version: get-version:
@PATH=$(SCRIPT_PATH) lfetool info version @PATH=$(SCRIPT_PATH) $(LFETOOL) info version
@echo "Erlang/OTP, LFE, & library versions:"
$(EXPM): $(BIN_DIR) @ERL_LIBS=$(ERL_LIBS) PATH=$(SCRIPT_PATH) erl \
@[ -f $(EXPM) ] || \ -eval "lfe_io:format(\"~p~n\",['$(PROJECT)-util':'get-versions'()])." \
PATH=$(SCRIPT_PATH) lfetool install expm $(BIN_DIR) -noshell -s erlang halt
get-deps: get-deps:
@echo "Getting dependencies ..." @echo "Getting dependencies ..."
@which rebar.cmd >/dev/null 2>&1 && rebar.cmd get-deps || rebar get-deps @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) download deps
@PATH=$(SCRIPT_PATH) lfetool update deps
clean-ebin: clean-ebin:
@echo "Cleaning ebin dir ..." @echo "Cleaning ebin dir ..."
@rm -f $(OUT_DIR)/*.beam @rm -f $(OUT_DIR)/*.beam
clean-eunit: clean-eunit:
@PATH=$(SCRIPT_PATH) lfetool tests clean -@PATH=$(SCRIPT_PATH) $(LFETOOL) tests clean
compile: get-deps clean-ebin compile: get-deps clean-ebin
@echo "Compiling project code and dependencies ..." @echo "Compiling project code and dependencies ..."
@which rebar.cmd >/dev/null 2>&1 && rebar.cmd compile || rebar compile @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 compile-no-deps: clean-ebin
@echo "Compiling only project code ..." @echo "Compiling only project code ..."
@which rebar.cmd >/dev/null 2>&1 && rebar.cmd compile skip_deps=true || rebar compile skip_deps=true @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: compile-tests: clean-eunit
@PATH=$(SCRIPT_PATH) lfetool tests build @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 shell: compile
@which clear >/dev/null 2>&1 && clear || printf "\033c" @which clear >/dev/null 2>&1 && clear || printf "\033c"
@echo "Starting shell ..." @echo "Starting an Erlang shell ..."
@PATH=$(SCRIPT_PATH) lfetool repl @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) erl + pc unicode
shell-no-deps: compile-no-deps shell-no-deps: compile-no-deps
@which clear >/dev/null 2>&1 && clear || printf "\033c" @which clear >/dev/null 2>&1 && clear || printf "\033c"
@echo "Starting shell ..." @echo "Starting an Erlang shell ..."
@PATH=$(SCRIPT_PATH) lfetool repl @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) erl + pc unicode
clean: clean-ebin clean-eunit clean: clean-ebin clean-eunit
@which rebar.cmd >/dev/null 2>&1 && rebar.cmd clean || rebar clean @which rebar.cmd >/dev/null 2>&1 && rebar.cmd clean || rebar clean
check-unit-only: check-unit-only:
@PATH=$(SCRIPT_PATH) lfetool tests unit @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests unit
check-integration-only: check-integration-only:
@PATH=$(SCRIPT_PATH) lfetool tests integration @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests integration
check-system-only: check-system-only:
@PATH=$(SCRIPT_PATH) lfetool tests system @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests system
check-unit-with-deps: get-deps compile compile-tests check-unit-only check-unit-with-deps: get-deps compile compile-tests check-unit-only
check-unit: compile-no-deps check-unit-only check-unit: clean-eunit compile-no-deps check-unit-only
check-integration: compile check-integration-only check-integration: clean-eunit compile check-integration-only
check-system: compile check-system-only check-system: clean-eunit compile check-system-only
check-all-with-deps: compile check-unit-only check-integration-only \ check-all-with-deps: clean-eunit compile check-unit-only \
check-system-only check-integration-only check-system-only clean-eunit
check-all: get-deps compile-no-deps check-all: get-deps clean-eunit compile-no-deps
@PATH=$(SCRIPT_PATH) lfetool tests all @PATH=$(SCRIPT_PATH) ERL_LIBS=$(ERL_LIBS) $(LFETOOL) tests all
check: check-unit-with-deps check: check-unit-with-deps
@ -106,16 +120,6 @@ push-all:
git push upstream --tags git push upstream --tags
install: compile install: compile
@echo "Installing calrissian ..." @echo "Installing lumberjack ..."
@PATH=$(SCRIPT_PATH) lfetool install lfe @PATH=$(SCRIPT_PATH) lfetool install lfe
upload: $(EXPM) get-version
@echo "Preparing to upload calrissian ..."
@echo
@echo "Package file:"
@echo
@cat package.exs
@echo
@echo "Continue with upload? "
@read
$(EXPM) publish