Mercurial > hg > truffle
comparison make/solaris/makefiles/top.make @ 1972:f95d63e2154a
6989984: Use standard include model for Hospot
Summary: Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
author | stefank |
---|---|
date | Tue, 23 Nov 2010 13:22:55 -0800 |
parents | c18cbe5936b8 |
children | 5d801e6b9a80 |
comparison
equal
deleted
inserted
replaced
1971:e33f46fc48ed | 1972:f95d63e2154a |
---|---|
1 # | 1 # |
2 # Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 1998, 2010, 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. |
29 # -builds and runs adlc via adlc.make | 29 # -builds and runs adlc via adlc.make |
30 # -generates JVMTI source and docs via jvmti.make (JSR-163) | 30 # -generates JVMTI source and docs via jvmti.make (JSR-163) |
31 # -generate sa-jdi.jar (JDI binding to core files) | 31 # -generate sa-jdi.jar (JDI binding to core files) |
32 | 32 |
33 # It assumes the following flags are set: | 33 # It assumes the following flags are set: |
34 # CFLAGS Platform_file, Src_Dirs, SYSDEFS, AOUT, Jvm_Obj_Files | 34 # CFLAGS Platform_file, Src_Dirs_I, Src_Dirs_V, SYSDEFS, AOUT, Jvm_Obj_Files |
35 | 35 |
36 # -- D. Ungar (5/97) from a file by Bill Bush | 36 # -- D. Ungar (5/97) from a file by Bill Bush |
37 | 37 |
38 # Don't override the built-in $(MAKE). | 38 # Don't override the built-in $(MAKE). |
39 # Instead, use "gmake" (or "gnumake") from the command line. --Rose | 39 # Instead, use "gmake" (or "gnumake") from the command line. --Rose |
42 GENERATED = ../generated | 42 GENERATED = ../generated |
43 VM = $(GAMMADIR)/src/share/vm | 43 VM = $(GAMMADIR)/src/share/vm |
44 Plat_File = $(Platform_file) | 44 Plat_File = $(Platform_file) |
45 CDG = cd $(GENERATED); | 45 CDG = cd $(GENERATED); |
46 | 46 |
47 # Pick up MakeDeps' sources and definitions | 47 Cached_plat = $(GENERATED)/platform.current |
48 include $(GAMMADIR)/make/$(Platform_os_family)/makefiles/makedeps.make | |
49 MakeDepsClass = MakeDeps.class | |
50 MakeDeps = $(RUN.JAVA) -classpath . MakeDeps | |
51 | |
52 Include_DBs/GC = $(VM)/includeDB_gc \ | |
53 $(VM)/includeDB_gc_parallel \ | |
54 $(VM)/gc_implementation/includeDB_gc_parallelScavenge \ | |
55 $(VM)/gc_implementation/includeDB_gc_concurrentMarkSweep \ | |
56 $(VM)/gc_implementation/includeDB_gc_parNew \ | |
57 $(VM)/gc_implementation/includeDB_gc_g1 \ | |
58 $(VM)/gc_implementation/includeDB_gc_serial \ | |
59 $(VM)/gc_implementation/includeDB_gc_shared | |
60 | |
61 | |
62 Include_DBs/KERNEL = $(VM)/includeDB_core $(VM)/includeDB_gc \ | |
63 $(VM)/gc_implementation/includeDB_gc_serial \ | |
64 $(VM)/includeDB_jvmti \ | |
65 $(VM)/includeDB_compiler1 | |
66 | |
67 Include_DBs/CORE = $(VM)/includeDB_core $(Include_DBs/GC) \ | |
68 $(VM)/includeDB_jvmti \ | |
69 $(VM)/includeDB_features | |
70 Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 | |
71 Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 | |
72 Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 \ | |
73 $(VM)/includeDB_compiler2 | |
74 | |
75 Include_DBs = $(Include_DBs/$(TYPE)) | |
76 | |
77 Cached_plat = platform.current | |
78 Cached_db = includeDB.current | |
79 | |
80 Incremental_Lists =$(GENERATED)/$(Cached_db) | |
81 # list generation also creates $(GENERATED)/$(Cached_plat) | |
82 | |
83 | 48 |
84 AD_Dir = $(GENERATED)/adfiles | 49 AD_Dir = $(GENERATED)/adfiles |
85 ADLC = $(AD_Dir)/adlc | 50 ADLC = $(AD_Dir)/adlc |
86 AD_Spec = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad | 51 AD_Spec = $(GAMMADIR)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad |
87 AD_Src = $(GAMMADIR)/src/share/vm/adlc | 52 AD_Src = $(GAMMADIR)/src/share/vm/adlc |
96 # Wierd argument adjustment for "gnumake -j..." | 61 # Wierd argument adjustment for "gnumake -j..." |
97 adjust-mflags = $(GENERATED)/adjust-mflags | 62 adjust-mflags = $(GENERATED)/adjust-mflags |
98 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"` | 63 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"` |
99 | 64 |
100 | 65 |
101 # default target: make makeDeps, update lists, make vm | 66 # default target: update lists, make vm |
102 # done in stages to force sequential order with parallel make | 67 # done in stages to force sequential order with parallel make |
103 # | 68 # |
104 | 69 |
105 default: vm_build_preliminaries the_vm | 70 default: vm_build_preliminaries the_vm |
106 @echo All done. | 71 @echo All done. |
107 | 72 |
108 # This is an explicit dependency for the sake of parallel makes. | 73 # This is an explicit dependency for the sake of parallel makes. |
109 vm_build_preliminaries: checks $(Incremental_Lists) $(AD_Files_If_Required) jvmti_stuff sa_stuff | 74 vm_build_preliminaries: checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff |
110 @# We need a null action here, so implicit rules don't get consulted. | 75 @# We need a null action here, so implicit rules don't get consulted. |
111 | 76 |
112 # make makeDeps: (and zap the cached db files to force a nonincremental run) | 77 $(Cached_plat): $(Plat_File) |
113 | 78 $(CDG) cp $(Plat_File) $(Cached_plat) |
114 $(GENERATED)/$(MakeDepsClass): $(MakeDepsSources) | |
115 @$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources) | |
116 @echo Removing $(Incremental_Lists) to force regeneration. | |
117 @rm -f $(Incremental_Lists) | |
118 @$(CDG) echo >$(Cached_plat) | |
119 | |
120 # make incremental_lists, if cached files out of date, run makeDeps | |
121 | |
122 $(Incremental_Lists): $(Include_DBs) $(Plat_File) $(GENERATED)/$(MakeDepsClass) | |
123 $(CDG) cat $(Include_DBs) > includeDB | |
124 $(CDG) if [ ! -r incls ] ; then \ | |
125 mkdir incls ; \ | |
126 fi | |
127 $(CDG) $(MakeDeps) diffs UnixPlatform $(Cached_plat) $(Cached_db) $(Plat_File) includeDB $(MakeDepsOptions) | |
128 $(CDG) cp includeDB $(Cached_db) | |
129 $(CDG) cp $(Plat_File) $(Cached_plat) | |
130 | |
131 # symbolic target for command lines | |
132 lists: $(Incremental_Lists) | |
133 @: lists are now up to date | |
134 | 79 |
135 # make AD files as necessary | 80 # make AD files as necessary |
136 ad_stuff: $(Incremental_Lists) $(adjust-mflags) | 81 ad_stuff: $(Cached_plat) $(adjust-mflags) |
137 @$(MAKE) -f adlc.make $(MFLAGS-adjusted) | 82 @$(MAKE) -f adlc.make $(MFLAGS-adjusted) |
138 | 83 |
139 # generate JVMTI files from the spec | 84 # generate JVMTI files from the spec |
140 jvmti_stuff: $(Incremental_Lists) $(adjust-mflags) | 85 jvmti_stuff: $(Cached_plat) $(adjust-mflags) |
141 @$(MAKE) -f jvmti.make $(MFLAGS-adjusted) | 86 @$(MAKE) -f jvmti.make $(MFLAGS-adjusted) |
142 | 87 |
143 # generate SA jar files and native header | 88 # generate SA jar files and native header |
144 sa_stuff: | 89 sa_stuff: |
145 @$(MAKE) -f sa.make $(MFLAGS-adjusted) | 90 @$(MAKE) -f sa.make $(MFLAGS-adjusted) |
170 #$(MAKE) -f vm.make $@ | 115 #$(MAKE) -f vm.make $@ |
171 | 116 |
172 # this should force everything to be rebuilt | 117 # this should force everything to be rebuilt |
173 clean: | 118 clean: |
174 rm -f $(GENERATED)/*.class | 119 rm -f $(GENERATED)/*.class |
175 $(MAKE) $(MFLAGS) $(GENERATED)/$(MakeDepsClass) | |
176 $(MAKE) -f vm.make $(MFLAGS) clean | 120 $(MAKE) -f vm.make $(MFLAGS) clean |
177 | 121 |
178 # just in case it doesn't, this should do it | 122 # just in case it doesn't, this should do it |
179 realclean: | 123 realclean: |
180 $(MAKE) -f vm.make $(MFLAGS) clean | 124 $(MAKE) -f vm.make $(MFLAGS) clean |