summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 32 |
1 files changed, 29 insertions, 3 deletions
@@ -48,6 +48,13 @@ ERL_BIN_FILES = $(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(ERL_SRC_FILES))) ## Yaws REQUIRED_HEADERS = $(INCLUDE_DIR)/yaws_api.hrl +## Binaries +YAWS_EXEC = $(YAWS) $(YAWS_OPTS) +ERLC_EXEC = $(ERLC) $(ERLC_OPTS) +ERL_EXEC = $(ERL) $(ERL_OPTS) +DIALYZER_EXEC = $(DIALYZER) $(DIALYZER_OPTS) +M4_EXEC = $(M4) $(M4_OPTS) + ################################################################################ ## SANITY CHECKS ############################################################### ################################################################################ @@ -59,7 +66,8 @@ all: build debug: debug_run -build: $(OPTIONAL_DIRS) $(REQUIRED_HEADERS) $(PREPROCESSED_FILES) $(ERL_BIN_FILES) +build: $(OPTIONAL_DIRS) $(REQUIRED_HEADERS) \ + $(PREPROCESSED_FILES) $(ERL_BIN_FILES) run: yaws_run @@ -77,12 +85,30 @@ reset: ################################################################################ ## INTERNAL RULES ############################################################## ################################################################################ +debug_rebuild: + $(MAKE) clean + $(MAKE) ERLC_OPTS="$(ERLC_OPTS) +debug_info" + +ifeq ($(wildcard $(DIALYZER_PLT_FILE)),) +debug_run: + $(DIALYZER_EXEC) --build_plt --apps erts kernel stdlib jiffy mnesia \ + --output_plt $(DIALYZER_PLT_FILE) + $(MAKE) debug_rebuild + $(DIALYZER_EXEC) --add_to_plt --plt $(DIALYZER_PLT_FILE) -r $(BIN_DIR) +else +debug_run: + $(MAKE) debug_rebuild + $(DIALYZER_EXEC) --check_plt --plt $(DIALYZER_PLT_FILE) + $(DIALYZER_EXEC) --get_warnings $(ERL_SRC_FILES) \\ + --src --plt $(DIALYZER_PLT_FILE) +endif + $(PREPROCESSED_FILES): %: $(PREPROCESSOR_CONFIG_FILES) %.m4 - $(M4) -P $^ > $@ + $(M4_EXEC) -P $^ > $@ $(OPTIONAL_DIRS): %: mkdir -p $@ .SECONDEXPANSION: $(ERL_BIN_FILES): $(BIN_DIR)/%.beam: $$(shell find $(SRC_DIR) -name "%.erl") - $(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $< + $(ERLC_EXEC) -o $(BIN_DIR) $< |