30 # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
31 # environment or on the command-line:
32 #
33 # ARCH - sparc, i486, ... HotSpot cpu and os_cpu source directory
34 # BUILDARCH - build directory
35 # LIBARCH - the corresponding directory in JDK/JRE
36 # GAMMADIR - top of workspace
37 # OS_FAMILY - operating system
38 # VARIANT - core, compiler1, compiler2, or tiered
39 # HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
40 # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
41 # JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
42 #
43 # Builds the directory trees with makefiles plus some convenience files in
44 # each directory:
45 #
46 # Makefile - for "make foo"
47 # flags.make - with macro settings
48 # vm.make - to support making "$(MAKE) -v vm.make" in makefiles
49 # adlc.make -
50 # jvmti.make - generate JVMTI bindings from the spec (JSR-163)
51 # sa.make - generate SA jar file and natives
52 #
53 # The makefiles are split this way so that "make foo" will run faster by not
54 # having to read the dependency files for the vm.
55
56 # needs to be set here since this Makefile doesn't include defs.make
57 OS_VENDOR:=$(shell uname -s)
58
59 -include $(SPEC)
60 include $(GAMMADIR)/make/scm.make
61 include $(GAMMADIR)/make/defs.make
62 include $(GAMMADIR)/make/altsrc.make
63
64
65 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
66 QUIETLY$(MAKE_VERBOSE) = @
67
68 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
69 PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
102
103 ifeq ($(VARIANT),tiered)
104 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name agent
105 else
106 ifeq ($(VARIANT),compiler2)
107 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name c1 -o -name agent
108 else
109 # compiler1 and core use the same exclude list
110 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name opto -o -name libadt -o -name agent
111 endif
112 endif
113
114 # Get things from the platform file.
115 COMPILER = $(shell sed -n 's/^compiler[ ]*=[ ]*//p' $(PLATFORM_FILE))
116
117 # dtracefiles is used on BSD versions that implement Dtrace (like MacOS X)
118 SIMPLE_DIRS = \
119 $(PLATFORM_DIR)/generated/dependencies \
120 $(PLATFORM_DIR)/generated/adfiles \
121 $(PLATFORM_DIR)/generated/jvmtifiles \
122 $(PLATFORM_DIR)/generated/dtracefiles
123
124 TARGETS = debug fastdebug optimized product
125 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
126
127 # For dependencies and recursive makes.
128 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
129
130 # dtrace.make is used on BSD versions that implement Dtrace (like MacOS X)
131 BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make dtrace.make
132
133 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
134 SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
135
136 # Define variables to be set in flags.make.
137 # Default values are set in make/defs.make.
138 ifeq ($(HOTSPOT_BUILD_VERSION),)
139 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
140 else
141 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
142 endif
143 # Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
144 ifndef HOTSPOT_BUILD_USER
145 HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
146 endif
147 ifndef HOTSPOT_BUILD_USER
148 HOTSPOT_BUILD_USER := $(shell whoami)
149 endif
150 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
151 # or make/hotspot_distro.
314 adlc.make: $(BUILDTREE_MAKE)
315 @echo Creating $@ ...
316 $(QUIETLY) ( \
317 $(BUILDTREE_COMMENT); \
318 echo; \
319 echo include flags.make; \
320 echo; \
321 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
322 ) > $@
323
324 jvmti.make: $(BUILDTREE_MAKE)
325 @echo Creating $@ ...
326 $(QUIETLY) ( \
327 $(BUILDTREE_COMMENT); \
328 echo; \
329 echo include flags.make; \
330 echo; \
331 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
332 ) > $@
333
334 sa.make: $(BUILDTREE_MAKE)
335 @echo Creating $@ ...
336 $(QUIETLY) ( \
337 $(BUILDTREE_COMMENT); \
338 echo; \
339 echo include flags.make; \
340 echo; \
341 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
342 ) > $@
343
344 dtrace.make: $(BUILDTREE_MAKE)
345 @echo Creating $@ ...
346 $(QUIETLY) ( \
347 $(BUILDTREE_COMMENT); \
348 echo; \
349 echo include flags.make; \
350 echo; \
351 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
352 ) > $@
353
|
30 # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
31 # environment or on the command-line:
32 #
33 # ARCH - sparc, i486, ... HotSpot cpu and os_cpu source directory
34 # BUILDARCH - build directory
35 # LIBARCH - the corresponding directory in JDK/JRE
36 # GAMMADIR - top of workspace
37 # OS_FAMILY - operating system
38 # VARIANT - core, compiler1, compiler2, or tiered
39 # HOTSPOT_RELEASE_VERSION - <major>.<minor>-b<nn> (11.0-b07)
40 # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
41 # JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
42 #
43 # Builds the directory trees with makefiles plus some convenience files in
44 # each directory:
45 #
46 # Makefile - for "make foo"
47 # flags.make - with macro settings
48 # vm.make - to support making "$(MAKE) -v vm.make" in makefiles
49 # adlc.make -
50 # trace.make - generate tracing event and type definitions
51 # jvmti.make - generate JVMTI bindings from the spec (JSR-163)
52 # sa.make - generate SA jar file and natives
53 #
54 # The makefiles are split this way so that "make foo" will run faster by not
55 # having to read the dependency files for the vm.
56
57 # needs to be set here since this Makefile doesn't include defs.make
58 OS_VENDOR:=$(shell uname -s)
59
60 -include $(SPEC)
61 include $(GAMMADIR)/make/scm.make
62 include $(GAMMADIR)/make/defs.make
63 include $(GAMMADIR)/make/altsrc.make
64
65
66 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
67 QUIETLY$(MAKE_VERBOSE) = @
68
69 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
70 PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
103
104 ifeq ($(VARIANT),tiered)
105 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name agent
106 else
107 ifeq ($(VARIANT),compiler2)
108 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name c1 -o -name agent
109 else
110 # compiler1 and core use the same exclude list
111 TOPLEVEL_EXCLUDE_DIRS = $(ALWAYS_EXCLUDE_DIRS) -o -name adlc -o -name opto -o -name libadt -o -name agent
112 endif
113 endif
114
115 # Get things from the platform file.
116 COMPILER = $(shell sed -n 's/^compiler[ ]*=[ ]*//p' $(PLATFORM_FILE))
117
118 # dtracefiles is used on BSD versions that implement Dtrace (like MacOS X)
119 SIMPLE_DIRS = \
120 $(PLATFORM_DIR)/generated/dependencies \
121 $(PLATFORM_DIR)/generated/adfiles \
122 $(PLATFORM_DIR)/generated/jvmtifiles \
123 $(PLATFORM_DIR)/generated/tracefiles \
124 $(PLATFORM_DIR)/generated/dtracefiles
125
126 TARGETS = debug fastdebug optimized product
127 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
128
129 # For dependencies and recursive makes.
130 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
131
132 # dtrace.make is used on BSD versions that implement Dtrace (like MacOS X)
133 BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make trace.make sa.make dtrace.make
134
135 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
136 SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
137
138 # Define variables to be set in flags.make.
139 # Default values are set in make/defs.make.
140 ifeq ($(HOTSPOT_BUILD_VERSION),)
141 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
142 else
143 HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
144 endif
145 # Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
146 ifndef HOTSPOT_BUILD_USER
147 HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
148 endif
149 ifndef HOTSPOT_BUILD_USER
150 HOTSPOT_BUILD_USER := $(shell whoami)
151 endif
152 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
153 # or make/hotspot_distro.
316 adlc.make: $(BUILDTREE_MAKE)
317 @echo Creating $@ ...
318 $(QUIETLY) ( \
319 $(BUILDTREE_COMMENT); \
320 echo; \
321 echo include flags.make; \
322 echo; \
323 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
324 ) > $@
325
326 jvmti.make: $(BUILDTREE_MAKE)
327 @echo Creating $@ ...
328 $(QUIETLY) ( \
329 $(BUILDTREE_COMMENT); \
330 echo; \
331 echo include flags.make; \
332 echo; \
333 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
334 ) > $@
335
336 trace.make: $(BUILDTREE_MAKE)
337 @echo Creating $@ ...
338 $(QUIETLY) ( \
339 $(BUILDTREE_COMMENT); \
340 echo; \
341 echo include flags.make; \
342 echo; \
343 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
344 ) > $@
345
346 sa.make: $(BUILDTREE_MAKE)
347 @echo Creating $@ ...
348 $(QUIETLY) ( \
349 $(BUILDTREE_COMMENT); \
350 echo; \
351 echo include flags.make; \
352 echo; \
353 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
354 ) > $@
355
356 dtrace.make: $(BUILDTREE_MAKE)
357 @echo Creating $@ ...
358 $(QUIETLY) ( \
359 $(BUILDTREE_COMMENT); \
360 echo; \
361 echo include flags.make; \
362 echo; \
363 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
364 ) > $@
365
|