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