< prev index next >

make/common/NativeCompilation.gmk

Print this page
rev 1867 : 8170153: PPC64/s390x/aarch64: Poor StrictMath performance due to non-optimized compilation
Reviewed-by: simonis


 280   # Prepend the source/bin path to the filter expressions. Then do the filtering.
 281   ifneq ($$($1_INCLUDES),)
 282     $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
 283     $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
 284   endif
 285   ifneq ($$($1_EXCLUDES),)
 286     $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
 287     $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
 288   endif
 289 
 290   # Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides
 291   # a reproducable order on the input files to the linker).
 292   $1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_OBJECT_DIR)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS))))))))
 293   # Are there too many object files on disk? Perhaps because some source file was removed?
 294   $1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS)))
 295   # Clean out the superfluous object files.
 296   ifneq ($$($1_SUPERFLUOUS_OBJS),)
 297     $$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS))
 298   endif
 299 
 300   # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CFLAGS.
 301   $1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CFLAGS_$(OPENJDK_TARGET_OS))


 302   ifneq ($(DEBUG_LEVEL),release)
 303     # Pickup extra debug dependent variables for CFLAGS
 304     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug)
 305     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
 306     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_debug)

 307   else
 308     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_release)
 309     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_release)
 310     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)

 311   endif
 312 
 313   # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
 314   $1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
 315   ifneq ($(DEBUG_LEVEL),release)
 316     # Pickup extra debug dependent variables for CXXFLAGS
 317     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug)
 318     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
 319     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_debug)
 320   else
 321     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release)
 322     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_release)
 323     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
 324   endif
 325 
 326   ifeq ($$($1_CXXFLAGS),)
 327     $1_CXXFLAGS:=$$($1_CFLAGS)
 328   endif
 329   ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),)
 330     $1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)




 280   # Prepend the source/bin path to the filter expressions. Then do the filtering.
 281   ifneq ($$($1_INCLUDES),)
 282     $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
 283     $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
 284   endif
 285   ifneq ($$($1_EXCLUDES),)
 286     $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES))))
 287     $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
 288   endif
 289 
 290   # Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides
 291   # a reproducable order on the input files to the linker).
 292   $1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_OBJECT_DIR)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(patsubst %.m,%$(OBJ_SUFFIX),$$(patsubst %.s,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS))))))))
 293   # Are there too many object files on disk? Perhaps because some source file was removed?
 294   $1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS)))
 295   # Clean out the superfluous object files.
 296   ifneq ($$($1_SUPERFLUOUS_OBJS),)
 297     $$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS))
 298   endif
 299 
 300   # Pickup extra OPENJDK_TARGET_OS_API, OPENJDK_TARGET_OS, and/or OPENJDK_TARGET_OS plus
 301   # OPENJDK_TARGET_CPU pair dependent variables for CFLAGS.
 302   $1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CFLAGS_$(OPENJDK_TARGET_OS)) \
 303       $$($1_CFLAGS_$(OPENJDK_TARGET_OS)_$(OPENJDK_TARGET_CPU))
 304   ifneq ($(DEBUG_LEVEL),release)
 305     # Pickup extra debug dependent variables for CFLAGS
 306     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug)
 307     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
 308     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_debug)
 309     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_$(OPENJDK_TARGET_CPU)_debug)
 310   else
 311     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_release)
 312     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS_API)_release)
 313     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
 314     $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(OPENJDK_TARGET_OS)_$(OPENJDK_TARGET_CPU)_release)
 315   endif
 316 
 317   # Pickup extra OPENJDK_TARGET_OS_API and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
 318   $1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
 319   ifneq ($(DEBUG_LEVEL),release)
 320     # Pickup extra debug dependent variables for CXXFLAGS
 321     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug)
 322     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_debug)
 323     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_debug)
 324   else
 325     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release)
 326     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_API)_release)
 327     $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
 328   endif
 329 
 330   ifeq ($$($1_CXXFLAGS),)
 331     $1_CXXFLAGS:=$$($1_CFLAGS)
 332   endif
 333   ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),)
 334     $1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)


< prev index next >