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