hotspot/make/bsd/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 SRCARCH=srcarch BUILDARCH=buildarch LIBARCH=libarch
    27 # $(MAKE) -f buildtree.make SRCARCH=srcarch 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 # needs to be set here since this Makefile doesn't include defs.make
    57 # needs to be set here since this Makefile doesn't include defs.make
    58 OS_VENDOR:=$(shell uname -s)
    58 OS_VENDOR:=$(shell uname -s)
   120 	$(PLATFORM_DIR)/generated/dependencies \
   120 	$(PLATFORM_DIR)/generated/dependencies \
   121 	$(PLATFORM_DIR)/generated/adfiles \
   121 	$(PLATFORM_DIR)/generated/adfiles \
   122 	$(PLATFORM_DIR)/generated/jvmtifiles \
   122 	$(PLATFORM_DIR)/generated/jvmtifiles \
   123 	$(PLATFORM_DIR)/generated/dtracefiles
   123 	$(PLATFORM_DIR)/generated/dtracefiles
   124 
   124 
   125 TARGETS      = debug fastdebug jvmg optimized product profiled
   125 TARGETS      = debug fastdebug optimized product
   126 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
   126 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
   127 
   127 
   128 # For dependencies and recursive makes.
   128 # For dependencies and recursive makes.
   129 BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
   129 BUILDTREE_MAKE	= $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
   130 
   130 
   184 
   184 
   185 $(SIMPLE_DIRS):
   185 $(SIMPLE_DIRS):
   186 	$(QUIETLY) mkdir -p $@
   186 	$(QUIETLY) mkdir -p $@
   187 
   187 
   188 # Convenience macro which takes a source relative path, applies $(1) to the
   188 # Convenience macro which takes a source relative path, applies $(1) to the
   189 # absolute path, and then replaces $(GAMMADIR) in the result with a 
   189 # absolute path, and then replaces $(GAMMADIR) in the result with a
   190 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.  
   190 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile.
   191 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
   191 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2)))
   192 
   192 
   193 # This bit is needed to enable local rebuilds.
   193 # This bit is needed to enable local rebuilds.
   194 # Unless the makefile itself sets LP64, any environmental
   194 # Unless the makefile itself sets LP64, any environmental
   195 # setting of LP64 will interfere with the build.
   195 # setting of LP64 will interfere with the build.
   277 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   277 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
   278 	@echo Creating $@ ...
   278 	@echo Creating $@ ...
   279 	$(QUIETLY) ( \
   279 	$(QUIETLY) ( \
   280 	$(BUILDTREE_COMMENT); \
   280 	$(BUILDTREE_COMMENT); \
   281 	echo; \
   281 	echo; \
   282 	[ "$(TARGET)" = profiled ] && \
       
   283 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \
       
   284 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
   282 	echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \
   285 	) > $@
   283 	) > $@
   286 
   284 
   287 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
   285 ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
   288 	@echo Creating directory list $@
   286 	@echo Creating directory list $@
   379 jdkpath.sh: $(BUILDTREE_MAKE)
   377 jdkpath.sh: $(BUILDTREE_MAKE)
   380 	@echo Creating $@ ...
   378 	@echo Creating $@ ...
   381 	$(QUIETLY) ( \
   379 	$(QUIETLY) ( \
   382 	$(BUILDTREE_COMMENT); \
   380 	$(BUILDTREE_COMMENT); \
   383 	echo "JDK=${JAVA_HOME}"; \
   381 	echo "JDK=${JAVA_HOME}"; \
   384 	) > $@	   
   382 	) > $@
   385 
   383 
   386 FORCE:
   384 FORCE:
   387 
   385 
   388 .PHONY:  all FORCE
   386 .PHONY:  all FORCE