diff Makefile @ 12:29b479760c05

tests: implement basic tests, closes #2447
author David Demelier <markand@malikania.fr>
date Tue, 07 Jan 2020 21:16:00 +0100
parents c91c3272101b
children 621c815c9509
line wrap: on
line diff
--- a/Makefile	Tue Jan 07 20:41:11 2020 +0100
+++ b/Makefile	Tue Jan 07 21:16:00 2020 +0100
@@ -22,14 +22,15 @@
 CFLAGS=         -O3 -DNDEBUG -D_XOPEN_SOURCE=700 -std=c99 -Wall -Wextra
 CPPFLAGS=       -MMD
 PROG=           molko
+LIB=            libmolko.a
 SRCS=           src/animation.c \
                 src/clock.c \
                 src/font.c \
                 src/image.c \
-                src/main.c \
                 src/sprite.c \
                 src/texture.c \
                 src/window.c
+TESTS=          tests/test-color.c
 OBJS=           ${SRCS:.c=.o}
 DEPS=           ${SRCS:.c=.d}
 
@@ -46,10 +47,19 @@
 .c.o:
 	${CC} ${SDL_CFLAGS} ${CPPFLAGS} ${CFLAGS} -c $< -o $@
 
-${PROG}: ${OBJS}
-	${CC} -o $@ ${OBJS} ${SDL_LDFLAGS} ${LDFLAGS}
+.c:
+	${CC} -I extern/libgreatest -I src -o $@ ${CPPFLAGS} ${CFLAGS} $< ${LIB} ${SDL_LDFLAGS} ${LDFLAGS}
+
+${LIB}: ${OBJS}
+	${AR} -rcs $@ ${OBJS}
+
+${PROG}: ${LIB} src/main.o
+	${CC} -o $@ src/main.o ${LIB} ${SDL_LDFLAGS} ${LDFLAGS}
 
 clean:
 	rm -f molko ${OBJS} ${DEPS}
 
+tests: ${TESTS:.c=}
+	for t in $?; do ./$$t; done
+
 .PHONY: clean