summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 25 |
1 files changed, 20 insertions, 5 deletions
@@ -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) |