summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile31
1 files changed, 29 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 6815139..36ab680 100644
--- a/Makefile
+++ b/Makefile
@@ -1,2 +1,29 @@
-yaws:
- yaws --conf conf/yaws.conf
+## Directories
+SRC_DIR ?= src
+BIN_DIR ?= ebin
+CONF_DIR ?= conf
+
+YAWS_CONF = $(CONF_DIR)/yaws.conf
+
+## Binaries
+YAWS ?= yaws
+ERLC ?= erlc
+
+################################################################################
+SRC_FILES = $(wildcard $(SRC_DIR)/*.erl)
+BIN_FILES = $(patsubst $(SRC_DIR)/%.erl,$(BIN_DIR)/%.beam,$(SRC_FILES))
+################################################################################
+
+build: $(BIN_DIR) $(BIN_FILES)
+
+run: $(BIN_FILES)
+ $(YAWS) --conf $(YAWS_CONF)
+
+clean:
+ rm -rf $(BIN_DIR)/*
+
+$(BIN_FILES): $(BIN_DIR)/%.beam : $(SRC_DIR)/%.erl
+ $(ERLC) -o $(BIN_DIR) $<
+
+$(BIN_DIR):
+ mkdir -p $(BIN_DIR)