269 270 # We are trying to put platform specific defintions 271 # files to make/$(OSNAME)/makefiles dictory. However 272 # some definitions are common for both linux and solaris, 273 # so we put them here. 274 ifneq ($(OSNAME),windows) 275 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD)) 276 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD)) 277 ABS_GAMMADIR := $(shell $(CD) $(GAMMADIR); $(PWD)) 278 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile 279 280 # uname, HotSpot source directory, build directory and JDK use different names 281 # for CPU architectures. 282 # ARCH - uname output 283 # SRCARCH - where to find HotSpot cpu and os_cpu source files 284 # BUILDARCH - build directory 285 # LIBARCH - directory name in JDK/JRE 286 287 # Use uname output for SRCARCH, but deal with platform differences. If ARCH 288 # is not explicitly listed below, it is treated as x86. 289 SRCARCH = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 arm ppc ppc64 aarch64 zero,$(ARCH))) 290 ARCH/ = x86 291 ARCH/sparc = sparc 292 ARCH/sparc64= sparc 293 ARCH/ia64 = ia64 294 ARCH/amd64 = x86 295 ARCH/x86_64 = x86 296 ARCH/ppc64 = ppc 297 ARCH/ppc = ppc 298 ARCH/arm = arm 299 ARCH/aarch64= aarch64 300 ARCH/zero = zero 301 302 # BUILDARCH is usually the same as SRCARCH, except for sparcv9 303 BUILDARCH = $(SRCARCH) 304 ifeq ($(BUILDARCH), x86) 305 ifdef LP64 306 BUILDARCH = amd64 307 else 308 BUILDARCH = i486 309 endif 310 endif 311 ifeq ($(BUILDARCH), sparc) 312 ifdef LP64 313 BUILDARCH = sparcv9 314 endif 315 endif 316 ifeq ($(BUILDARCH), ppc) 317 ifdef LP64 318 BUILDARCH = ppc64 319 endif 320 endif 321 322 # LIBARCH is 1:1 mapping from BUILDARCH 323 LIBARCH = $(LIBARCH/$(BUILDARCH)) 324 LIBARCH/i486 = i386 325 LIBARCH/amd64 = amd64 326 LIBARCH/sparc = sparc 327 LIBARCH/sparcv9 = sparcv9 328 LIBARCH/ia64 = ia64 329 LIBARCH/ppc64 = ppc64 330 LIBARCH/aarch64 = aarch64 331 LIBARCH/ppc = ppc 332 LIBARCH/arm = arm 333 LIBARCH/zero = $(ZERO_LIBARCH) 334 335 LP64_ARCH = sparcv9 amd64 ia64 ppc64 aarch64 zero 336 endif 337 338 # Required make macro settings for all platforms 339 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR) 340 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR) 341 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR) 342 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE) 343 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 344 345 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile 346 # to overwrite the default definition since OS specific Makefile also 347 # includes this make/defs.make file. 348 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) 349 350 # Various export sub directories 351 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include 352 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs | 269 270 # We are trying to put platform specific defintions 271 # files to make/$(OSNAME)/makefiles dictory. However 272 # some definitions are common for both linux and solaris, 273 # so we put them here. 274 ifneq ($(OSNAME),windows) 275 ABS_OUTPUTDIR := $(shell mkdir -p $(OUTPUTDIR); $(CD) $(OUTPUTDIR); $(PWD)) 276 ABS_BOOTDIR := $(shell $(CD) $(BOOTDIR); $(PWD)) 277 ABS_GAMMADIR := $(shell $(CD) $(GAMMADIR); $(PWD)) 278 ABS_OS_MAKEFILE := $(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME); $(PWD))/Makefile 279 280 # uname, HotSpot source directory, build directory and JDK use different names 281 # for CPU architectures. 282 # ARCH - uname output 283 # SRCARCH - where to find HotSpot cpu and os_cpu source files 284 # BUILDARCH - build directory 285 # LIBARCH - directory name in JDK/JRE 286 287 # Use uname output for SRCARCH, but deal with platform differences. If ARCH 288 # is not explicitly listed below, it is treated as x86. 289 SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc64 aarch64 zero,$(ARCH))) 290 ARCH/ = x86 291 ARCH/sparc = sparc 292 ARCH/sparc64= sparc 293 ARCH/ia64 = ia64 294 ARCH/amd64 = x86 295 ARCH/x86_64 = x86 296 ARCH/ppc64 = ppc 297 ARCH/aarch64= aarch64 298 ARCH/zero = zero 299 300 # BUILDARCH is usually the same as SRCARCH, except for sparcv9 301 BUILDARCH ?= $(SRCARCH) 302 ifeq ($(BUILDARCH), x86) 303 ifdef LP64 304 BUILDARCH = amd64 305 else 306 BUILDARCH = i486 307 endif 308 endif 309 ifeq ($(BUILDARCH), sparc) 310 ifdef LP64 311 BUILDARCH = sparcv9 312 endif 313 endif 314 ifeq ($(BUILDARCH), ppc) 315 ifdef LP64 316 BUILDARCH = ppc64 317 endif 318 endif 319 320 # LIBARCH is 1:1 mapping from BUILDARCH 321 LIBARCH ?= $(LIBARCH/$(BUILDARCH)) 322 LIBARCH/i486 = i386 323 LIBARCH/amd64 = amd64 324 LIBARCH/sparc = sparc 325 LIBARCH/sparcv9 = sparcv9 326 LIBARCH/ia64 = ia64 327 LIBARCH/ppc64 = ppc64 328 LIBARCH/aarch64 = aarch64 329 LIBARCH/zero = $(ZERO_LIBARCH) 330 331 LP64_ARCH = sparcv9 amd64 ia64 ppc64 aarch64 zero 332 endif 333 334 # Required make macro settings for all platforms 335 MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR) 336 MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR) 337 MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR) 338 MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE) 339 MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 340 341 # Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile 342 # to overwrite the default definition since OS specific Makefile also 343 # includes this make/defs.make file. 344 MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) 345 346 # Various export sub directories 347 EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include 348 EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs |