summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-06-04 14:51:51 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-06-04 14:51:51 +0200 |
commit | bdb3ee493c5b5ad03b7ce189011422a1c6798dd1 (patch) | |
tree | 0ce3576ba29c7f936f10c186acfd0da669b0285b /src/db/mk | |
parent | 09bdaed7100ac97392e152a488d21db016952213 (diff) |
Starting to work on the DB implementation.
Diffstat (limited to 'src/db/mk')
-rw-r--r-- | src/db/mk/debug.mk | 40 | ||||
-rw-r--r-- | src/db/mk/erlang.mk | 28 | ||||
-rw-r--r-- | src/db/mk/preprocessor.mk | 34 |
3 files changed, 102 insertions, 0 deletions
diff --git a/src/db/mk/debug.mk b/src/db/mk/debug.mk new file mode 100644 index 0000000..bd93669 --- /dev/null +++ b/src/db/mk/debug.mk @@ -0,0 +1,40 @@ +################################################################################ +## 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 --output_plt \ + $(DIALYZER_PLT_FILE) + $(MAKE) debug_rebuild + $(DIALYZER) --add_to_plt --plt $(DIALYZER_PLT_FILE) -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/db/mk/erlang.mk b/src/db/mk/erlang.mk new file mode 100644 index 0000000..9150f63 --- /dev/null +++ b/src/db/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/db/mk/preprocessor.mk b/src/db/mk/preprocessor.mk new file mode 100644 index 0000000..74f66ba --- /dev/null +++ b/src/db/mk/preprocessor.mk @@ -0,0 +1,34 @@ +################################################################################ +## CONFIG ###################################################################### +################################################################################ +CONFIG_FILE ?= ${CURDIR}/module.conf + +################################################################################ +## MAKEFILE MAGIC ############################################################## +################################################################################ +PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4") +PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES)) + +MAKEFILE_TO_M4 = \ + --define=__MAKEFILE_MODULE_NAME=$(MODULE_NAME) \ + --define=__MAKEFILE_MODULE_PORT=$(MODULE_PORT) \ + --define=__MAKEFILE_BIN_DIR=$(BIN_DIR) \ + --define=__MAKEFILE_INCLUDE_DIR=$(INCLUDE_DIR) + +################################################################################ +## 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 $^ > $@ |