hotspot/make/solaris/makefiles/buildtree.make
changeset 17006 b9bfa72b7dda
parent 16630 3dea566541da
child 17382 bba473b81ec0
equal deleted inserted replaced
17004:4d2371d76a19 17006:b9bfa72b7dda
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18 #
    18 #
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20 # or visit www.oracle.com if you need additional information or have any
    20 # or visit www.oracle.com if you need additional information or have any
    21 # questions.
    21 # questions.
    22 #  
    22 #
    23 #
    23 #
    24 
    24 
    25 # Usage:
    25 # Usage:
    26 #
    26 #
    27 # $(MAKE) -f buildtree.make ARCH=arch BUILDARCH=buildarch LIBARCH=libarch
    27 # $(MAKE) -f buildtree.make ARCH=arch BUILDARCH=buildarch LIBARCH=libarch
    44 # each directory:
    44 # each directory:
    45 #
    45 #
    46 # Makefile	- for "make foo"
    46 # Makefile	- for "make foo"
    47 # flags.make	- with macro settings
    47 # flags.make	- with macro settings
    48 # vm.make	- to support making "$(MAKE) -v vm.make" in makefiles
    48 # vm.make	- to support making "$(MAKE) -v vm.make" in makefiles
    49 # adlc.make	- 
    49 # adlc.make	-
    50 # jvmti.make	- generate JVMTI bindings from the spec (JSR-163)
    50 # jvmti.make	- generate JVMTI bindings from the spec (JSR-163)
    51 # sa.make	- generate SA jar file and natives
    51 # sa.make	- generate SA jar file and natives
    52 # env.[ck]sh	- environment settings
    52 # env.[ck]sh	- environment settings
    53 # 
    53 #
    54 # The makefiles are split this way so that "make foo" will run faster by not
    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.
    55 # having to read the dependency files for the vm.
    56 
    56 
    57 -include $(SPEC)
    57 -include $(SPEC)
    58 include $(GAMMADIR)/make/scm.make
    58 include $(GAMMADIR)/make/scm.make
    67 ifdef USE_GCC
    67 ifdef USE_GCC
    68 PLATFORM_FILE	= $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).gcc
    68 PLATFORM_FILE	= $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH).gcc
    69 GCC_LIB         = /usr/local/lib
    69 GCC_LIB         = /usr/local/lib
    70 else
    70 else
    71 PLATFORM_FILE	= $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
    71 PLATFORM_FILE	= $(GAMMADIR)/make/$(OS_FAMILY)/platform_$(BUILDARCH)
    72 GCC_LIB         = 
    72 GCC_LIB         =
    73 endif
    73 endif
    74 
    74 
    75 ifdef FORCE_TIERED
    75 ifdef FORCE_TIERED
    76 ifeq		($(VARIANT),tiered)
    76 ifeq		($(VARIANT),tiered)
    77 PLATFORM_DIR	= $(OS_FAMILY)_$(BUILDARCH)_compiler2
    77 PLATFORM_DIR	= $(OS_FAMILY)_$(BUILDARCH)_compiler2
   108 SIMPLE_DIRS	= \
   108 SIMPLE_DIRS	= \
   109 	$(PLATFORM_DIR)/generated/dependencies \
   109 	$(PLATFORM_DIR)/generated/dependencies \
   110 	$(PLATFORM_DIR)/generated/adfiles \
   110 	$(PLATFORM_DIR)/generated/adfiles \
   111 	$(PLATFORM_DIR)/generated/jvmtifiles
   111 	$(PLATFORM_DIR)/generated/jvmtifiles
   112 
   112 
   113 TARGETS      = debug fastdebug jvmg optimized product profiled
   113 TARGETS      = debug fastdebug optimized product
   114 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
   114 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
   115 
   115 
   116 # For dependencies and recursive makes.
   116 # For dependencies and recursive makes.
   117 BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
   117 BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
   118 
   118 
   151   ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
   151   ifneq ($(call if-has-altsrc,$(HS_COMMON_SRC)/,true,false),true)
   152     OPENJDK=true
   152     OPENJDK=true
   153   endif
   153   endif
   154 endif
   154 endif
   155 
   155 
   156 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 
   156 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
   157 
   157 
   158 BUILDTREE	= \
   158 BUILDTREE	= \
   159 	$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
   159 	$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
   160 
   160 
   161 BUILDTREE_COMMENT	= echo "\# Generated by $(BUILDTREE_MAKE)"
   161 BUILDTREE_COMMENT	= echo "\# Generated by $(BUILDTREE_MAKE)"
   170 
   170 
   171 $(SIMPLE_DIRS):
   171 $(SIMPLE_DIRS):
   172 	$(QUIETLY) mkdir -p $@
   172 	$(QUIETLY) mkdir -p $@
   173 
   173 
   174 # Convenience macro which takes a source relative path, applies $(1) to the
   174 # Convenience macro which takes a source relative path, applies $(1) to the
   175 # absolute path, and then replaces $(GAMMADIR) in the result with a 
   175 # absolute path, and then replaces $(GAMMADIR) in the result with a
   176 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.  
   176 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
   177 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
   177 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
   178 
   178 
   179 # This bit is needed to enable local rebuilds.
   179 # This bit is needed to enable local rebuilds.
   180 # Unless the makefile itself sets LP64, any environmental
   180 # Unless the makefile itself sets LP64, any environmental
   181 # setting of LP64 will interfere with the build.
   181 # setting of LP64 will interfere with the build.
   272 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   272 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   273 	@echo Creating $@ ...
   273 	@echo Creating $@ ...
   274 	$(QUIETLY) ( \
   274 	$(QUIETLY) ( \
   275 	$(BUILDTREE_COMMENT); \
   275 	$(BUILDTREE_COMMENT); \
   276 	echo; \
   276 	echo; \
   277 	[ "$(TARGET)" = profiled ] && \
       
   278 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \
       
   279 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
   277 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
   280 	) > $@
   278 	) > $@
   281 
   279 
   282 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
   280 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
   283 	@echo Creating directory list $@
   281 	@echo Creating directory list $@
   364 jdkpath.sh: $(BUILDTREE_MAKE)
   362 jdkpath.sh: $(BUILDTREE_MAKE)
   365 	@echo Creating $@ ...
   363 	@echo Creating $@ ...
   366 	$(QUIETLY) ( \
   364 	$(QUIETLY) ( \
   367 	$(BUILDTREE_COMMENT); \
   365 	$(BUILDTREE_COMMENT); \
   368 	echo "JDK=${JAVA_HOME}"; \
   366 	echo "JDK=${JAVA_HOME}"; \
   369 	) > $@	   
   367 	) > $@
   370 
   368 
   371 FORCE:
   369 FORCE:
   372 
   370 
   373 .PHONY:  all FORCE
   371 .PHONY:  all FORCE