@@ -4,7 +4,7 @@ OUTPUT_BINARY := $(BINARY_DIRECTORY)/host_tests
4
4
CORE_PATH := ../../cores/esp8266
5
5
6
6
# I wasn't able to build with clang when -coverage flag is enabled, forcing GCC on OS X
7
- ifeq ($(UNAME_S ) ,Darwin)
7
+ ifeq ($(shell uname -s ) ,Darwin)
8
8
CC := gcc
9
9
CXX := g++
10
10
endif
@@ -49,43 +49,34 @@ remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-ou
49
49
50
50
C_SOURCE_FILES = $(CORE_C_FILES )
51
51
CPP_SOURCE_FILES = $(MOCK_CPP_FILES ) $(CORE_CPP_FILES ) $(TEST_CPP_FILES )
52
- C_SOURCE_FILE_NAMES = $(notdir $(C_SOURCE_FILES ) )
53
- C_PATHS = $(call remduplicates, $(dir $(C_SOURCE_FILES ) ) )
54
- C_OBJECTS = $(addprefix $(OBJECT_DIRECTORY ) /, $(C_SOURCE_FILE_NAMES:.c=.c.o ) )
52
+ C_OBJECTS = $(C_SOURCE_FILES:.c=.c.o )
55
53
56
- CPP_SOURCE_FILE_NAMES = $(notdir $(CPP_SOURCE_FILES ) )
57
- CPP_PATHS = $(call remduplicates, $(dir $(CPP_SOURCE_FILES ) ) )
58
- CPP_OBJECTS = $(addprefix $(OBJECT_DIRECTORY ) /, $(CPP_SOURCE_FILE_NAMES:.cpp=.cpp.o ) )
59
-
60
- vpath % .c $(C_PATHS )
61
- vpath % .cpp $(CPP_PATHS )
54
+ CPP_OBJECTS = $(CPP_SOURCE_FILES:.cpp=.cpp.o )
62
55
63
56
OBJECTS = $(C_OBJECTS ) $(CPP_OBJECTS )
57
+ COVERAGE_FILES = $(OBJECTS:.o=.gc* )
64
58
65
59
all : $(OUTPUT_BINARY ) test
66
60
67
61
test : $(OUTPUT_BINARY )
68
62
$(OUTPUT_BINARY )
69
63
70
64
clean :
71
- rm -rf $(OBJECT_DIRECTORY )
72
65
rm -rf $(BINARY_DIRECTORY )
66
+ rm -rf $(OBJECTS )
67
+ rm -rf $(COVERAGE_FILES ) * .gcov
73
68
74
- $(OBJECT_DIRECTORY ) :
75
- which gcc
76
- echo $(CC )
77
- echo $(CXX )
78
- $(CC ) -v
79
- mkdir -p $@
69
+ gcov : test
70
+ find $(CORE_PATH ) -name " *.gcno" -exec gcov -r -pb {} +
80
71
81
72
$(BINARY_DIRECTORY ) :
82
73
mkdir -p $@
83
74
84
- $(C_OBJECTS ) : $( OBJECT_DIRECTORY ) / % .c.o: % .c
75
+ $(C_OBJECTS ) : % .c.o: % .c
85
76
$(CC ) $(CFLAGS ) $(INC_PATHS ) -c -o $@ $<
86
77
87
- $(CPP_OBJECTS ) : $( OBJECT_DIRECTORY ) / % .cpp.o: % .cpp
78
+ $(CPP_OBJECTS ) : % .cpp.o: % .cpp
88
79
$(CXX ) $(CXXFLAGS ) $(INC_PATHS ) -c -o $@ $<
89
80
90
- $(OUTPUT_BINARY ) : $(BINARY_DIRECTORY ) $(OBJECT_DIRECTORY ) $( OBJECTS )
81
+ $(OUTPUT_BINARY ) : $(BINARY_DIRECTORY ) $(OBJECTS )
91
82
$(CXX ) $(LDFLAGS ) $(OBJECTS ) $(LIBS ) -o $(OUTPUT_BINARY )
0 commit comments