Add canutil dependency for bit field manipulation.
[apps/agl-service-can-low-level.git] / Makefile
1 CC = gcc
2 INCLUDES = -Isrc -Ideps/canutil/src
3 CFLAGS = $(INCLUDES) -c -w -Wall -Werror -g -ggdb
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/**/*.c)
20 OBJS = $(SRC:.c=.o)
21 TEST_SRC = $(wildcard $(TEST_DIR)/*.c)
22 TEST_OBJS = $(TEST_SRC:.c=.o)
23 TESTS=$(patsubst %.c,%.bin,$(TEST_SRC))
24
25 all: $(OBJS)
26
27 test: $(TESTS)
28         @set -o $(TEST_SET_OPTS) >/dev/null 2>&1
29         @export SHELLOPTS
30         @sh runtests.sh $(TEST_DIR)
31
32 $(TEST_DIR)/%.bin: $(TEST_DIR)/%.o $(OBJS)
33         @mkdir -p $(dir $@)
34         $(CC) $(LDFLAGS) $(CC_SYMBOLS) $(INCLUDES) -o $@ $^ $(LDLIBS)
35
36 clean:
37         rm -rf **/*.o $(TEST_DIR)/*.bin