From 953f22f55a5bcf7dba87a528245357e53559b8e0 Mon Sep 17 00:00:00 2001
From: Correl Roush <correl@gmail.com>
Date: Wed, 9 Jul 2014 23:09:04 -0400
Subject: [PATCH] Update Makefile using current lfetool (v1.0.0)

---
 Makefile                              |  2 +-
 common.mk => resources/make/common.mk | 34 +++++++++++++++++++--------
 2 files changed, 25 insertions(+), 11 deletions(-)
 rename common.mk => resources/make/common.mk (69%)

diff --git a/Makefile b/Makefile
index 31ea6a8..d6f62d1 100644
--- a/Makefile
+++ b/Makefile
@@ -1 +1 @@
-include common.mk
+include resources/make/common.mk
diff --git a/common.mk b/resources/make/common.mk
similarity index 69%
rename from common.mk
rename to resources/make/common.mk
index c10c270..2a2e4d9 100644
--- a/common.mk
+++ b/resources/make/common.mk
@@ -3,19 +3,33 @@ LIB = $(PROJECT)
 DEPS = ./deps
 BIN_DIR = ./bin
 EXPM = $(BIN_DIR)/expm
-LFETOOL=$(BIN_DIR)/lfetool
+
 SOURCE_DIR = ./src
 OUT_DIR = ./ebin
 TEST_DIR = ./test
 TEST_OUT_DIR = ./.eunit
-SCRIPT_PATH=.:./bin:$(PATH):/usr/local/bin
+SCRIPT_PATH=$(DEPS)/lfe/bin:.:./bin:"$(PATH)":/usr/local/bin
+ERL_LIBS=$(shell $(LFETOOL) info erllibs)
+EMPTY =
+ifeq ($(shell which lfetool),$EMPTY)
+	LFETOOL=$(BIN_DIR)/lfetool
+else
+	LFETOOL=lfetool
+endif
+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)
 
 $(LFETOOL): $(BIN_DIR)
 	@[ -f $(LFETOOL) ] || \
-	curl -o ./lfetool https://raw.github.com/lfe/lfetool/master/lfetool && \
+	curl -L -o ./lfetool https://raw.github.com/lfe/lfetool/master/lfetool && \
 	chmod 755 ./lfetool && \
 	mv ./lfetool $(BIN_DIR)
 
@@ -28,7 +42,7 @@ $(EXPM): $(BIN_DIR)
 
 get-deps:
 	@echo "Getting dependencies ..."
-	@rebar get-deps
+	@which rebar.cmd >/dev/null 2>&1 && rebar.cmd get-deps || rebar get-deps
 	@PATH=$(SCRIPT_PATH) lfetool update deps
 
 clean-ebin:
@@ -40,27 +54,27 @@ clean-eunit:
 
 compile: get-deps clean-ebin
 	@echo "Compiling project code and dependencies ..."
-	@rebar compile
+	@which rebar.cmd >/dev/null 2>&1 && rebar.cmd compile || rebar compile
 
 compile-no-deps: clean-ebin
 	@echo "Compiling only project code ..."
-	@rebar compile skip_deps=true
+	@which rebar.cmd >/dev/null 2>&1 && rebar.cmd compile skip_deps=true || rebar compile skip_deps=true
 
 compile-tests:
 	@PATH=$(SCRIPT_PATH) lfetool tests build
 
 shell: compile
-	@clear
+	@which clear >/dev/null 2>&1 && clear || printf "\033c"
 	@echo "Starting shell ..."
-	@PATH=$(SCRIPT_PATH) lfetool repl lfe
+	@PATH=$(SCRIPT_PATH) lfetool repl
 
 shell-no-deps: compile-no-deps
-	@clear
+	@which clear >/dev/null 2>&1 && clear || printf "\033c"
 	@echo "Starting shell ..."
 	@PATH=$(SCRIPT_PATH) lfetool repl
 
 clean: clean-ebin clean-eunit
-	@rebar clean
+	@which rebar.cmd >/dev/null 2>&1 && rebar.cmd clean || rebar clean
 
 check-unit-only:
 	@PATH=$(SCRIPT_PATH) lfetool tests unit