diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 51 |
1 files changed, 39 insertions, 12 deletions
@@ -1,21 +1,48 @@ -.PHONY: test clean +.POSIX: +.PHONY: tests clean string_tests htable_tests +.SUFFIXES: +.SUFFIXES: .c .o .test +CC=cc + +CFLAGS=-Wall -std=c89 -Werror -pedantic -fPIC -g -Iinclude + +tests: string_tests htable_tests COMMON_OBJECTS=uns.o -CHENEY_C89_OBJECTS=cheney_c89.o c89_relo.o -CFLAGS=-Wall -std=c89 -Werror -pedantic -fPIC -g -Iinclude +uns.o: uns.c include/uns.h + +libuniversalservice.so: uns.o ${ALL_COLLECTORS} + ${CC} -shared uns.o ${ALL_COLLECTORS} -o libuniversalservice.so -libuniversalservice.so: $(COMMON_OBJECTS) $(CHENEY_C89_OBJECTS) - $(CC) -shared $(COMMON_OBJECTS) $(CHENEY_C89_OBJECTS) -o libuniversalservice.so .c.o: - $(CC) $(CFLAGS) $< -c -o $@ + ${CC} ${CFLAGS} $< -c -o $@ -test: - +## Collectors +CHENEY_C89_OBJS = cheney_c89.o +cheney_c89.o: cheney_c89.c include/uns.h include/cheney_c89.h -################### -## Clean -################## +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 + +EXAMPLE_OBJS=${UNS_STRING_OBJS} ${UNS_HASHTABLE_OBJS} + +## Clean clean: - rm -f $(COMMON_OBJECTS) $(CHENEY_C89_OBJECTS) libuniversalservice.so + ${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 |