Bump dependency.
[apps/low-level-can-service.git] / Makefile
1 CC = gcc
2 INCLUDES = -Isrc -Ideps/bitfield-c/src
3 CFLAGS = $(INCLUDES) -c -w -Wall -Werror -g -ggdb -std=c99
4 LDFLAGS =
5 LDLIBS = -lcheck
6
7 TEST_DIR = tests
8
9 # Guard against \r\n line endings only in Cygwin
10 OSTYPE := $(shell uname)
11 ifneq ($(OSTYPE),Darwin)
12         OSTYPE := $(shell uname -o)
13         ifeq ($(OSTYPE),Cygwin)
14                 TEST_SET_OPTS = igncr
15         endif
16 endif
17
18 SRC = $(wildcard src/**/*.c)
19 SRC += $(wildcard deps/bitfield-c/src/**/*.c)
20 OBJS = $(SRC:.c=.o)
21 TEST_SRC = $(wildcard $(TEST_DIR)/test_*.c)
22 TESTS=$(patsubst %.c,%.bin,$(TEST_SRC))
23 TEST_SUPPORT_SRC = $(TEST_DIR)/common.c
24 TEST_SUPPORT_OBJS = $(TEST_SUPPORT_SRC:.c=.o)
25
26 all: $(OBJS)
27
28 test: $(TESTS)
29         @set -o $(TEST_SET_OPTS) >/dev/null 2>&1
30         @export SHELLOPTS
31         @sh runtests.sh $(TEST_DIR)
32
33 $(TEST_DIR)/%.bin: $(TEST_DIR)/%.o $(OBJS) $(TEST_SUPPORT_OBJS)
34         @mkdir -p $(dir $@)
35         $(CC) $(LDFLAGS) $(CC_SYMBOLS) $(INCLUDES) -o $@ $^ $(LDLIBS)
36
37 clean:
38         rm -rf **/*.o $(TEST_DIR)/*.bin