.POSIX: .PHONY: tests clean string_tests htable_tests .SUFFIXES: .SUFFIXES: .c .o .test CC=cc TEST_WRAPPER=valgrind --exit-on-first-error=yes CFLAGS=-Wall -std=c89 -Werror -pedantic -fPIC -g -Iinclude -I. -Wno-unused-function -Wno-unused-variable ${EXTRACFLAGS} tests: string_tests htable_tests with_valgrind: make EXTRACFLAGS=-DUNS_VALGRIND COMMON_OBJECTS=uns.o uns.o: uns.c include/uns.h libuniversalservice.so: uns.o ${ALL_COLLECTORS} ${CC} -shared uns.o ${ALL_COLLECTORS} -o libuniversalservice.so .c.o: ${CC} ${CFLAGS} $< -c -o $@ ## Collectors CHENEY_C89_OBJS = cheney_c89.o cheney_c89.o: cheney_c89.c include/uns.h include/cheney_c89.h COLLECTOR_OBJS=${CHENEY_C89_OBJS} ## Example libraries examples/string/uns_string.o: examples/string/uns_string.c \ examples/string/uns_string.h \ include/uns.h UNS_STRING_OBJS=examples/string/uns_string.o examples/hashtable/uns_hashtable.o: examples/hashtable/uns_hashtable.c \ examples/hashtable/uns_hashtable.h \ include/uns.h UNS_HASHTABLE_OBJS=examples/hashtable/uns_hashtable.o examples/lisp/uns_lisp.o: include/uns.h \ examples/lisp/uns_lisp.c \ examples/string/uns_string.h UNS_LISP_OBJS=examples/lisp/uns_lisp.o examples/string/uns_string.o EXAMPLE_OBJS=${UNS_STRING_OBJS} ${UNS_HASHTABLE_OBJS} ## Clean clean: clean_tests ${RM} -f ${COMMON_OBJECTS} libuniversalservice.so \ ${TEST_OBJS} ${COLLECTOR_OBJS} ${EXAMPLE_OBJS} tests.makefile: gen_tests.sh ./gen_tests.sh > tests.makefile include tests.makefile