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 -include $(SPEC) |
57 -include $(SPEC) |
58 include $(GAMMADIR)/make/scm.make |
58 include $(GAMMADIR)/make/scm.make |
115 SIMPLE_DIRS = \ |
115 SIMPLE_DIRS = \ |
116 $(PLATFORM_DIR)/generated/dependencies \ |
116 $(PLATFORM_DIR)/generated/dependencies \ |
117 $(PLATFORM_DIR)/generated/adfiles \ |
117 $(PLATFORM_DIR)/generated/adfiles \ |
118 $(PLATFORM_DIR)/generated/jvmtifiles |
118 $(PLATFORM_DIR)/generated/jvmtifiles |
119 |
119 |
120 TARGETS = debug fastdebug jvmg optimized product profiled |
120 TARGETS = debug fastdebug optimized product |
121 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS)) |
121 SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS)) |
122 |
122 |
123 # For dependencies and recursive makes. |
123 # For dependencies and recursive makes. |
124 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make |
124 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make |
125 |
125 |
177 |
177 |
178 $(SIMPLE_DIRS): |
178 $(SIMPLE_DIRS): |
179 $(QUIETLY) mkdir -p $@ |
179 $(QUIETLY) mkdir -p $@ |
180 |
180 |
181 # Convenience macro which takes a source relative path, applies $(1) to the |
181 # Convenience macro which takes a source relative path, applies $(1) to the |
182 # absolute path, and then replaces $(GAMMADIR) in the result with a |
182 # absolute path, and then replaces $(GAMMADIR) in the result with a |
183 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. |
183 # literal "$(GAMMADIR)/" suitable for inclusion in a Makefile. |
184 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) |
184 gamma-path=$(subst $(GAMMADIR),\$$(GAMMADIR),$(call $(1),$(HS_COMMON_SRC)/$(2))) |
185 |
185 |
186 # This bit is needed to enable local rebuilds. |
186 # This bit is needed to enable local rebuilds. |
187 # Unless the makefile itself sets LP64, any environmental |
187 # Unless the makefile itself sets LP64, any environmental |
188 # setting of LP64 will interfere with the build. |
188 # setting of LP64 will interfere with the build. |
282 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst |
282 flags_vm.make: $(BUILDTREE_MAKE) ../shared_dirs.lst |
283 @echo Creating $@ ... |
283 @echo Creating $@ ... |
284 $(QUIETLY) ( \ |
284 $(QUIETLY) ( \ |
285 $(BUILDTREE_COMMENT); \ |
285 $(BUILDTREE_COMMENT); \ |
286 echo; \ |
286 echo; \ |
287 [ "$(TARGET)" = profiled ] && \ |
|
288 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/optimized.make"; \ |
|
289 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \ |
287 echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(TARGET).make"; \ |
290 ) > $@ |
288 ) > $@ |
291 |
289 |
292 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm |
290 ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm |
293 @echo Creating directory list $@ |
291 @echo Creating directory list $@ |