summaryrefslogtreecommitdiff
blob: 206a3327decbe2c8fea6c13ab162c5891a9d868f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
################################################################################
## CONFIG ######################################################################
################################################################################
MODULE_NAME ?= $ $(shell basename ${CURDIR})
MODULE_PORT ?= 8002

DIALYZER_PLT_FILE ?= tacticians-server.plt

## Main Directories
SRC_DIR ?= ${CURDIR}/src
CONF_DIR ?= ${CURDIR}/conf

#### Optional Dirs
BIN_DIR ?= ${CURDIR}/ebin
INCLUDE_DIR ?= ${CURDIR}/include

## Binaries
ERLC ?= erlc
ERLC_OPTS ?=
ERL ?= erl
ERL_OPTS ?= \
	-connect_all false \
	-name db_node \
	-pa $(BIN_DIR) \
	-run db_node start

DIALYZER ?= dialyzer

################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
OPTIONAL_DIRS = $(BIN_DIR) $(INCLUDE_DIR)

################################################################################
## SANITY CHECKS ###############################################################
################################################################################
DIALYZER_PLT_FILE ?= tacticians-server.plt

## Main Directories
SRC_DIR ?= src
CONF_DIR ?= conf

################################################################################
## INCLUDES ####################################################################
################################################################################
main_target: all

include ${CURDIR}/mk/debug.mk
include ${CURDIR}/mk/erlang.mk
include ${CURDIR}/mk/preprocessor.mk

################################################################################
## TARGET RULES ################################################################
################################################################################
all: build

debug: debug_run

build: $(REQUIRED_HEADERS) $(PREPROCESSOR_RESULT) $(ERLANG_RESULT)

run:
	$(ERL) $(ERL_OPTS)

clean:
	rm -rf $(PREPROCESSOR_RESULT) $(ERLANG_RESULT)

################################################################################
## INTERNAL RULES ##############################################################
################################################################################
$(OPTIONAL_DIRS): %:
	mkdir -p $@