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