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 # env.[ck]sh - environment settings
53 # test_gamma - script to run the Queens program
54 #
55 # The makefiles are split this way so that "make foo" will run faster by not
56 # having to read the dependency files for the vm.
57
58 # needs to be set here since this Makefile doesn't include defs.make
59 OS_VENDOR:=$(shell uname -s)
60
61 -include $(SPEC)
62 include $(GAMMADIR)/make/scm.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 # For now, until the compiler is less wobbly:
70 TESTFLAGS = -Xbatch -showversion
71
72 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
73 PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
74 else
75 ifdef USE_SUNCC
76 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).suncc
77 else
78 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
79 endif
80 endif
81
82 # Allow overriding of the arch part of the directory but default
178 $(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F)
179 $(QUIETLY) touch $@
180
181 $(SIMPLE_DIRS):
182 $(QUIETLY) mkdir -p $@
183
184 # Convenience macro which takes a source relative path, applies $(1) to the
185 # absolute path, and then replaces $(GAMMADIR) in the result with a
186 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
187 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
188
189 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
190 @echo Creating $@ ...
191 $(QUIETLY) ( \
192 $(BUILDTREE_COMMENT); \
193 echo; \
194 echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
195 sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
196 echo; \
197 echo "GAMMADIR = $(GAMMADIR)"; \
198 echo "SYSDEFS = \$$(Platform_sysdefs)"; \
199 echo "SRCARCH = $(SRCARCH)"; \
200 echo "BUILDARCH = $(BUILDARCH)"; \
201 echo "LIBARCH = $(LIBARCH)"; \
202 echo "TARGET = $(TARGET)"; \
203 echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
204 echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
205 echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
206 echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
207 echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
208 echo; \
209 echo "# Used for platform dispatching"; \
210 echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
211 echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
212 echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
213 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
214 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
215 echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
216 echo "CFLAGS += \$$(TARGET_DEFINES)"; \
217 echo; \
234 echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
235 echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
236 echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
237 echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
238 echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
239 echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
240 echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
241 echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
242 echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
243 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
244 [ -n "$(CFLAGS_BROWSE)" ] && \
245 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
246 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
247 echo && \
248 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
249 echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
250 echo; \
251 [ -n "$(SPEC)" ] && \
252 echo "include $(SPEC)"; \
253 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
254 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
255 ) > $@
256
257 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
258 @echo Creating $@ ...
259 $(QUIETLY) ( \
260 $(BUILDTREE_COMMENT); \
261 echo; \
262 [ "$(TARGET)" = profiled ] && \
263 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \
264 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
265 ) > $@
266
267 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
268 @echo Creating directory list $@
269 $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
270 find $(HS_ALT_SRC)/share/vm/* -prune \
271 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
272 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
273 fi;
|
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 # env.[ck]sh - environment settings
53 # test_gamma - script to run the Queens program
54 #
55 # The makefiles are split this way so that "make foo" will run faster by not
56 # having to read the dependency files for the vm.
57
58 # needs to be set here since this Makefile doesn't include defs.make
59 OS_VENDOR:=$(shell uname -s)
60
61 -include $(SPEC)
62 include $(GAMMADIR)/make/scm.make
63 include $(GAMMADIR)/make/defs.make
64 include $(GAMMADIR)/make/altsrc.make
65
66
67 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
68 QUIETLY$(MAKE_VERBOSE) = @
69
70 # For now, until the compiler is less wobbly:
71 TESTFLAGS = -Xbatch -showversion
72
73 ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
74 PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
75 else
76 ifdef USE_SUNCC
77 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).suncc
78 else
79 PLATFORM_FILE = $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
80 endif
81 endif
82
83 # Allow overriding of the arch part of the directory but default
179 $(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F)
180 $(QUIETLY) touch $@
181
182 $(SIMPLE_DIRS):
183 $(QUIETLY) mkdir -p $@
184
185 # Convenience macro which takes a source relative path, applies $(1) to the
186 # absolute path, and then replaces $(GAMMADIR) in the result with a
187 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
188 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
189
190 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
191 @echo Creating $@ ...
192 $(QUIETLY) ( \
193 $(BUILDTREE_COMMENT); \
194 echo; \
195 echo "Platform_file = $(PLATFORM_FILE)" | sed 's|$(GAMMADIR)|$$(GAMMADIR)|'; \
196 sed -n '/=/s/^ */Platform_/p' < $(PLATFORM_FILE); \
197 echo; \
198 echo "GAMMADIR = $(GAMMADIR)"; \
199 echo "HS_ALT_MAKE = $(HS_ALT_MAKE)"; \
200 echo "OSNAME = $(OSNAME)"; \
201 echo "SYSDEFS = \$$(Platform_sysdefs)"; \
202 echo "SRCARCH = $(SRCARCH)"; \
203 echo "BUILDARCH = $(BUILDARCH)"; \
204 echo "LIBARCH = $(LIBARCH)"; \
205 echo "TARGET = $(TARGET)"; \
206 echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
207 echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
208 echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
209 echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
210 echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
211 echo; \
212 echo "# Used for platform dispatching"; \
213 echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
214 echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
215 echo "TARGET_DEFINES += -DTARGET_ARCH_MODEL_\$$(Platform_arch_model)"; \
216 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_\$$(Platform_os_arch)"; \
217 echo "TARGET_DEFINES += -DTARGET_OS_ARCH_MODEL_\$$(Platform_os_arch_model)"; \
218 echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
219 echo "CFLAGS += \$$(TARGET_DEFINES)"; \
220 echo; \
237 echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
238 echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
239 echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
240 echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
241 echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
242 echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
243 echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
244 echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
245 echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
246 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
247 [ -n "$(CFLAGS_BROWSE)" ] && \
248 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
249 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
250 echo && \
251 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
252 echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
253 echo; \
254 [ -n "$(SPEC)" ] && \
255 echo "include $(SPEC)"; \
256 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
257 echo "include \$$(GAMMADIR)/make/excludeSrc.make"; \
258 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
259 ) > $@
260
261 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
262 @echo Creating $@ ...
263 $(QUIETLY) ( \
264 $(BUILDTREE_COMMENT); \
265 echo; \
266 [ "$(TARGET)" = profiled ] && \
267 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \
268 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
269 ) > $@
270
271 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
272 @echo Creating directory list $@
273 $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
274 find $(HS_ALT_SRC)/share/vm/* -prune \
275 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
276 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
277 fi;
|