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_BASE_CFLAGS := $(CFLAGS_JDKLIB) |
64 $1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN) |
64 $1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB) |
|
65 $1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) |
65 $1_COMPILATION_TYPE := LIBRARY |
66 $1_COMPILATION_TYPE := LIBRARY |
66 else ifeq ($$($1_TYPE), PROGRAM) |
67 else ifeq ($$($1_TYPE), PROGRAM) |
67 $1_PREFIX = exe |
68 $1_PREFIX = exe |
68 $1_OUTPUT_SUBDIR := bin |
69 $1_OUTPUT_SUBDIR := bin |
69 $1_CFLAGS += $(CFLAGS_TESTEXE) |
70 $1_BASE_CFLAGS := $(CFLAGS_JDKEXE) |
70 $1_LDFLAGS := $(LDFLAGS_TESTEXE) |
71 $1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE) |
|
72 $1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE) |
71 $1_COMPILATION_TYPE := EXECUTABLE |
73 $1_COMPILATION_TYPE := EXECUTABLE |
72 else |
74 else |
73 $$(error Unknown type: $$($1_TYPE)) |
75 $$(error Unknown type: $$($1_TYPE)) |
74 endif |
76 endif |
75 |
77 |
90 TYPE := $$($1_COMPILATION_TYPE), \ |
92 TYPE := $$($1_COMPILATION_TYPE), \ |
91 SRC := $$(patsubst %/,%,$$(dir $$(file))), \ |
93 SRC := $$(patsubst %/,%,$$(dir $$(file))), \ |
92 INCLUDE_FILES := $$(notdir $$(file)), \ |
94 INCLUDE_FILES := $$(notdir $$(file)), \ |
93 OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \ |
95 OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \ |
94 OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \ |
96 OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \ |
95 CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \ |
97 CFLAGS := $$($1_BASE_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \ |
|
98 CXXFLAGS := $$($1_BASE_CXXFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \ |
96 LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \ |
99 LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \ |
|
100 DISABLED_WARNINGS_CXX_solstudio := wvarhidenmem, \ |
|
101 DISABLED_WARNINGS_CXX_gcc := format, \ |
97 LIBS := $$($1_LIBS_$$(name)), \ |
102 LIBS := $$($1_LIBS_$$(name)), \ |
98 TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \ |
103 TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \ |
99 OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \ |
104 OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \ |
100 COPY_DEBUG_SYMBOLS := false, \ |
105 COPY_DEBUG_SYMBOLS := false, \ |
101 STRIP_SYMBOLS := false, \ |
106 STRIP_SYMBOLS := false, \ |