comparison make/linux/makefiles/buildtree.make @ 2199:d8a72fbc4be7

7003401: Implement VM error-reporting functionality on erroneous termination Summary: Add support for distribution-specific error reporting Reviewed-by: coleenp, phh, jcoomes, ohair
author kamg
date Tue, 08 Feb 2011 17:20:45 -0500
parents b92c45f2bc75
children 0cd39a385a72 da0999c4b733
comparison
equal deleted inserted replaced
2197:5e139f767ddb 2199:d8a72fbc4be7
1 # 1 #
2 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 # 4 #
5 # This code is free software; you can redistribute it and/or modify it 5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as 6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation. 7 # published by the Free Software Foundation.
54 # 54 #
55 # The makefiles are split this way so that "make foo" will run faster by not 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. 56 # having to read the dependency files for the vm.
57 57
58 include $(GAMMADIR)/make/scm.make 58 include $(GAMMADIR)/make/scm.make
59 include $(GAMMADIR)/make/closed.make 59 include $(GAMMADIR)/make/altsrc.make
60 60
61 61
62 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details. 62 # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details.
63 QUIETLY$(MAKE_VERBOSE) = @ 63 QUIETLY$(MAKE_VERBOSE) = @
64 64
146 HOTSPOT_BUILD_USER := $(shell whoami) 146 HOTSPOT_BUILD_USER := $(shell whoami)
147 endif 147 endif
148 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro 148 # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro
149 # or make/hotspot_distro. 149 # or make/hotspot_distro.
150 ifndef HOTSPOT_VM_DISTRO 150 ifndef HOTSPOT_VM_DISTRO
151 ifeq ($(CLOSED_DIR_EXISTS), true) 151 ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
152 include $(GAMMADIR)/make/hotspot_distro 152 include $(GAMMADIR)/make/hotspot_distro
153 else 153 else
154 include $(GAMMADIR)/make/openjdk_distro 154 include $(GAMMADIR)/make/openjdk_distro
155 endif 155 endif
156 endif 156 endif
170 $(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F) 170 $(QUIETLY) cd $@ && $(BUILDTREE) TARGET=$(@F)
171 $(QUIETLY) touch $@ 171 $(QUIETLY) touch $@
172 172
173 $(SIMPLE_DIRS): 173 $(SIMPLE_DIRS):
174 $(QUIETLY) mkdir -p $@ 174 $(QUIETLY) mkdir -p $@
175
176 # Convenience macro which takes a source relative path, applies $(1) to the
177 # absolute path, and then replaces $(GAMMADIR) in the result with a
178 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
179 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
175 180
176 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst 181 flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
177 @echo Creating $@ ... 182 @echo Creating $@ ...
178 $(QUIETLY) ( \ 183 $(QUIETLY) ( \
179 $(BUILDTREE_COMMENT); \ 184 $(BUILDTREE_COMMENT); \
202 echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \ 207 echo "TARGET_DEFINES += -DTARGET_COMPILER_\$$(Platform_compiler)"; \
203 echo "CFLAGS += \$$(TARGET_DEFINES)"; \ 208 echo "CFLAGS += \$$(TARGET_DEFINES)"; \
204 echo; \ 209 echo; \
205 echo "Src_Dirs_V = \\"; \ 210 echo "Src_Dirs_V = \\"; \
206 sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \ 211 sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \
207 echo "\$$(GAMMADIR)/src/$(HS_CLOSED_PATH)cpu/$(SRCARCH)/vm \\"; \ 212 echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
208 echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ 213 echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
209 echo "\$$(GAMMADIR)/src/$(HS_CLOSED_PATH)os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm"; \ 214 echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
215 echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
216 echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
217 echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
218 echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
219 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
210 echo; \ 220 echo; \
211 echo "Src_Dirs_I = \\"; \ 221 echo "Src_Dirs_I = \\"; \
212 echo "\$$(GAMMADIR)/src/share/vm \\"; \ 222 echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \
213 echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \ 223 echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
214 echo "\$$(GAMMADIR)/src/$(HS_CLOSED_PATH)cpu/$(SRCARCH)/vm \\"; \ 224 echo "$(call gamma-path,altsrc,share/vm) \\"; \
215 echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ 225 echo "$(call gamma-path,commonsrc,share/vm) \\"; \
216 echo "\$$(GAMMADIR)/src/$(HS_CLOSED_PATH)os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm"; \ 226 echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
227 echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
228 echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
229 echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
230 echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \
231 echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \
232 echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \
233 echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
217 [ -n "$(CFLAGS_BROWSE)" ] && \ 234 [ -n "$(CFLAGS_BROWSE)" ] && \
218 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ 235 echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
219 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ 236 [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
220 echo && \ 237 echo && \
221 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \ 238 echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
235 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \ 252 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
236 ) > $@ 253 ) > $@
237 254
238 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm 255 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
239 @echo Creating directory list $@ 256 @echo Creating directory list $@
240 $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ 257 $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \
258 find $(HS_ALT_SRC)/share/vm/* -prune \
259 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
260 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \
261 fi;
262 $(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \
241 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ 263 -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
242 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ 264 \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@
243 265
244 Makefile: $(BUILDTREE_MAKE) 266 Makefile: $(BUILDTREE_MAKE)
245 @echo Creating $@ ... 267 @echo Creating $@ ...
246 $(QUIETLY) ( \ 268 $(QUIETLY) ( \
247 $(BUILDTREE_COMMENT); \ 269 $(BUILDTREE_COMMENT); \