| author | Tony Garnock-Jones <tonyg@lshift.net> |
| Fri Jul 09 06:36:57 2010 +0100 (22 months ago) | |
| changeset 8 | 8a994f1f3b1d |
| parent 2 | f6f10500539c |
| permissions | -rw-r--r-- |
| tonyg@4 | 1 |
SOURCE_DIR=src |
| tonyg@4 | 2 |
EBIN_DIR=ebin |
| tonyg@4 | 3 |
INCLUDE_DIR=include |
| tonyg@4 | 4 |
INCLUDES=$(wildcard $(INCLUDE_DIR)/*.hrl) |
| tonyg@4 | 5 |
SOURCES=$(wildcard $(SOURCE_DIR)/*.erl) |
| tonyg@4 | 6 |
TARGETS=$(patsubst $(SOURCE_DIR)/%.erl, $(EBIN_DIR)/%.beam,$(SOURCES)) |
| tonyg@4 | 7 |
APPFILES=$(patsubst $(SOURCE_DIR)/%.app, $(EBIN_DIR)/%.app, $(wildcard $(SOURCE_DIR)/*.app)) |
| tonyg@4 | 8 |
ERLC_OPTS=-I $(INCLUDE_DIR) -o $(EBIN_DIR) -Wall +debug_info # +native -v |
| tonyg@4 | 9 |
DIST_DIR=dist |
| tonyg@4 | 10 |
SIGNING_KEY_ID=E96F1FA7 |
| tonyg@0 | 11 |
|
| tonyg@4 | 12 |
all: $(EBIN_DIR) $(TARGETS) $(APPFILES) |
| tonyg@0 | 13 |
|
| tonyg@4 | 14 |
$(EBIN_DIR)/%.beam: $(SOURCE_DIR)/%.erl $(INCLUDES) |
| tonyg@4 | 15 |
erlc $(ERLC_OPTS) $< |
| tonyg@4 | 16 |
|
| tonyg@4 | 17 |
$(EBIN_DIR)/%.app: $(SOURCE_DIR)/%.app |
| tonyg@4 | 18 |
cp $< $@ |
| tonyg@4 | 19 |
|
| tonyg@4 | 20 |
$(EBIN_DIR): |
| tonyg@4 | 21 |
mkdir -p $@ |
| tonyg@4 | 22 |
|
| tonyg@4 | 23 |
clean: |
| tonyg@4 | 24 |
rm -rf $(EBIN_DIR) |
| tonyg@4 | 25 |
|
| tonyg@4 | 26 |
dist: all |
| tonyg@4 | 27 |
mkdir -p $(DIST_DIR) |
| tonyg@4 | 28 |
cp -r ebin src $(DIST_DIR) |
| tonyg@0 | 29 |
|
| tonyg@0 | 30 |
distclean: clean |
| tonyg@0 | 31 |
rm -rf $(DIST_DIR) |
| tonyg@4 | 32 |
find . -name '*~' -exec rm {} \; |
| tonyg@0 | 33 |
|
| tonyg@0 | 34 |
debian-package: clean |
| tonyg@0 | 35 |
tar -cf debian-package.tar . |
| tonyg@0 | 36 |
mkdir build |
| tonyg@0 | 37 |
cd build; tar -xf ../debian-package.tar |
| tonyg@0 | 38 |
cd build; dpkg-buildpackage -rfakeroot -k$(SIGNING_KEY_ID) |
| tonyg@0 | 39 |
rm -rf build debian-package.tar |
| tonyg@0 | 40 |
|
| tonyg@4 | 41 |
test-compile: $(EBIN_DIR) |
| tonyg@4 | 42 |
erlc $(ERLC_OPTS) $(wildcard test/*.erl) |
| tonyg@4 | 43 |
cp test/*.app $(EBIN_DIR) |
| tonyg@4 | 44 |
|
| tonyg@4 | 45 |
RUN_ERL_CMD=erl -pa ebin -s smtp_server_test -s pop3_server_test |
| tonyg@4 | 46 |
|
| tonyg@4 | 47 |
run: all test-compile |
| tonyg@4 | 48 |
$(RUN_ERL_CMD) |
| tonyg@4 | 49 |
|
| tonyg@4 | 50 |
run_root: all test-compile |
| tonyg@4 | 51 |
sudo $(RUN_ERL_CMD) -smtp_server_test listen_port 25 -pop3_server_test listen_port 110 |