1# $Id: Makefile,v 1.2 2011/01/29 23:35:31 agc Exp $
2
3CC=gcc
4SRC_PREFIX=../src
5CFLAGS=-I../include -I$(SRC_PREFIX)
6ENV=PATH=/usr/local/bin:${PATH}
7ATFLIBS=-latf-c -lssl
8LDFLAGS=`pwd`/$(SRC_PREFIX)/libsaslc.so -ggdb
9TEST_CASES_C=t_dict t_session t_crypto t_error t_saslc t_parser
10TEST_CASES_SH=t_mech
11TEST_CASES=$(TEST_CASES_C)
12VALGRIND=valgrind
13VALGRIND_OPTS=--leak-check=full -q
14
15all: build
16
17build: $(TEST_CASES_SH) $(TEST_CASES_C) example_client
18
19$(TEST_CASES_SH):
20		@echo "building $@"
21		@$(ENV) atf-compile -o $@ $@.sh
22
23$(TEST_CASES_C):
24		@echo "building $@"
25		@$(CC) -o $@.o -c $@.c $(CFLAGS) -I/usr/include/local
26		@$(CC) -o $@ $@.o $(LDFLAGS) $(ATFLIBS)
27
28atf:
29		@echo ""
30		@echo "*************************************"
31		@echo "* ATF TESTS:                        *"
32		@echo "*************************************"
33		@echo ""
34		@$(ENV) atf-run -v test_dir=`pwd` | $(ENV) atf-report
35
36valgrind:
37		@echo ""
38		@echo "*************************************"
39		@echo "* VALGRIND TESTS:                   *"
40		@echo "*************************************"
41		@echo ""
42		@for prog in $(TEST_CASES); do \
43			echo "$$prog:"; \
44			for testcase in `./$$prog -l | grep ident | awk {'print $$2'}`; do \
45				echo " * $$testcase"; \
46				$(VALGRIND) $(VALGRIND_OPTS) ./$$prog $$testcase ; \
47			done \
48		done
49
50tests: build atf valgrind
51
52example_client: example_client.c
53
54clean:
55		@rm -f $(TEST_CASES_C) $(TEST_CASES_SH) *.o resfile \
56		    example_client
57