< prev index next >

make/common/NativeCompilation.gmk

Print this page

        

*** 1,7 **** # ! # Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this --- 1,7 ---- # ! # Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this
*** 229,247 **** $$(OUTPUTDIR)/,,$$($1_OBJ))).json $$($1_BASE)_ALL_OBJS_JSON += $$($1_OBJ_JSON) # Only continue if this object file hasn't been processed already. This lets # the first found source file override any other with the same name. ! ifeq ($$($1_OBJ_PROCESSED), ) ! $1_OBJ_PROCESSED := true # This is the definite source file to use for $1_FILENAME. $1_SRC_FILE := $$($1_FILE) ! ifneq ($$($1_DEFINE_THIS_FILE), false) ! ifneq ($$($$($1_BASE)_DEFINE_THIS_FILE), false) ! $1_THIS_FILE = -DTHIS_FILE='"$$($1_FILENAME)"' ! endif endif ifeq ($$($1_OPTIMIZATION), ) $1_OPT_CFLAGS := $$($$($1_BASE)_OPT_CFLAGS) $1_OPT_CXXFLAGS := $$($$($1_BASE)_OPT_CXXFLAGS) --- 229,245 ---- $$(OUTPUTDIR)/,,$$($1_OBJ))).json $$($1_BASE)_ALL_OBJS_JSON += $$($1_OBJ_JSON) # Only continue if this object file hasn't been processed already. This lets # the first found source file override any other with the same name. ! ifeq ($$(findstring $$($1_OBJ), $$($$($1_BASE)_OBJS_SO_FAR)), ) ! $$($1_BASE)_OBJS_SO_FAR += $$($1_OBJ) # This is the definite source file to use for $1_FILENAME. $1_SRC_FILE := $$($1_FILE) ! ifneq ($$($1_DISABLE_THIS_FILE_DEFINE), true) ! $1_THIS_FILE = -DTHIS_FILE='"$$($1_FILENAME)"' endif ifeq ($$($1_OPTIMIZATION), ) $1_OPT_CFLAGS := $$($$($1_BASE)_OPT_CFLAGS) $1_OPT_CXXFLAGS := $$($$($1_BASE)_OPT_CXXFLAGS)
*** 308,329 **** $$(error Internal error in NativeCompilation.gmk: no compiler for file $$($1_FILENAME)) endif ifeq ($$(filter %.s %.S, $$($1_FILENAME)), ) # And this is the dependency file for this obj file. ! $1_DEPS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ)) # The dependency target file lists all dependencies as empty targets to # avoid make error "No rule to make target" for removed files ! $1_DEPS_TARGETS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ)) ! # Only try to load individual dependency information files if the global ! # file hasn't been loaded (could happen if make was interrupted). ! ifneq ($$($$($1_BASE)_DEPS_FILE_LOADED), true) ! # Include previously generated dependency information. (if it exists) ! -include $$($1_DEPS_FILE) ! -include $$($1_DEPS_TARGETS_FILE) ! endif endif ifneq ($$(strip $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION)), ) $1_VARDEPS := $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION) $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_OBJ).vardeps) --- 306,323 ---- $$(error Internal error in NativeCompilation.gmk: no compiler for file $$($1_FILENAME)) endif ifeq ($$(filter %.s %.S, $$($1_FILENAME)), ) # And this is the dependency file for this obj file. ! $1_DEP := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ)) # The dependency target file lists all dependencies as empty targets to # avoid make error "No rule to make target" for removed files ! $1_DEP_TARGETS := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ)) ! # Include previously generated dependency information. (if it exists) ! -include $$($1_DEP) ! -include $$($1_DEP_TARGETS) endif ifneq ($$(strip $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION)), ) $1_VARDEPS := $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION) $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_OBJ).vardeps)
*** 344,381 **** ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $$($1_FILENAME)), solstudio) # The Solaris studio compiler doesn't output the full path to the # object file in the generated deps files. Fixing it with sed. If # compiling assembly, don't try this. $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEPS_FILE).tmp $$($1_COMPILE_OPTIONS)) ! $(SED) 's|^$$(@F):|$$@:|' $$($1_DEPS_FILE).tmp > $$($1_DEPS_FILE) else $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEPS_FILE) $$($1_COMPILE_OPTIONS)) endif # Create a dependency target file from the dependency file. # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ ! ifneq ($$($1_DEPS_FILE), ) ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE) endif else # The Visual Studio compiler lacks a feature for generating make # dependencies, but by setting -showIncludes, all included files are # printed. These are filtered out and parsed into make dependences. # # Keep as much as possible on one execution line for best performance # on Windows. No need to save exit code from compilation since # pipefail is always active on Windows. ! $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS)) \ ! | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \ ! -e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \ ! $(ECHO) $$@: \\ > $$($1_DEPS_FILE) ; \ ! $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \ ! | $(SORT) -u >> $$($1_DEPS_FILE) ; \ ! $(ECHO) >> $$($1_DEPS_FILE) ; \ ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE) endif endif endef # Setup make rules for creating a native binary (a shared library or an --- 338,381 ---- ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $$($1_FILENAME)), solstudio) # The Solaris studio compiler doesn't output the full path to the # object file in the generated deps files. Fixing it with sed. If # compiling assembly, don't try this. $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEP).tmp $$($1_COMPILE_OPTIONS)) ! $(SED) 's|^$$(@F):|$$@:|' $$($1_DEP).tmp > $$($1_DEP) else $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEP) $$($1_COMPILE_OPTIONS)) endif # Create a dependency target file from the dependency file. # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ ! ifneq ($$($1_DEP), ) ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS) endif else # The Visual Studio compiler lacks a feature for generating make # dependencies, but by setting -showIncludes, all included files are # printed. These are filtered out and parsed into make dependences. # # Keep as much as possible on one execution line for best performance # on Windows. No need to save exit code from compilation since # pipefail is always active on Windows. ! ifeq ($$(filter %.s, $$($1_FILENAME)), ) ! $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_FLAGS) -showIncludes -showIncludes $$($1_COMPILE_OPTIONS)) \ ! | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \ ! -e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \ ! $(ECHO) $$@: \\ > $$($1_DEP) ; \ ! $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \ ! | $(SORT) -u >> $$($1_DEP) ; \ ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS) ! else ! # For assembler calls, no need to build dependency list. ! $$(call ExecuteWithLog, $$@, \ ! $$($1_COMPILER) $$($1_FLAGS) \ ! $(CC_OUT_OPTION)$$($1_OBJ) /Ta $$($1_SRC_FILE)) ! endif endif endif endef # Setup make rules for creating a native binary (a shared library or an
*** 427,437 **** # ZIP_EXTERNAL_DEBUG_SYMBOLS Set to false to override global setting of debug symbol # zipping # STRIPFLAGS Optionally change the flags given to the strip command # PRECOMPILED_HEADER Header file to use as precompiled header # PRECOMPILED_HEADER_EXCLUDE List of source files that should not use PCH - # DEFINE_THIS_FILE Set to false to not set the THIS_FILE preprocessor macro # # After being called, some variables are exported from this macro, all prefixed # with parameter 1 followed by a '_': # TARGET The library or executable created by the macro # TARGET_DEPS All prerequisites for the target calculated by the macro --- 427,436 ----
*** 492,504 **** $1_BASENAME := $$($1_PREFIX)$$($1_NAME)$$($1_SUFFIX) $1_TARGET := $$($1_OUTPUT_DIR)/$$($1_BASENAME) $1_NOSUFFIX := $$($1_PREFIX)$$($1_NAME) $1_SAFE_NAME := $$(strip $$(subst /,_, $1)) - # Need to make sure TARGET is first on list - $1 := $$($1_TARGET) - # Setup the toolchain to be used $$(call SetIfEmpty, $1_TOOLCHAIN, TOOLCHAIN_DEFAULT) $$(call SetIfEmpty, $1_CC, $$($$($1_TOOLCHAIN)_CC)) $$(call SetIfEmpty, $1_CXX, $$($$($1_TOOLCHAIN)_CXX)) $$(call SetIfEmpty, $1_LD, $$($$($1_TOOLCHAIN)_LD)) --- 491,500 ----
*** 514,524 **** # Make sure the dirs exist. $$(call MakeDir, $$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)) $$(foreach d, $$($1_SRC), $$(if $$(wildcard $$d), , \ $$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d))) ! $1_SRCS_RAW := $$(call FindFiles, $$($1_SRC)) # Order src files according to the order of the src dirs $1_SRCS := $$(foreach d, $$($1_SRC), $$(filter $$d%, $$($1_SRCS_RAW))) $1_SRCS := $$(filter $$(NATIVE_SOURCE_EXTENSIONS), $$($1_SRCS)) # Extract the C/C++ files. ifneq ($$($1_EXCLUDE_PATTERNS), ) --- 510,520 ---- # Make sure the dirs exist. $$(call MakeDir, $$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)) $$(foreach d, $$($1_SRC), $$(if $$(wildcard $$d), , \ $$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d))) ! $1_SRCS_RAW = $$(call CacheFind, $$($1_SRC)) # Order src files according to the order of the src dirs $1_SRCS := $$(foreach d, $$($1_SRC), $$(filter $$d%, $$($1_SRCS_RAW))) $1_SRCS := $$(filter $$(NATIVE_SOURCE_EXTENSIONS), $$($1_SRCS)) # Extract the C/C++ files. ifneq ($$($1_EXCLUDE_PATTERNS), )
*** 705,715 **** $$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$($1_GENERATED_PCH_SRC)), \ FILE := $$($1_GENERATED_PCH_SRC), \ BASE := $1, \ EXTRA_CXXFLAGS := -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \ ! DEFINE_THIS_FILE := false, \ )) $1_USE_PCH_FLAGS := \ -Fp$$($1_PCH_FILE) -Yu$$(notdir $$($1_PRECOMPILED_HEADER)) --- 701,711 ---- $$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$($1_GENERATED_PCH_SRC)), \ FILE := $$($1_GENERATED_PCH_SRC), \ BASE := $1, \ EXTRA_CXXFLAGS := -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \ ! DISABLE_THIS_FILE_DEFINE := true, \ )) $1_USE_PCH_FLAGS := \ -Fp$$($1_PCH_FILE) -Yu$$(notdir $$($1_PRECOMPILED_HEADER))
*** 728,752 **** $1_USE_PCH_FLAGS := -I$$($1_OBJECT_DIR)/precompiled else ifeq ($(TOOLCHAIN_TYPE), clang) $1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).pch $1_USE_PCH_FLAGS := -include-pch $$($1_PCH_FILE) endif ! $1_PCH_DEPS_FILE := $$($1_PCH_FILE).d ! $1_PCH_DEPS_TARGETS_FILE := $$($1_PCH_FILE).d.targets ! -include $$($1_PCH_DEPS_FILE) ! -include $$($1_PCH_DEPS_TARGETS_FILE) $1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \ ! $$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEPS_FILE) $$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE) $$(call LogInfo, Generating precompiled header) $$(call MakeDir, $$(@D)) $$(call ExecuteWithLog, $$@, $$($1_PCH_COMMAND) $$< -o $$@) ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEPS_FILE) \ ! > $$($1_PCH_DEPS_TARGETS_FILE) $$($1_ALL_OBJS): $$($1_PCH_FILE) # Generate the corresponding compile_commands.json fragment. $1_PCH_FILE_JSON := $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$(subst /,_,$$(subst \ --- 724,747 ---- $1_USE_PCH_FLAGS := -I$$($1_OBJECT_DIR)/precompiled else ifeq ($(TOOLCHAIN_TYPE), clang) $1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).pch $1_USE_PCH_FLAGS := -include-pch $$($1_PCH_FILE) endif ! $1_PCH_DEP := $$($1_PCH_FILE).d ! $1_PCH_DEP_TARGETS := $$($1_PCH_FILE).d.targets ! -include $$($1_PCH_DEP) ! -include $$($1_PCH_DEP_TARGETS) $1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \ ! $$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEP) $$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE) $$(call LogInfo, Generating precompiled header) $$(call MakeDir, $$(@D)) $$(call ExecuteWithLog, $$@, $$($1_PCH_COMMAND) $$< -o $$@) ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEP) > $$($1_PCH_DEP_TARGETS) $$($1_ALL_OBJS): $$($1_PCH_FILE) # Generate the corresponding compile_commands.json fragment. $1_PCH_FILE_JSON := $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$(subst /,_,$$(subst \
*** 758,795 **** $$($1_PCH_COMMAND) $$< -o $$($1_PCH_FILE)) endif endif endif - # Create a rule to collect all the individual make dependency files into a - # single makefile. - $1_DEPS_FILE := $$($1_OBJECT_DIR)/$1.d - - $$($1_DEPS_FILE): $$($1_ALL_OBJS) - $(RM) $$@ - # CD into dir to reduce risk of hitting command length limits, which - # could otherwise happen if TOPDIR is a very long path. - $(CD) $$($1_OBJECT_DIR) && $(CAT) *.d > $$@.tmp - $(CD) $$($1_OBJECT_DIR) && $(CAT) *.d.targets | $(SORT) -u >> $$@.tmp - # After generating the file, which happens after all objects have been - # compiled, copy it to .old extension. On the next make invocation, this - # .old file will be included by make. - $(CP) $$@.tmp $$@.old - $(MV) $$@.tmp $$@ - - $1 += $$($1_DEPS_FILE) - - # The include must be on the .old file, which represents the state from the - # previous invocation of make. The file being included must not have a rule - # defined for it as otherwise make will think it has to run the rule before - # being able to include the file, which would be wrong since we specifically - # need the file as it was generated by a previous make invocation. - ifneq ($$(wildcard $$($1_DEPS_FILE).old), ) - $1_DEPS_FILE_LOADED := true - -include $$($1_DEPS_FILE).old - endif - # Now call SetupCompileNativeFile for each source file we are going to compile. $$(foreach file, $$($1_SRCS), \ $$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$(file)),\ FILE := $$(file), \ BASE := $1, \ --- 753,762 ----
*** 798,825 **** # Setup rule for printing progress info when compiling source files. # This is a rough heuristic and may not always print accurate information. $$($1_BUILD_INFO): $$($1_SRCS) $$($1_COMPILE_VARDEPS_FILE) ifeq ($$(wildcard $$($1_TARGET)), ) ! $$(call LogWarn, Creating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) from $$(words \ ! $$(filter-out %.vardeps, $$?)) file(s)) else ! $$(call LogWarn, $$(strip Updating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) \ $$(if $$(filter-out %.vardeps, $$?), \ ! due to $$(words $$(filter-out %.vardeps, $$?)) file(s), \ ! $$(if $$(filter %.vardeps, $$?), due to makefile changes)))) endif $(TOUCH) $$@ # On windows we need to create a resource file ifeq ($(call isTargetOs, windows), true) ifneq ($$($1_VERSIONINFO_RESOURCE), ) $1_RES := $$($1_OBJECT_DIR)/$$($1_BASENAME).res ! $1_RES_DEPS_FILE := $$($1_RES).d ! $1_RES_DEPS_TARGETS_FILE := $$($1_RES).d.targets ! -include $$($1_RES_DEPS_FILE) ! -include $$($1_RES_DEPS_TARGETS_FILE) $1_RES_VARDEPS := $$($1_RC) $$($1_RC_FLAGS) $1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \ $$($1_RES).vardeps) --- 765,792 ---- # Setup rule for printing progress info when compiling source files. # This is a rough heuristic and may not always print accurate information. $$($1_BUILD_INFO): $$($1_SRCS) $$($1_COMPILE_VARDEPS_FILE) ifeq ($$(wildcard $$($1_TARGET)), ) ! $(ECHO) 'Creating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) from $$(words \ ! $$(filter-out %.vardeps, $$?)) file(s)' else ! $(ECHO) $$(strip 'Updating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET))' \ $$(if $$(filter-out %.vardeps, $$?), \ ! 'due to $$(words $$(filter-out %.vardeps, $$?)) file(s)', \ ! $$(if $$(filter %.vardeps, $$?), 'due to makefile changes'))) endif $(TOUCH) $$@ # On windows we need to create a resource file ifeq ($(call isTargetOs, windows), true) ifneq ($$($1_VERSIONINFO_RESOURCE), ) $1_RES := $$($1_OBJECT_DIR)/$$($1_BASENAME).res ! $1_RES_DEP := $$($1_RES).d ! $1_RES_DEP_TARGETS := $$($1_RES).d.targets ! -include $$($1_RES_DEP) ! -include $$($1_RES_DEP_TARGETS) $1_RES_VARDEPS := $$($1_RC) $$($1_RC_FLAGS) $1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \ $$($1_RES).vardeps)
*** 832,854 **** # Windows RC compiler does not support -showIncludes, so we mis-use CL # for this. Filter out RC specific arguments that are unknown to CL. # For some unknown reason, in this case CL actually outputs the show # includes to stderr so need to redirect it to hide the output from the # main log. ! $$(call ExecuteWithLog, $$($1_RES_DEPS_FILE).obj, \ $$($1_CC) $$(filter-out -l%, $$($1_RC_FLAGS)) \ $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \ ! $(CC_OUT_OPTION)$$($1_RES_DEPS_FILE).obj -P -Fi$$($1_RES_DEPS_FILE).pp \ $$($1_VERSIONINFO_RESOURCE)) 2>&1 \ | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \ -e "^$$(notdir $$($1_VERSIONINFO_RESOURCE))$$$$" || test "$$$$?" = "1" ; \ ! $(ECHO) $$($1_RES): \\ > $$($1_RES_DEPS_FILE) ; \ ! $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEPS_FILE).obj.log \ ! >> $$($1_RES_DEPS_FILE) ; \ ! $(ECHO) >> $$($1_RES_DEPS_FILE) ;\ ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEPS_FILE) \ ! > $$($1_RES_DEPS_TARGETS_FILE) endif endif ifneq ($(DISABLE_MAPFILES), true) $1_REAL_MAPFILE := $$($1_MAPFILE) --- 799,818 ---- # Windows RC compiler does not support -showIncludes, so we mis-use CL # for this. Filter out RC specific arguments that are unknown to CL. # For some unknown reason, in this case CL actually outputs the show # includes to stderr so need to redirect it to hide the output from the # main log. ! $$(call ExecuteWithLog, $$($1_RES_DEP).obj, \ $$($1_CC) $$(filter-out -l%, $$($1_RC_FLAGS)) \ $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \ ! $(CC_OUT_OPTION)$$($1_RES_DEP).obj -P -Fi$$($1_RES_DEP).pp \ $$($1_VERSIONINFO_RESOURCE)) 2>&1 \ | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \ -e "^$$(notdir $$($1_VERSIONINFO_RESOURCE))$$$$" || test "$$$$?" = "1" ; \ ! $(ECHO) $$($1_RES): \\ > $$($1_RES_DEP) ; \ ! $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).obj.log >> $$($1_RES_DEP) ; \ ! $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS) endif endif ifneq ($(DISABLE_MAPFILES), true) $1_REAL_MAPFILE := $$($1_MAPFILE)
*** 871,880 **** --- 835,847 ---- $1_EXTRA_LIBS += $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS)) ifneq ($$($1_REAL_MAPFILE), ) $1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE)) endif + # Need to make sure TARGET is first on list + $1 := $$($1_TARGET) + ifneq ($$($1_COPY_DEBUG_SYMBOLS), false) $1_COPY_DEBUG_SYMBOLS := $(COPY_DEBUG_SYMBOLS) endif ifneq ($$($1_ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
< prev index next >