#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