< prev index next >

make/common/NativeCompilation.gmk

Print this page




 435           $(ECHO) 'Updating $$($1_BASENAME) from $$(words $$?) file(s)'
 436         endif
 437         $(TOUCH) $$@
 438 
 439   # Now call add_native_source for each source file we are going to compile.
 440   $$(foreach p,$$($1_SRCS), \
 441       $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
 442           $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS), \
 443           $$($1_CC), \
 444           $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $(SYSROOT_CFLAGS), \
 445           $$($1_CXX),$$($1_OBJC),$$($1_ASFLAGS))))
 446 
 447   # On windows we need to create a resource file
 448   ifeq ($(OPENJDK_TARGET_OS), windows)
 449     ifneq (,$$($1_VERSIONINFO_RESOURCE))
 450       $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
 451       $1_RES_DEP:=$$($1_RES).d
 452       -include $$($1_RES_DEP)
 453       $$($1_RES): $$($1_VERSIONINFO_RESOURCE)
 454                 $(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
 455                 $(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE)

 456                 # Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
 457                 $(CC) $$($1_RC_FLAGS) -showIncludes -nologo -TC \
 458                     $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
 459                 ($(ECHO) $$($1_RES): \\ \
 460                 && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
 461     endif
 462     ifneq (,$$($1_MANIFEST))
 463       $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
 464       IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
 465       $$($1_GEN_MANIFEST): $$($1_MANIFEST)
 466                 $(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
 467     endif
 468   endif
 469 
 470   # mapfile doesnt seem to be implemented on macosx (yet??)
 471   ifneq ($(OPENJDK_TARGET_OS),macosx)
 472     ifneq ($(OPENJDK_TARGET_OS),windows)
 473       $1_REAL_MAPFILE:=$$($1_MAPFILE)
 474       ifneq (,$$($1_REORDER))
 475         $1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile
 476 
 477         $$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)




 435           $(ECHO) 'Updating $$($1_BASENAME) from $$(words $$?) file(s)'
 436         endif
 437         $(TOUCH) $$@
 438 
 439   # Now call add_native_source for each source file we are going to compile.
 440   $$(foreach p,$$($1_SRCS), \
 441       $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
 442           $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS), \
 443           $$($1_CC), \
 444           $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $(SYSROOT_CFLAGS), \
 445           $$($1_CXX),$$($1_OBJC),$$($1_ASFLAGS))))
 446 
 447   # On windows we need to create a resource file
 448   ifeq ($(OPENJDK_TARGET_OS), windows)
 449     ifneq (,$$($1_VERSIONINFO_RESOURCE))
 450       $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res
 451       $1_RES_DEP:=$$($1_RES).d
 452       -include $$($1_RES_DEP)
 453       $$($1_RES): $$($1_VERSIONINFO_RESOURCE)
 454                 $(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
 455                 $(RC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
 456                     $$($1_VERSIONINFO_RESOURCE)
 457                 # Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
 458                 $(CC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) -showIncludes -nologo -TC \
 459                     $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
 460                 ($(ECHO) $$($1_RES): \\ \
 461                 && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
 462     endif
 463     ifneq (,$$($1_MANIFEST))
 464       $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
 465       IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
 466       $$($1_GEN_MANIFEST): $$($1_MANIFEST)
 467                 $(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
 468     endif
 469   endif
 470 
 471   # mapfile doesnt seem to be implemented on macosx (yet??)
 472   ifneq ($(OPENJDK_TARGET_OS),macosx)
 473     ifneq ($(OPENJDK_TARGET_OS),windows)
 474       $1_REAL_MAPFILE:=$$($1_MAPFILE)
 475       ifneq (,$$($1_REORDER))
 476         $1_REAL_MAPFILE:=$$($1_OBJECT_DIR)/mapfile
 477 
 478         $$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)


< prev index next >