1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| | SRCS := $(wildcard *_test.c)
OBJS := $(patsubst %_test.c, %_test.o, $(SRCS))
SUBJECT_OBJS := $(filter-out ../../build/main.o, $(wildcard ../../build/*.o))
CFLAGS := -I../../src -I../shared
TESTS := $(patsubst %_test.c, %_test, $(SRCS))
EXEC_TESTS := $(patsubst %_test, ./%_test, $(TESTS))
MUNIT_SRC := ../shared/munit.c
MUNIT := ./munit.o
.PHONY: all
all: $(MUNIT) $(TESTS)
@for file in $(EXEC_TESTS); do \
./"$$file"; \
done
.PHONY: clean
clean:
$(RM) *.o *_test
$(RM) -rfv lib
.PHONY: format
format: $(SRCS)
clang-format --dry-run --Werror $?
.PHONY: format-fix
format-fix: $(SRCS)
clang-format -i $?
%_test: $(MUNIT) $(SUBJECT_OBJS) %_test.c
$(CC) $? $(CFLAGS) -o $@
$(MUNIT):
$(CC) -c $(MUNIT_SRC) $(CFLAGS) -o $(MUNIT)
|