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