- # ==========================================
- # Unity Project - A Test Framework for C
- # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
- # [Released under MIT License. Please refer to license.txt for details]
- # ==========================================
-
- #We try to detect the OS we are running on, and adjust commands as needed
- ifeq ($(OS),Windows_NT)
- CLEANUP := del /F /Q
- MKDIR := mkdir
- TARGET_EXTENSION := .exe
- else
- CLEANUP := rm -rf
- MKDIR := mkdir -p
- TARGET_EXTENSION :=
- endif
-
-
- UNITY_ROOT := ../../../../Unity
- C_COMPILER := gcc
-
- CFLAGS = -std=c11
- CFLAGS += -Wall
- CFLAGS += -Wextra
- CFLAGS += -Werror
- CFLAGS += -Wpointer-arith
- CFLAGS += -Wcast-align
- CFLAGS += -Wwrite-strings
- CFLAGS += -Wswitch-default
- CFLAGS += -Wunreachable-code
- CFLAGS += -Winit-self
- CFLAGS += -Wmissing-field-initializers
- CFLAGS += -Wno-unknown-pragmas
- CFLAGS += -Wstrict-prototypes
- CFLAGS += -Wundef
- CFLAGS += -Wold-style-definition
- CFLAGS += -Wmissing-prototypes
- CFLAGS += -Wmissing-declarations
- CFLAGS += -g
- CFLAGS += -ftest-coverage
- CFLAGS += -fprofile-arcs
-
- TARGET_BASE := test_leddriver
- TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
-
- SRC_FILES = \
- $(UNITY_ROOT)/extras/fixture/src/unity_fixture.c \
- $(UNITY_ROOT)/src/unity.c \
- ../test/LedDriverTest.c \
- ../test/LedDriverTestRunner.c \
- ../test/AllTests.c \
- ../src/LedDriver.c \
- ../mocks/RuntimeErrorStub.c
-
- INC_DIRS = -I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
- SYMBOLS =
-
-
- all: clean tests cover
-
-
- build/$(TARGET): test/*.c src/*.h src/*.c
- @$(MKDIR) build
- @$(MKDIR) build/cover
- @echo "Compiling"; cd build; $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES) -o $(TARGET)
-
- .PHONY: tests
- tests: build/$(TARGET)
- @echo "Running tests"; ./build/$(TARGET)
-
- .PHONY: cover
- cover: tests
- @echo "Preparing coverage"; cp build/LedDriver.gc* src/
- @echo "Running coverage"; cd src; gcovr -r . -b -p --html --html-details -o ../build/cover/test.html
- @echo "Clearing intermediate files"; rm src/*.gc* build/*.gc*
-
-
- .PHONY: clean
- clean:
- @echo "Cleaning $<"; $(CLEANUP) build
|