diff -r 5e139f767ddb -r d8a72fbc4be7 make/solaris/makefiles/buildtree.make --- a/make/solaris/makefiles/buildtree.make Thu Feb 03 20:30:19 2011 -0800 +++ b/make/solaris/makefiles/buildtree.make Tue Feb 08 17:20:45 2011 -0500 @@ -56,6 +56,7 @@ # having to read the dependency files for the vm. include $(GAMMADIR)/make/scm.make +include $(GAMMADIR)/make/altsrc.make # 'gmake MAKE_VERBOSE=y' or 'gmake QUIETLY=' gives all the gory details. QUIETLY$(MAKE_VERBOSE) = @ @@ -139,13 +140,7 @@ # Define HOTSPOT_VM_DISTRO based on settings in make/openjdk_distro # or make/hotspot_distro. ifndef HOTSPOT_VM_DISTRO - CLOSED_DIR_EXISTS := $(shell \ - if [ -d $(GAMMADIR)/src/closed ] ; then \ - echo true; \ - else \ - echo false; \ - fi) - ifeq ($(CLOSED_DIR_EXISTS), true) + ifeq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true) include $(GAMMADIR)/make/hotspot_distro else include $(GAMMADIR)/make/openjdk_distro @@ -170,6 +165,11 @@ $(SIMPLE_DIRS): $(QUIETLY) mkdir -p $@ +# Convenience macro which takes a source relative path, applies $(1) to the +# absolute path, and then replaces $(GAMMADIR) in the result with a +# literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. +gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) + flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst @echo Creating $@ ... $(QUIETLY) ( \ @@ -202,16 +202,28 @@ echo; \ echo "Src_Dirs_V = \\"; \ sed 's/$$/ \\/;s|$(GAMMADIR)|$$(GAMMADIR)|' ../shared_dirs.lst; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ echo; \ echo "Src_Dirs_I = \\"; \ - echo "\$$(GAMMADIR)/src/share/vm \\"; \ - echo "\$$(GAMMADIR)/src/share/vm/prims \\"; \ - echo "\$$(GAMMADIR)/src/cpu/$(ARCH)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os/$(OS_FAMILY)/vm \\"; \ - echo "\$$(GAMMADIR)/src/os_cpu/$(OS_FAMILY)_$(ARCH)/vm"; \ + echo "$(call gamma-path,altsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \ + echo "$(call gamma-path,altsrc,share/vm) \\"; \ + echo "$(call gamma-path,commonsrc,share/vm) \\"; \ + echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/$(OS_FAMILY)/vm) \\"; \ + echo "$(call gamma-path,altsrc,os/posix/vm) \\"; \ + echo "$(call gamma-path,commonsrc,os/posix/vm)"; \ [ -n "$(CFLAGS_BROWSE)" ] && \ echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \ [ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \ @@ -235,9 +247,14 @@ ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm @echo Creating directory list $@ - $(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \ + $(QUIETLY) if [ -d $(HS_ALT_SRC)/share/vm ]; then \ + find $(HS_ALT_SRC)/share/vm/* -prune \ + -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@; \ + fi; + $(QUIETLY) find $(HS_COMMON_SRC)/share/vm/* -prune \ -type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \ - \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ + \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; >> $@ Makefile: $(BUILDTREE_MAKE) @echo Creating $@ ...