@@ -4,7 +4,7 @@ OUTPUT_BINARY := $(BINARY_DIRECTORY)/host_tests
44CORE_PATH := ../../cores/esp8266
55
66# 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)
88CC := gcc
99CXX := g++
1010endif
@@ -49,43 +49,34 @@ remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-ou
4949
5050C_SOURCE_FILES = $(CORE_C_FILES )
5151CPP_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 )
5553
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 )
6255
6356OBJECTS = $(C_OBJECTS ) $(CPP_OBJECTS )
57+ COVERAGE_FILES = $(OBJECTS:.o=.gc* )
6458
6559all : $(OUTPUT_BINARY ) test
6660
6761test : $(OUTPUT_BINARY )
6862 $(OUTPUT_BINARY )
6963
7064clean :
71- rm -rf $(OBJECT_DIRECTORY )
7265 rm -rf $(BINARY_DIRECTORY )
66+ rm -rf $(OBJECTS )
67+ rm -rf $(COVERAGE_FILES ) * .gcov
7368
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 {} +
8071
8172$(BINARY_DIRECTORY ) :
8273 mkdir -p $@
8374
84- $(C_OBJECTS ) : $( OBJECT_DIRECTORY ) / % .c.o: % .c
75+ $(C_OBJECTS ) : % .c.o: % .c
8576 $(CC ) $(CFLAGS ) $(INC_PATHS ) -c -o $@ $<
8677
87- $(CPP_OBJECTS ) : $( OBJECT_DIRECTORY ) / % .cpp.o: % .cpp
78+ $(CPP_OBJECTS ) : % .cpp.o: % .cpp
8879 $(CXX ) $(CXXFLAGS ) $(INC_PATHS ) -c -o $@ $<
8980
90- $(OUTPUT_BINARY ) : $(BINARY_DIRECTORY ) $(OBJECT_DIRECTORY ) $( OBJECTS )
81+ $(OUTPUT_BINARY ) : $(BINARY_DIRECTORY ) $(OBJECTS )
9182 $(CXX ) $(LDFLAGS ) $(OBJECTS ) $(LIBS ) -o $(OUTPUT_BINARY )
0 commit comments