make/common/TestFilesCompilation.gmk
changeset 51551 e409244ce72e
parent 51518 2e98c7737d8f
child 51814 43668e3cae4d
equal deleted inserted replaced
51550:a2f1923b3e16 51551:e409244ce72e
    58   # The list to depend on starts out empty
    58   # The list to depend on starts out empty
    59   $1 :=
    59   $1 :=
    60   ifeq ($$($1_TYPE), LIBRARY)
    60   ifeq ($$($1_TYPE), LIBRARY)
    61     $1_PREFIX = lib
    61     $1_PREFIX = lib
    62     $1_OUTPUT_SUBDIR := lib
    62     $1_OUTPUT_SUBDIR := lib
    63     $1_CFLAGS := $(CFLAGS_TESTLIB)
    63     $1_CFLAGS += $(CFLAGS_TESTLIB)
    64     $1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
    64     $1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
    65     $1_COMPILATION_TYPE := LIBRARY
    65     $1_COMPILATION_TYPE := LIBRARY
    66   else ifeq ($$($1_TYPE), PROGRAM)
    66   else ifeq ($$($1_TYPE), PROGRAM)
    67     $1_PREFIX = exe
    67     $1_PREFIX = exe
    68     $1_OUTPUT_SUBDIR := bin
    68     $1_OUTPUT_SUBDIR := bin
    69     $1_CFLAGS := $(CFLAGS_TESTEXE)
    69     $1_CFLAGS += $(CFLAGS_TESTEXE)
    70     $1_LDFLAGS := $(LDFLAGS_TESTEXE)
    70     $1_LDFLAGS := $(LDFLAGS_TESTEXE)
    71     $1_COMPILATION_TYPE := EXECUTABLE
    71     $1_COMPILATION_TYPE := EXECUTABLE
    72   else
    72   else
    73     $$(error Unknown type: $$($1_TYPE))
    73     $$(error Unknown type: $$($1_TYPE))
    74   endif
    74   endif
    75 
    75 
    76   # Locate all files with the matching prefix
    76   # Locate all files with the matching prefix
    77   $1_FILE_LIST := \
    77   $1_FILE_LIST := \
    78       $$(shell $$(FIND) $$($1_SOURCE_DIRS) -type f -name "$$($1_PREFIX)*.c")
    78       $$(shell $$(FIND) $$($1_SOURCE_DIRS) -type f \( -name "$$($1_PREFIX)*.c" \
       
    79           -o -name "$$($1_PREFIX)*.cpp" \))
    79 
    80 
    80   $1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
    81   $1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
    81   $1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))
    82   $1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))
    82 
    83 
    83   # Setup a compilation for each and every one of them
    84   # Setup a compilation for each and every one of them
    92         OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
    93         OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
    93         OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
    94         OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
    94         CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
    95         CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
    95         LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
    96         LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
    96         LIBS := $$($1_LIBS_$$(name)), \
    97         LIBS := $$($1_LIBS_$$(name)), \
       
    98         TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \
    97         OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
    99         OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
    98         COPY_DEBUG_SYMBOLS := false, \
   100         COPY_DEBUG_SYMBOLS := false, \
    99         STRIP_SYMBOLS := false, \
   101         STRIP_SYMBOLS := false, \
   100     )) \
   102     )) \
   101     $$(eval $1 += $$(BUILD_TEST_$$(name)) )  \
   103     $$(eval $1 += $$(BUILD_TEST_$$(name)) )  \