3 CFLAGS = $(INCLUDES) -c -w -Wall -Werror -g -ggdb -std=gnu99 -coverage
4 LDFLAGS = -coverage -lm
10 # Guard against \r\n line endings only in Cygwin
11 OSTYPE := $(shell uname)
12 ifneq ($(OSTYPE),Darwin)
13 OSTYPE := $(shell uname -o)
14 ifeq ($(OSTYPE),Cygwin)
19 SRC = $(wildcard src/**/*.c)
21 OBJS = $(patsubst %,$(TEST_OBJDIR)/%,$(SRC:.c=.o))
22 TEST_SRC = $(wildcard $(TEST_DIR)/*_tests.c)
23 TESTS=$(patsubst %.c,$(TEST_OBJDIR)/%.bin,$(TEST_SRC))
28 @set -o $(TEST_SET_OPTS) >/dev/null 2>&1
30 @sh runtests.sh $(TEST_OBJDIR)/$(TEST_DIR)
32 COVERAGE_INFO_FILENAME = coverage.info
33 COVERAGE_INFO_PATH = $(TEST_OBJDIR)/$(COVERAGE_INFO_FILENAME)
35 @lcov --base-directory . --directory $(TEST_OBJDIR) --zerocounters -q
38 @lcov --base-directory . --directory $(TEST_OBJDIR) -c -o $(TEST_OBJDIR)/coverage.info
39 @lcov --remove $(COVERAGE_INFO_PATH) "/usr/*" -o $(COVERAGE_INFO_PATH)
40 @genhtml -o $(TEST_OBJDIR)/coverage -t "isotp-c test coverage" --num-spaces 4 $(COVERAGE_INFO_PATH)
41 @$(BROWSER) $(TEST_OBJDIR)/coverage/index.html
42 @echo "$(GREEN)Coverage information generated in $(TEST_OBJDIR)/coverage/index.html.$(COLOR_RESET)"
44 $(TEST_OBJDIR)/%.o: %.c
46 $(CC) $(CFLAGS) $(CC_SYMBOLS) $(INCLUDES) -o $@ $<
48 $(TEST_OBJDIR)/%.bin: $(TEST_OBJDIR)/%.o $(OBJS) $(TEST_SUPPORT_OBJS)
50 $(CC) $(LDFLAGS) $(CC_SYMBOLS) $(INCLUDES) -o $@ $^ $(LDLIBS)