00001 # Prerequisite: COMMON_TOP must be set.
00002
00003
00004 # Project section.
00005
00006 # PROJECT_NAME should be defined on a per-project basis.
00007 ifndef PROJECT_NAME
00008 PROJECT_NAME = Ceylan-common
00009 endif
00010
00011
00012 # PROJECT_VERSION should be defined on a per-project basis.
00013 ifndef PROJECT_VERSION
00014 PROJECT_VERSION = 0.1
00015 endif
00016
00017
00018 ARCHIVE_ROOT := $$HOME/Archive/$(PROJECT_NAME)
00019
00020
00021 ARCHIVE_FILE := $(ARCHIVE_ROOT)/`date +'%Y%m%d'`-$(PROJECT_NAME).tar.bz2
00022
00023
00024 ARCHIVE_BRANCH_FILE = $(ARCHIVE_ROOT)/`date +'%Y%m%d'`-$(PROJECT_NAME)-branch-$(shell basename `pwd`).tar.bz2
00025
00026
00027
00028 SNAPSHOT_ARCHIVE_FILE := $(ARCHIVE_ROOT)/`date +'%Y%m%d'`-$(PROJECT_NAME)-snapshot.tar.bz2
00029
00030
00031 PROJECT_RELEASE_BASE := $(PROJECT_NAME)-$(PROJECT_VERSION)
00032
00033 PROJECT_RELEASE_ARCHIVE_ZIP := $(PROJECT_RELEASE_BASE).zip
00034 PROJECT_RELEASE_ARCHIVE_BZ2 := $(PROJECT_RELEASE_BASE).tar.bz2
00035
00036
00037
00038
00039 # Source section.
00040 COMMON_SRC := $(COMMON_TOP)/src
00041
00042 # BEAM path section.
00043 COMMON_BEAM := $(COMMON_TOP)/src
00044
00045 # Include path section.
00046 COMMON_INC = -I$(COMMON_SRC)
00047
00048
00049 INC += -I. $(COMMON_INC)
00050
00051
00052 # Erlang environment section.
00053
00054 ERLANG_ROOT := ~/Software/Erlang/Erlang-current-install
00055
00056 ERLANG_COMPILER := `PATH=$(ERLANG_ROOT)/bin:$$PATH which erlc`
00057
00058
00059 WARNING_LEVEL := 2
00060
00061 ERLANG_COMPILER_OPT_DEBUG := +debug_info
00062
00063
00064
00065 ERLANG_INTERPRETER := `PATH=$(ERLANG_ROOT)/bin:$$PATH which erl`
00066
00067 ERLANG_INTERPRETER_OPT_DEBUG := -init_debug -smp auto
00068
00069
00070 ifndef FQDN
00071
00072 #FQDN := `host \`hostname\` | awk '{ print $$1 }' | head -n 1`
00073 FQDN := `hostname -f`
00074
00075 endif
00076
00077
00078 ifndef VM_TEST_NAME
00079
00080 VM_NAME := ceylan_debug
00081
00082 endif
00083
00084
00085 ifndef VM_TEST_NAME
00086
00087 VM_TEST_NAME := ceylan_test
00088
00089 endif
00090
00091
00092 #DISTRIBUTED_NODE_OPT := -sname $(VM_NAME) -setcookie $(PROJECT_NAME)
00093 DISTRIBUTED_NODE_OPT := -name $(VM_NAME)@$(FQDN) -setcookie $(PROJECT_NAME)
00094
00095
00096 STARTUP_FUNCTION := run
00097
00098 BEAM_DIRS += . $(COMMON_BEAM)
00099
00100
00101 ERL_LAUNCHER = $(COMMON_SRC)/launch-erl.sh
00102
00103
00104 # Add '+native' if native-code compilation is supported:
00105 ERLANG_COMPILER_OPT := -b beam $(INC) -v -W$(WARNING_LEVEL) \
00106 $(ERLANG_COMPILER_OPT_DEBUG)
00107
00108
00109 # +v (verbose) option removed, as only active if the interpreter has been
00110 # compiled in debug mode (otherwise a warning is displayed at each execution).
00111 # (note: variable generally not used, as using the ERL_LAUNCHER script instead)
00112 ERLANG_INTERPRETER_OPT := -pz $(BEAM_DIRS) $(DISTRIBUTED_NODE_OPT)
00113
00114
00115
00116 # 'BEAM_PATH_OPT = --beam-paths $(BEAM_DIRS)' would be shorter, but would
00117 # prevent adding other options to the launcher afterwards:
00118 BEAM_PATH_OPT = $(foreach dir,$(BEAM_DIRS),--beam-dir $(dir))
00119
00120
00121 ERL_PARAMETERIZED_LAUNCHER = $(ERL_LAUNCHER) -v -c $(PROJECT_NAME) --ln $(VM_TEST_NAME) --fqdn $(FQDN) $(BEAM_PATH_OPT)
00122