summaryrefslogtreecommitdiff
path: root/FreeRTOS/Test/CMock/makefile.in
blob: 17ab96cb660e859be78ba7209f8a1c61b07d65cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# indent with spaces
.RECIPEPREFIX := $(.RECIPEPREFIX) $(.RECIPEPREFIX)

# Various directories
# Note: for this to work in subdirectories, this makefile must be the first one included.
UT_ROOT_DIR         :=  $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))

BUILD_DIR           :=  $(UT_ROOT_DIR)/build
DOC_DIR             :=  $(BUILD_DIR)/doc
COVERAGE_DIR        :=  $(BUILD_DIR)/coverage
BIN_DIR             :=  $(BUILD_DIR)/bin
GENERATED_DIR       :=  $(BUILD_DIR)/generated
LIB_DIR             :=  $(BUILD_DIR)/lib
TOOLS_DIR           :=  $(UT_ROOT_DIR)/tools

FREERTOS_DIR        :=  $(abspath $(UT_ROOT_DIR)../../../FreeRTOS)
KERNEL_DIR          :=  $(abspath $(UT_ROOT_DIR)/../../../FreeRTOS/Source)

CMOCK_DIR           :=  $(UT_ROOT_DIR)/CMock
CMOCK_SRC_DIR       :=  $(CMOCK_DIR)/src
UNITY_DIR           :=  $(CMOCK_DIR)/vendor/unity
UNITY_SRC_DIR       :=  $(UNITY_DIR)/src
UNITY_INC_DIR       :=  $(UNITY_DIR)/src
UNITY_BIN_DIR       :=  $(UNITY_DIR)/auto
UNITY_EXTRAS_DIR    :=  $(UNITY_DIR)/extras
UNITY_MEM_DIR       :=  $(UNITY_EXTRAS_DIR)/memory/src
C_EXCEPTION_SRC_DIR :=  $(CMOCK_DIR)/vendor/c_exception/lib
CMOCK_EXEC_DIR      :=  $(CMOCK_DIR)/lib

# Include directories
INCLUDE_DIR         :=  -I$(KERNEL_DIR)/include
INCLUDE_DIR         +=  -I.
INCLUDE_DIR         +=  -I$(UT_ROOT_DIR)/config
INCLUDE_DIR         +=  -I$(UNITY_INC_DIR)
INCLUDE_DIR         +=  -I$(CMOCK_SRC_DIR)
INCLUDE_DIR         +=  -I$(UNITY_MEM_DIR)
INCLUDE_DIR         +=  -I$(C_EXCEPTION_SRC_DIR)

# Preprocessor flags
CPPFLAGS    :=

# Compiler flags
CFLAGS              :=  $(INCLUDE_DIR)  -O0 -ggdb -pthread  --std=c99 -Werror -Wall
CFLAGS              +=  -fsanitize=address,undefined -fsanitize-recover=address
CFLAGS              +=  -fstack-protector-all
CFLAGS              +=  -Wformat -Werror=format-security -Werror=array-bounds
CFLAGS              +=  -D_FORTIFY_SOURCE=2

# Linker flags
LDFLAGS             :=  -L$(LIB_DIR) -Wl,-rpath,$(LIB_DIR)
LDFLAGS             +=  -fsanitize=address,undefined
LDFLAGS             +=  -pthread
LDFLAGS             +=  -lunity
LDFLAGS             +=  -lunitymemory
LDFLAGS             +=  -lcexception
LDFLAGS             +=  -lcmock
LDFLAGS             +=  -lgcov

# Shared libraries
LIBS                :=  libunity
LIBS                +=  libcmock
LIBS                +=  libunitymemory
LIBS                +=  libcexception

LCOV_OPTS           :=  --config-file $(UT_ROOT_DIR)/lcovrc

# export everything in this file
export