summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile25
1 files changed, 20 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index c04a7bc..1fa7676 100644
--- a/Makefile
+++ b/Makefile
@@ -2,14 +2,19 @@
SRC_DIR ?= src
BIN_DIR ?= ebin
CONF_DIR ?= conf
+INCLUDE_DIR ?= include
+UNUSED_WWW_DIR ?= www
YAWS_CONF ?= $(CONF_DIR)/yaws.conf
+YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl
## Binaries
YAWS ?= yaws
ERLC ?= erlc
################################################################################
+REQUIRED_HEADERS = $(INCLUDE_DIR)/yaws_api.hrl
+
SRC_FILES = $(wildcard $(SRC_DIR)/*.erl)
MODULES = $(patsubst %.erl,%,$(SRC_FILES))
SUB_DIRS = $(filter-out $(MODULES),$(sort $(dir $(wildcard $(SRC_DIR)/*/))))
@@ -23,17 +28,27 @@ all:
$(MAKE) build SRC_DIR=$$subdir || exit 1;\
done
-build: $(BIN_DIR) $(BIN_FILES)
+build: $(BIN_DIR) $(REQUIRED_HEADERS) $(BIN_FILES)
-run: $(BIN_FILES)
+run: all $(UNUSED_WWW_DIR)
$(YAWS) --conf $(YAWS_CONF)
clean:
rm -rf $(BIN_DIR)/*
+
+$(INCLUDE_DIR)/yaws_api.hrl: $(INCLUDE_DIR) $(YAWS_API_HEADER)
+ cp $^ $@
+
+$(BIN_DIR):
+ mkdir -p $@
+
+$(UNUSED_WWW_DIR):
+ mkdir -p $@
+
+$(INCLUDE_DIR):
+ mkdir -p $@
+
.SECONDEXPANSION:
$(BIN_FILES): $(BIN_DIR)/%.beam : $(SRC_DIR)/%.erl $$(wildcard $$(SRC_DIR)/%/.)
$(ERLC) -o $(BIN_DIR) $<
-
-$(BIN_DIR):
- mkdir -p $(BIN_DIR)