#------------------------------------------------------------------------------- # Copyright (C) 2014 Freescale Semiconductor, Inc. # Copyright 2016 NXP # All Rights Reserved. # # THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT # SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY # OF SUCH DAMAGE. #------------------------------------------------------------------------------- #Variables .NOTPARALLEL: BUILD_TYPE = Debug TEST_DIR = $(ERPC_ROOT)/test TEST_NAME = $(CUR_DIR) CLIENT_NAME = $(TEST_NAME)_client SERVER_NAME = $(TEST_NAME)_server ERPCGEN_PATH = $(ERPC_ROOT)/$(BUILD_TYPE)/$(os_name)/erpcgen/erpcgen UT_OUTPUT_DIR = $(OUTPUT_ROOT)/test/$(TEST_NAME) TCP_CLIENT_PATH = $(UT_OUTPUT_DIR)/$(os_name)/tcp/$(CC)/$(CLIENT_NAME)/$(DEBUG_OR_RELEASE)/$(CLIENT_NAME)_tcp_test TCP_SERVER_PATH = $(UT_OUTPUT_DIR)/$(os_name)/tcp/$(CC)/$(SERVER_NAME)/$(DEBUG_OR_RELEASE)/$(SERVER_NAME)_tcp_test test_server_serial = test_server_serial test_client_serial = test_client_serial clean_serial = clean_serial ifeq "$(is_mingw)" "1" test_server_serial = test_client_serial = clean_serial = endif .PHONY: all all: test_lib test_client test_server .PHONY: test_lib test_lib: erpcgen @$(call printmessage,build,Building, test_lib,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test_lib.mk # Unit Test Targets .PHONY: test-tcp test-tcp: test_lib test_client_tcp test_server_tcp .PHONY: test-serial test-serial: test_lib test_client_serial test_server_serial .PHONY: fresh fresh: clean all .PHONY: test_client test_client: test_client_tcp $(test_client_serial) .PHONY: test_client_tcp test_client_tcp: erpcgen @$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=CLIENT TRANSPORT=tcp .PHONY: test_client_serial test_client_serial: erpcgen ifneq "$(TEST_NAME)" "test_arbitrator" @$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=CLIENT TRANSPORT=serial else @$(call printmessage,green,Skipping, $(CUR_DIR) $@ ,gray,,,\n) endif .PHONY: test_server test_server: test_server_tcp $(test_server_serial) .PHONY: test_server_tcp test_server_tcp: erpcgen @$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=SERVER TRANSPORT=tcp .PHONY: test_server_serial test_server_serial: erpcgen ifneq "$(TEST_NAME)" "test_arbitrator" @$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=SERVER TRANSPORT=serial else @$(call printmessage,green,Skipping, $(CUR_DIR) $@ ,gray,,,\n) endif .PHONY: erpcgen erpcgen: @$(call printmessage,build,Building, $@ ,gray,,,\n) @$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C $(ERPC_ROOT)/erpcgen -f Makefile .PHONY: test run-ut-server run-ut-client test: all run-ut-server run-ut-client run-tcp-server: @$(TCP_SERVER_PATH) & run-tcp-client: @$(TCP_CLIENT_PATH) "--gtest_output=xml:$(TEST_DIR)/results/" run-erpcgen: erpcgen @$(ERPCGEN_PATH) $(CUR_DIR).erpc run-erpcgen-common: erpcgen @$(ERPCGEN_PATH) $(ERPC_ROOT)/src/unit_test_common/unit_test_common.erpc #cleans only output directories related to this unit test .PHONY: clean clean_serial clean_tcp clean: $(clean_serial) clean_tcp clean_tcp: @echo Cleaning $(TEST_NAME)_tcp... @$(rmc) $(UT_OUTPUT_DIR)/$(os_name)/tcp clean_serial: @echo Cleaning $(TEST_NAME)_serial... @$(rmc) $(UT_OUTPUT_DIR)/$(os_name)/serial