|
@@ -6,18 +6,18 @@
|
6
|
6
|
|
7
|
7
|
#We try to detect the OS we are running on, and adjust commands as needed
|
8
|
8
|
ifeq ($(OS),Windows_NT)
|
9
|
|
- CLEANUP = del /F /Q
|
10
|
|
- MKDIR = mkdir
|
11
|
|
- TARGET_EXTENSION=.exe
|
|
9
|
+ CLEANUP := del /F /Q
|
|
10
|
+ MKDIR := mkdir
|
|
11
|
+ TARGET_EXTENSION := .exe
|
12
|
12
|
else
|
13
|
|
- CLEANUP = rm -rf
|
14
|
|
- MKDIR = mkdir -p
|
15
|
|
- TARGET_EXTENSION=
|
|
13
|
+ CLEANUP := rm -rf
|
|
14
|
+ MKDIR := mkdir -p
|
|
15
|
+ TARGET_EXTENSION :=
|
16
|
16
|
endif
|
17
|
17
|
|
18
|
18
|
|
19
|
|
-UNITY_ROOT=../../../../../Git/Unity
|
20
|
|
-C_COMPILER=gcc
|
|
19
|
+UNITY_ROOT := ../../../../Unity
|
|
20
|
+C_COMPILER := gcc
|
21
|
21
|
|
22
|
22
|
CFLAGS = -std=c11
|
23
|
23
|
CFLAGS += -Wall
|
|
@@ -40,9 +40,10 @@ CFLAGS += -g
|
40
|
40
|
CFLAGS += -ftest-coverage
|
41
|
41
|
CFLAGS += -fprofile-arcs
|
42
|
42
|
|
43
|
|
-TARGET_BASE=test_leddriver
|
44
|
|
-TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
|
45
|
|
-SRC_FILES=\
|
|
43
|
+TARGET_BASE := test_leddriver
|
|
44
|
+TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
|
|
45
|
+
|
|
46
|
+SRC_FILES = \
|
46
|
47
|
$(UNITY_ROOT)/extras/fixture/src/unity_fixture.c \
|
47
|
48
|
$(UNITY_ROOT)/src/unity.c \
|
48
|
49
|
../test/LedDriverTest.c \
|
|
@@ -50,19 +51,24 @@ SRC_FILES=\
|
50
|
51
|
../test/AllTests.c \
|
51
|
52
|
../src/LedDriver.c
|
52
|
53
|
|
53
|
|
-INC_DIRS=-I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
|
54
|
|
-SYMBOLS=
|
|
54
|
+INC_DIRS = -I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
|
|
55
|
+SYMBOLS =
|
55
|
56
|
|
56
|
57
|
|
57
|
|
-all: clean tests
|
|
58
|
+all: clean tests cover
|
58
|
59
|
|
59
|
60
|
|
60
|
|
-.PHONY: tests
|
61
|
|
-tests: build/$(TARGET)
|
62
|
|
-
|
63
|
61
|
build/$(TARGET): test/*.c src/*.h src/*.c
|
|
62
|
+ @$(MKDIR) build
|
|
63
|
+ @$(MKDIR) build/cover
|
64
|
64
|
@echo "Compiling"; cd build; $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES) -o $(TARGET)
|
|
65
|
+
|
|
66
|
+.PHONY: tests
|
|
67
|
+tests: build/$(TARGET)
|
65
|
68
|
@echo "Running tests"; ./build/$(TARGET)
|
|
69
|
+
|
|
70
|
+.PHONY: cover
|
|
71
|
+cover: tests
|
66
|
72
|
@echo "Preparing coverage"; cp build/LedDriver.gc* src/
|
67
|
73
|
@echo "Running coverage"; cd src; gcovr -r . -b -p --html --html-details -o ../build/cover/test.html
|
68
|
74
|
@echo "Clearing intermediate files"; rm src/*.gc* build/*.gc*
|
|
@@ -70,5 +76,4 @@ build/$(TARGET): test/*.c src/*.h src/*.c
|
70
|
76
|
|
71
|
77
|
.PHONY: clean
|
72
|
78
|
clean:
|
73
|
|
- @echo "Cleaning $<"; $(CLEANUP) build/$(TARGET) build/*.* build/cover/*
|
74
|
|
-
|
|
79
|
+ @echo "Cleaning $<"; $(CLEANUP) build
|