make/common/Defs.gmk
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File jdk Sdiff make/common

make/common/Defs.gmk

Print this page




  98 ifeq ($(CLOSED_SRC_INCLUDED), false)
  99   OPENJDK = true
 100 endif
 101 
 102 # Define where closed directories are
 103 ifdef OPENJDK
 104   CLOSED_SRC =
 105   CLOSED_SHARE_SRC =
 106 else
 107   ifndef CLOSED_SHARE_SRC
 108     CLOSED_SHARE_SRC    = $(CLOSED_SRC)/share
 109   endif
 110 endif
 111 
 112 #
 113 # Get platform definitions
 114 #
 115 
 116 include $(JDK_TOPDIR)/make/common/Defs-$(PLATFORM).gmk
 117 
























 118 # Reset the VM name for client-only builds
 119 ifdef BUILD_CLIENT_ONLY
 120   VM_NAME = client
 121 endif
 122 

 123 #
 124 # Freetype logic is applicable to OpenJDK only
 125 #
 126 ifdef OPENJDK
 127 
 128 #if we use system lib we do not need to copy it to build tree
 129 USING_SYSTEM_FT_LIB=false
 130 
 131 ifeq ($(PLATFORM), windows)
 132   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/win32/freetype-$(ARCH)
 133 endif
 134 ifeq ($(PLATFORM), linux)
 135   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(PLATFORM)/freetype-$(ARCH)
 136 endif
 137 ifeq ($(PLATFORM), solaris)
 138   # historically for Solaris we have slightly different devtools 
 139   # naming conventions
 140   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/freetype-$(ARCH)
 141 endif
 142 


 322 ifneq ($(ARCH_DATA_MODEL), 32)
 323   OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
 324 else
 325   OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
 326 endif
 327 OBJDIR      = $(TEMPDIR)/$(OBJDIRNAME)
 328 
 329 # CLASSHDRDIR is where the generated C Class Header files go.
 330 CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
 331 
 332 #
 333 # CLASSDESTDIR can be used to specify the directory where generated classes
 334 # are to be placed. The default is CLASSBINDIR.
 335 #
 336 ifndef CLASSDESTDIR
 337 CLASSDESTDIR = $(CLASSBINDIR)
 338 endif
 339 
 340 INCLUDES = -I. -I$(CLASSHDRDIR) \
 341         $(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
 342 OTHER_CPPFLAGS = $(INCLUDES)
 343 
 344 
 345 #
 346 # vpaths.  These are the default locations searched for source files.
 347 # GNUmakefiles of individual areas often override the default settings.
 348 # There are no longer default vpath entries for C and assembler files
 349 # so we can ensure that libraries don't get their hands on JVM files.
 350 #
 351 # We define an intermediate variable for Java files because
 352 # we use its value later to help define $SOURCEPATH
 353 
 354 VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
 355 ifdef OPENJDK
 356   VPATH.java = $(VPATH0.java)
 357 else
 358   #
 359   # If filenames are duplicated between open/closed workspaces, prefer
 360   # the closed files.
 361   #
 362   # Source ordering is important: some targets depend on closed files
 363   # replacing open ones, and thus the closed file sources must be found
 364   # before the open ones.


 454 HOTSPOT_LOG_NAME = hotspot.log
 455 define java-vm-cleanup
 456 if [ -w $(HOTSPOT_LOG_NAME) ] ; then $(RM) $(HOTSPOT_LOG_NAME); fi
 457 endef
 458 
 459 # Current directory
 460 CURRENT_DIRECTORY := $(shell $(PWD))
 461 
 462 #
 463 # Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
 464 #    used for this file, otherwise the default settings are used.
 465 #
 466 CFLAGS_$(VARIANT)/BYFILE    = $(CFLAGS_$(VARIANT)/$(@F)) \
 467                               $(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
 468 CXXFLAGS_$(VARIANT)/BYFILE  = $(CXXFLAGS_$(VARIANT)/$(@F)) \
 469                               $(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
 470 
 471 #
 472 # Tool flags
 473 #


 474 ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
 475 CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS)
 476 CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
 477 CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
 478                   $(DEFINES) $(OPTIONS:%=-D%)
 479 LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
 480 LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
 481 LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
 482                   $(OTHER_LINTFLAGS)
 483 
 484 VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
 485 
 486 ifdef INSANE
 487   export INSANE
 488 endif
 489 
 490 ifdef ALT_COPYRIGHT_YEAR
 491   COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
 492 else
 493   COPYRIGHT_YEAR := $(shell $(DATE) '+%Y')
 494 endif
 495 
 496 # Install of imported file (JDK_IMPORT_PATH, or some other external location)




  98 ifeq ($(CLOSED_SRC_INCLUDED), false)
  99   OPENJDK = true
 100 endif
 101 
 102 # Define where closed directories are
 103 ifdef OPENJDK
 104   CLOSED_SRC =
 105   CLOSED_SHARE_SRC =
 106 else
 107   ifndef CLOSED_SHARE_SRC
 108     CLOSED_SHARE_SRC    = $(CLOSED_SRC)/share
 109   endif
 110 endif
 111 
 112 #
 113 # Get platform definitions
 114 #
 115 
 116 include $(JDK_TOPDIR)/make/common/Defs-$(PLATFORM).gmk
 117 
 118 #
 119 # Cross-compilation Settings
 120 #
 121 ifdef CROSS_COMPILE_ARCH
 122   # Can't run the tools we just built
 123   USE_ONLY_BOOTDIR_TOOLS = true
 124 
 125   # When cross-compiling CC generates code for the target, but
 126   # some parts of the build generate C code that has to be compiled
 127   # and executed on the build host - HOST_CC is the 'local' compiler.
 128   # For linux the default is /usr/bin/gcc; other platforms need to
 129   # set it explicitly
 130   ifeq ($(PLATFORM), linux)
 131     ifndef HOST_CC
 132       HOST_CC = $(USRBIN_PATH)gcc
 133     endif
 134   endif
 135 else
 136   # Must set HOST_CC if not already set
 137   ifndef HOST_CC
 138     HOST_CC = $(CC)
 139   endif
 140 endif
 141 
 142 # Reset the VM name for client-only builds
 143 ifdef BUILD_CLIENT_ONLY
 144   VM_NAME = client
 145 endif
 146 
 147 
 148 #
 149 # Freetype logic is applicable to OpenJDK only
 150 #
 151 ifdef OPENJDK
 152 
 153 #if we use system lib we do not need to copy it to build tree
 154 USING_SYSTEM_FT_LIB=false
 155 
 156 ifeq ($(PLATFORM), windows)
 157   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/win32/freetype-$(ARCH)
 158 endif
 159 ifeq ($(PLATFORM), linux)
 160   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(PLATFORM)/freetype-$(ARCH)
 161 endif
 162 ifeq ($(PLATFORM), solaris)
 163   # historically for Solaris we have slightly different devtools 
 164   # naming conventions
 165   DEVTOOLS_FT_DIR=$(JDK_DEVTOOLS_DIR)/$(ARCH_FAMILY)/freetype-$(ARCH)
 166 endif
 167 


 347 ifneq ($(ARCH_DATA_MODEL), 32)
 348   OBJDIRNAME  = obj$(ARCH_DATA_MODEL)$(OBJDIRNAME_SUFFIX)
 349 else
 350   OBJDIRNAME  = obj$(OBJDIRNAME_SUFFIX)
 351 endif
 352 OBJDIR      = $(TEMPDIR)/$(OBJDIRNAME)
 353 
 354 # CLASSHDRDIR is where the generated C Class Header files go.
 355 CLASSHDRDIR = $(TEMPDIR)/CClassHeaders
 356 
 357 #
 358 # CLASSDESTDIR can be used to specify the directory where generated classes
 359 # are to be placed. The default is CLASSBINDIR.
 360 #
 361 ifndef CLASSDESTDIR
 362 CLASSDESTDIR = $(CLASSBINDIR)
 363 endif
 364 
 365 INCLUDES = -I. -I$(CLASSHDRDIR) \
 366         $(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
 367 OTHER_CPPFLAGS += $(INCLUDES)
 368 

 369 #
 370 # vpaths.  These are the default locations searched for source files.
 371 # GNUmakefiles of individual areas often override the default settings.
 372 # There are no longer default vpath entries for C and assembler files
 373 # so we can ensure that libraries don't get their hands on JVM files.
 374 #
 375 # We define an intermediate variable for Java files because
 376 # we use its value later to help define $SOURCEPATH
 377 
 378 VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
 379 ifdef OPENJDK
 380   VPATH.java = $(VPATH0.java)
 381 else
 382   #
 383   # If filenames are duplicated between open/closed workspaces, prefer
 384   # the closed files.
 385   #
 386   # Source ordering is important: some targets depend on closed files
 387   # replacing open ones, and thus the closed file sources must be found
 388   # before the open ones.


 478 HOTSPOT_LOG_NAME = hotspot.log
 479 define java-vm-cleanup
 480 if [ -w $(HOTSPOT_LOG_NAME) ] ; then $(RM) $(HOTSPOT_LOG_NAME); fi
 481 endef
 482 
 483 # Current directory
 484 CURRENT_DIRECTORY := $(shell $(PWD))
 485 
 486 #
 487 # Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
 488 #    used for this file, otherwise the default settings are used.
 489 #
 490 CFLAGS_$(VARIANT)/BYFILE    = $(CFLAGS_$(VARIANT)/$(@F)) \
 491                               $(CFLAGS_$(VARIANT)$(CFLAGS_$(VARIANT)/$(@F)))
 492 CXXFLAGS_$(VARIANT)/BYFILE  = $(CXXFLAGS_$(VARIANT)/$(@F)) \
 493                               $(CXXFLAGS_$(VARIANT)$(CXXFLAGS_$(VARIANT)/$(@F)))
 494 
 495 #
 496 # Tool flags
 497 #
 498 # EXTRA_CFLAGS are used to define cross-compilation options
 499 #
 500 ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
 501 CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(EXTRA_CFLAGS)
 502 CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(EXTRA_CFLAGS)
 503 CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
 504                   $(DEFINES) $(OPTIONS:%=-D%)
 505 LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
 506 LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
 507 LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
 508                   $(OTHER_LINTFLAGS)
 509 
 510 VERSION_DEFINES = -DRELEASE='"$(RELEASE)"'
 511 
 512 ifdef INSANE
 513   export INSANE
 514 endif
 515 
 516 ifdef ALT_COPYRIGHT_YEAR
 517   COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
 518 else
 519   COPYRIGHT_YEAR := $(shell $(DATE) '+%Y')
 520 endif
 521 
 522 # Install of imported file (JDK_IMPORT_PATH, or some other external location)


make/common/Defs.gmk
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File