]> git.llucax.com Git - software/mutest.git/blob - sample/Makefile
Reuse checking macros code
[software/mutest.git] / sample / Makefile
1 #
2 # This file is part of mutest, a simple micro unit testing framework for C.
3 #
4 # mutest was written by Leandro Lucarella <llucax@gmail.com> and is released
5 # under the BOLA license, please see the LICENSE file or visit:
6 # http://blitiri.com.ar/p/bola/
7 #
8 # This is the samples Makefile.
9 #
10 # Please, read the README file for more details.
11 #
12
13 # Show the tests summary
14 V=-v
15
16 CFLAGS = -Wall -std=c89
17
18 TARGET = tester
19 RUNNER_SRC = test_suite_runner.c
20 MKMUTEST = ../mkmutest
21 MUTEST = ../mutest
22 MUTEST_H = ../mutest.h
23 MUTEST_C = ../mutest.c
24
25 OBJS = factorial.o sum.o
26 TEST_OBJS = factorial_test.o sum_test.o init_fail_test.o
27 MUTEST_OBJ = mutest.o
28 RUNNER_OBJ = $(RUNNER_SRC:.c=.o)
29 ALL_OBJS = $(RUNNER_OBJ) $(OBJS) $(TEST_OBJS) $(MUTEST_OBJ)
30 TEST_SOS = $(TEST_OBJS:.o=.so)
31
32 all: $(TARGET)
33
34 py: $(TEST_SOS)
35
36 $(TARGET): $(ALL_OBJS)
37         $(CC) $(LDFLAGS) -o $@ $^
38
39 $(RUNNER_SRC): $(MKMUTEST_OBJ) $(MUTEST_H) $(TEST_OBJS)
40         $(MKMUTEST) $(MUTEST_H) $(TEST_OBJS) > $@
41
42 factorial_test.so: factorial.c
43
44 sum_test.so: sum.c
45
46 $(MUTEST_OBJ): $(MUTEST_C)
47         $(CC) $(CFLAGS) -c -o $@ $^
48
49 test: $(TARGET)
50         ./$(TARGET) $(V)
51
52 test-py: $(TEST_SOS)
53         $(MUTEST) $(V) -a
54
55 clean:
56         $(RM) $(TARGET) $(TEST_SOS) $(ALL_OBJS) $(RUNNER_SRC)
57
58 .c.so:
59         $(CC) $(CFLAGS) $(LDFLAGS) -DMUTEST_PY -fPIC -shared -o $@ $^
60
61 .SUFFIXES: .so
62
63 .PHONY: all test clean
64