summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-06-06 16:42:42 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-06-06 16:42:42 +0200
commit82081d45fd64294f4bc417085e06284f3487b32f (patch)
tree1da77dd39829f8bfdcbf200df6a12a0a53edf661 /Makefile
parentee9c2ac044cc77b80f30420c8f0788cad4281084 (diff)
...
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile32
1 files changed, 29 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index abe6817..1c121cc 100644
--- a/Makefile
+++ b/Makefile
@@ -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) $<