164 lines
5.5 KiB
Plaintext
164 lines
5.5 KiB
Plaintext
#Set this to @ to keep the makefile quiet
|
|
SILENCE = @
|
|
|
|
#--- Inputs ----#
|
|
COMPONENT_NAME = CppUTest
|
|
ifeq ($(CPPUTEST_USE_STD_C_LIB), N)
|
|
CPP_PLATFORM = GccNoStdC
|
|
else
|
|
CPP_PLATFORM = Gcc
|
|
endif
|
|
CPPUTEST_HOME = .
|
|
OLD_MAKE = oldmake
|
|
|
|
MAKE_CMD = make -f $(CPPUTEST_HOME)/Makefile_using_MakefileWorker
|
|
CPPUTEST_ENABLE_DEBUG = Y
|
|
|
|
SRC_DIRS = \
|
|
src/CppUTest \
|
|
src/Platforms/$(CPP_PLATFORM)
|
|
|
|
TEST_SRC_DIRS = \
|
|
tests/CppUTest
|
|
|
|
INCLUDE_DIRS =\
|
|
include
|
|
|
|
include $(CPPUTEST_HOME)/build/MakefileWorker.mk
|
|
|
|
#these are a sample of the other alternative flag settings
|
|
.PHONY: test_all
|
|
test_all: start
|
|
$(MAKE_CMD) test_defaults
|
|
$(MAKE_CMD) test_disable_std_cpp
|
|
$(MAKE_CMD) test_disable_memory_leak_detection
|
|
$(MAKE_CMD) test_disable_std_cpp_and_leak_detection
|
|
$(MAKE_CMD) test_disable_debug
|
|
$(MAKE_CMD) test_override_flags
|
|
$(MAKE_CMD) test_disable_std_c
|
|
$(MAKE_CMD) test_target_platform
|
|
$(MAKE_CMD) test_override_and_disable
|
|
$(MAKE_CMD) test_examples
|
|
$(MAKE_CMD) test_junit_output
|
|
$(MAKE_CMD) test_gcov
|
|
$(MAKE_CMD) test_vpath
|
|
$(MAKE_CMD) test_vpath_install
|
|
|
|
.PHONY: test_defaults
|
|
test_defaults: start
|
|
@echo Building with the default flags.
|
|
$(MAKE_CMD) clean
|
|
$(TIME) $(MAKE_CMD)
|
|
./$(TEST_TARGET) -r
|
|
$(MAKE_CMD) clean
|
|
|
|
.PHONY: test_disable_std_cpp
|
|
test_disable_std_cpp: start
|
|
@echo Building with the STDC++ new disabled.
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_STD_CPP_LIB=N extensions
|
|
$(MAKE_CMD) CPPUTEST_USE_STD_CPP_LIB=N cleanExtensions
|
|
|
|
.PHONY: test_disable_memory_leak_detection
|
|
test_disable_memory_leak_detection: start
|
|
@echo Building with Memory Leak Detection disabled
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_MEM_LEAK_DETECTION=N extensions
|
|
$(MAKE_CMD) CPPUTEST_USE_MEM_LEAK_DETECTION=N cleanExtensions
|
|
|
|
.PHONY: test_disable_std_cpp_and_leak_detection
|
|
test_disable_std_cpp_and_leak_detection: start
|
|
@echo Building with Memory Leak Detection disabled and STD C++ disabled
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_MEM_LEAK_DETECTION=N CPPUTEST_USE_STD_CPP_LIB=Y extensions
|
|
$(MAKE_CMD) CPPUTEST_USE_MEM_LEAK_DETECTION=N CPPUTEST_USE_STD_CPP_LIB=Y cleanExtensions
|
|
|
|
.PHONY: test_disable_debug
|
|
test_disable_debug: start
|
|
@echo Building with debug disabled
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_ENABLE_DEBUG=N extensions
|
|
$(MAKE_CMD) CPPUTEST_ENABLE_DEBUG=N cleanExtensions
|
|
|
|
.PHONY: test_override_flags
|
|
test_override_flags: start
|
|
@echo Building with overridden CXXFLAGS and CFLAGS and CPPFLAGS
|
|
$(TIME) $(MAKE_CMD) CFLAGS="" CXXFLAGS="" CPPFLAGS="-Iinclude"
|
|
$(MAKE_CMD) CFLAGS="" CXXFLAGS="" clean
|
|
|
|
.PHONY: test_disable_std_c
|
|
test_disable_std_c: start
|
|
@echo Building without Standard C library includes
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_STD_C_LIB=N CPPUTEST_ADDITIONAL_CPPFLAGS="-DCPPUTEST_CHAR_BIT=8" all_no_tests
|
|
$(MAKE_CMD) CPPUTEST_USE_STD_C_LIB=N clean
|
|
|
|
.PHONY: test_target_platform
|
|
test_target_platform: start
|
|
@echo Building with a different TARGET_PLATFORM
|
|
$(MAKE_CMD) TARGET_PLATFORM=real_platform
|
|
|
|
.PHONY: test_override_and_disable
|
|
test_override_and_disable: start
|
|
@echo Building with overridden CXXFLAGS and CFLAGS and memory leak and STDC++ disabled
|
|
$(TIME) $(MAKE_CMD) CFLAGS="" CXXFLAGS="" CPPFLAGS="-Iinclude -DCPPUTEST_STD_CPP_LIB_DISABLED -DCPPUTEST_MEM_LEAK_DETECTION_DISABLED"
|
|
$(MAKE_CMD) CFLAGS="" CXXFLAGS="" CPPFLAGS="-DCPPUTEST_STD_CPP_LIB_DISABLED -DCPPUTEST_MEM_LEAK_DETECTION_DISABLED" clean
|
|
|
|
.PHONY: test_examples
|
|
test_examples: start
|
|
@echo Building examples
|
|
$(MAKE_CMD) cleanExamples
|
|
$(TIME) $(MAKE_CMD) examples
|
|
$(MAKE_CMD) cleanExamples
|
|
|
|
.PHONY: test_junit_output
|
|
test_junit_output: start
|
|
@echo Testing JUnit output
|
|
$(TIME) $(MAKE_CMD)
|
|
$(SILENCE)./$(TEST_TARGET) -ojunit > junit_run_output
|
|
$(SILENCE)if [ -s junit_run_output ]; then echo "JUnit run has output. Build failed!"; exit 1; fi
|
|
$(MAKE_CMD) clean
|
|
$(MAKE_CMD) CPPUTEST_MAP_FILE=map.txt
|
|
$(MAKE_CMD) clean
|
|
|
|
.PHONY: test_gcov
|
|
test_gcov: start
|
|
@echo Testing GCOV usage
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_GCOV=Y everythingInstall
|
|
$(MAKE_CMD) gcov
|
|
$(MAKE) -f Makefile_CppUTestExt gcov
|
|
$(MAKE) -C examples gcov
|
|
$(MAKE_CMD) cleanEverythingInstall
|
|
|
|
.PHONY: test_vpath
|
|
test_vpath: start
|
|
@echo Testing VPATH usage
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_GCOV=Y CPPUTEST_USE_VPATH=Y everythingInstall
|
|
$(MAKE_CMD) CPPUTEST_USE_VPATH=Y gcov
|
|
$(MAKE) CPPUTEST_USE_VPATH=Y -f Makefile_CppUTestExt gcov
|
|
$(MAKE) CPPUTEST_USE_VPATH=Y -C examples gcov
|
|
$(MAKE_CMD) clean cleanExamples
|
|
|
|
.PHONY: test_vpath_install
|
|
test_vpath_install: start
|
|
@echo Testing VPATH usage
|
|
$(TIME) $(MAKE_CMD) CPPUTEST_USE_VPATH=Y everythingInstall
|
|
$(MAKE_CMD) CPPUTEST_USE_VPATH=Y cleanEverythingInstall
|
|
$(MAKE_CMD) flags
|
|
$(MAKE_CMD) debug
|
|
|
|
.PHONY: examples
|
|
examples: $(TEST_TARGET) extensions
|
|
+$(TIME) $(MAKE) -C examples all CPPUTEST_USE_STD_CPP_LIB=$(CPPUTEST_USE_STD_CPP_LIB) CPPUTEST_USE_MEM_LEAK_DETECTION=$(CPPUTEST_USE_MEM_LEAK_DETECTION)
|
|
|
|
extensions: $(TEST_TARGET)
|
|
+$(TIME) $(MAKE) -f Makefile_CppUTestExt all CPPUTEST_USE_STD_CPP_LIB=$(CPPUTEST_USE_STD_CPP_LIB) CPPUTEST_USE_MEM_LEAK_DETECTION=$(CPPUTEST_USE_MEM_LEAK_DETECTION) TARGET_PLATFORM=$(TARGET_PLATFORM)
|
|
|
|
cleanExtensions: clean
|
|
+$(TIME) $(MAKE) -f Makefile_CppUTestExt clean CPPUTEST_USE_STD_CPP_LIB=$(CPPUTEST_USE_STD_CPP_LIB) CPPUTEST_USE_MEM_LEAK_DETECTION=$(CPPUTEST_USE_MEM_LEAK_DETECTION) TARGET_PLATFORM=$(TARGET_PLATFORM)
|
|
|
|
cleanExamples: clean cleanExtensions
|
|
+$(TIME) $(MAKE) -C examples clean CPPUTEST_USE_STD_CPP_LIB=$(CPPUTEST_USE_STD_CPP_LIB) CPPUTEST_USE_MEM_LEAK_DETECTION=$(CPPUTEST_USE_MEM_LEAK_DETECTION)
|
|
|
|
.PHONY: everythingInstall
|
|
everythingInstall: all extensions examples
|
|
|
|
.PHONY: cleanEverythingInstall
|
|
cleanEverythingInstall: clean cleanExtensions cleanExamples
|
|
|