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) |