# ==========================================
|
|
# 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=../../../../../Git/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_sprintf
|
|
TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
|
|
SRC_FILES=\
|
|
$(UNITY_ROOT)/extras/fixture/src/unity_fixture.c \
|
|
$(UNITY_ROOT)/src/unity.c \
|
|
../test/SprintfTest.c \
|
|
../test/SprintfTestRunner.c \
|
|
../test/AllTests.c
|
|
INC_DIRS=-I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
|
|
SYMBOLS=
|
|
|
|
|
|
all: clean tests
|
|
|
|
|
|
.PHONY: tests
|
|
tests: build/$(TARGET)
|
|
|
|
build/$(TARGET): test/*.c
|
|
@echo "Compiling"; cd build; $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES) -o $(TARGET)
|
|
@echo "Running tests"; ./build/$(TARGET)
|
|
@echo "Preparing coverage"; cp build/*.gc* test/
|
|
@echo "Running coverage"; cd test; gcovr -r . -b -p --html --html-details -o ../build/cover/$(TARGET).html
|
|
@echo "Clearing intermediate files"; rm test/*.gc* build/*.gc*
|
|
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@echo "Cleaning $<"; $(CLEANUP) build/$(TARGET) build/cover/*
|
|
|