summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-04-10 14:35:46 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-04-10 14:35:46 +0200
commit0624b9920ea537f399c87f6a1ab2f0bc714b3a47 (patch)
treeed90a0a9c88a508c0bc10a92217bd51b327efa7d /src/battlemap/mk
parent1001c3f6cfefd880c1721f2b80c1795197d05365 (diff)
Cleaning up the module's makefiles...
Diffstat (limited to 'src/battlemap/mk')
-rw-r--r--src/battlemap/mk/debug.mk39
-rw-r--r--src/battlemap/mk/erlang.mk28
-rw-r--r--src/battlemap/mk/preprocessor.mk28
-rw-r--r--src/battlemap/mk/yaws.mk28
4 files changed, 123 insertions, 0 deletions
diff --git a/src/battlemap/mk/debug.mk b/src/battlemap/mk/debug.mk
new file mode 100644
index 0000000..2b98ff3
--- /dev/null
+++ b/src/battlemap/mk/debug.mk
@@ -0,0 +1,39 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+DIALYZER_PLT_FILE ?= tacticians-server.plt
+DIALYZER ?= dialyzer
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl)
+
+################################################################################
+## SANITY CHECKS ###############################################################
+################################################################################
+
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+DEBUG_RESULT = $(DIALYZER_PLT_FILE)
+
+debug_rebuild:
+ $(MAKE) clean
+ $(MAKE) ERLC_OPTS=+debug_info
+
+################################################################################
+## INTERNAL RULES ##############################################################
+################################################################################
+ifeq ($(wildcard $(DIALYZER_PLT_FILE)),)
+debug_run:
+ $(DIALYZER) --build_plt --apps erts kernel stdlib jiffy --output_plt $@
+ $(MAKE) debug_rebuild
+ $(DIALYZER) --add_to_plt --plt $@ -r $(BIN_DIR)
+else
+debug_run:
+ $(MAKE) debug_rebuild
+ $(DIALYZER) --check_plt --plt $(DIALYZER_PLT_FILE)
+ $(DIALYZER) --get_warnings $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl \
+ --src --plt $(DIALYZER_PLT_FILE)
+endif
diff --git a/src/battlemap/mk/erlang.mk b/src/battlemap/mk/erlang.mk
new file mode 100644
index 0000000..9150f63
--- /dev/null
+++ b/src/battlemap/mk/erlang.mk
@@ -0,0 +1,28 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+ERLC ?= erlc
+ERLC_OPTS ?=
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+SRC_FILES ?= $(wildcard $(SRC_DIR)/*.erl $(SRC_DIR)/*/*.erl)
+BIN_FILES = \
+ $(patsubst %.erl,$(BIN_DIR)/%.beam,$(notdir $(SRC_FILES)))
+
+################################################################################
+## SANITY CHECKS ###############################################################
+################################################################################
+
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+ERLANG_RESULT = $(BIN_DIR) $(BIN_FILES)
+
+################################################################################
+## INTERNAL RULES ##############################################################
+################################################################################
+.SECONDEXPANSION:
+$(BIN_FILES): $(BIN_DIR)/%.beam : $$(wildcard $(SRC_DIR)/*/%.erl $(SRC_DIR)/%.erl)
+ $(ERLC) $(ERLC_OPTS) -o $(BIN_DIR) $<
diff --git a/src/battlemap/mk/preprocessor.mk b/src/battlemap/mk/preprocessor.mk
new file mode 100644
index 0000000..2b332a4
--- /dev/null
+++ b/src/battlemap/mk/preprocessor.mk
@@ -0,0 +1,28 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+CONFIG_FILE ?= ${CURDIR}/module.conf
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4")
+PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES))
+
+################################################################################
+## SANITY CHECKS ###############################################################
+################################################################################
+ifeq ($(wildcard $(CONFIG_FILE)),)
+$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).")
+endif
+
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+PREPROCESSOR_RESULT = $(PREPROCESSED_FILES)
+
+################################################################################
+## INTERNAL RULES ##############################################################
+################################################################################
+$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4
+ m4 -P $^ > $@
diff --git a/src/battlemap/mk/yaws.mk b/src/battlemap/mk/yaws.mk
new file mode 100644
index 0000000..0c479bf
--- /dev/null
+++ b/src/battlemap/mk/yaws.mk
@@ -0,0 +1,28 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+YAWS_CONF ?= $(CONF_DIR)/yaws.conf
+YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl
+
+YAWS ?= yaws
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+
+################################################################################
+## SANITY CHECKS ###############################################################
+################################################################################
+YAWS_API_HEADER ?= /my/src/yaws/include/yaws_api.hrl
+
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+yaws_run: all $(UNUSED_WWW_DIR)
+ $(YAWS) --conf $(YAWS_CONF)
+
+################################################################################
+## INTERNAL RULES ##############################################################
+################################################################################
+$(INCLUDE_DIR)/yaws_api.hrl: $(YAWS_API_HEADER) $(INCLUDE_DIR)
+ cp $< $@