52 else
53 UpdatePCH = \# precompiled header is not used
54 endif
55
56 Cached_plat = $(GENERATED)/platform.current
57
58 AD_Dir = $(GENERATED)/adfiles
59 ADLC = $(AD_Dir)/adlc
60 AD_Spec = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad)
61 AD_Src = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc)
62 AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
63 AD_Files = $(AD_Names:%=$(AD_Dir)/%)
64
65 # AD_Files_If_Required/COMPILER1 = ad_stuff
66 AD_Files_If_Required/COMPILER2 = ad_stuff
67 AD_Files_If_Required/TIERED = ad_stuff
68 AD_Files_If_Required = $(AD_Files_If_Required/$(TYPE))
69
70 # Wierd argument adjustment for "gnumake -j..."
71 adjust-mflags = $(GENERATED)/adjust-mflags
72 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"`
73
74
75 # default target: update lists, make vm
76 # done in stages to force sequential order with parallel make
77 #
78
79 default: vm_build_preliminaries the_vm
80 @echo All done.
81
82 # This is an explicit dependency for the sake of parallel makes.
83 vm_build_preliminaries: checks $(Cached_plat) $(AD_Files_If_Required) trace_stuff jvmti_stuff sa_stuff
84 @# We need a null action here, so implicit rules don't get consulted.
85
86 $(Cached_plat): $(Plat_File)
87 $(CDG) $(CP) $(Plat_File) $(Cached_plat)
88
89 # make AD files as necessary
90 ad_stuff: $(Cached_plat) $(adjust-mflags)
91 @$(MAKE) -f adlc.make $(MFLAGS-adjusted)
92
99 @$(MAKE) -f trace.make $(MFLAGS-adjusted)
100
101 # generate SA jar files and native header
102 sa_stuff:
103 @$(MAKE) -f sa.make $(MFLAGS-adjusted)
104
105 # and the VM: must use other makefile with dependencies included
106
107 # We have to go to great lengths to get control over the -jN argument
108 # to the recursive invocation of vm.make. The problem is that gnumake
109 # resets -jN to -j1 for recursive runs. (How helpful.)
110 # Note that the user must specify the desired parallelism level via a
111 # command-line or environment variable name HOTSPOT_BUILD_JOBS.
112 $(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags.sh
113 @+rm -f $@ $@+
114 @+cat $< > $@+
115 @+chmod +x $@+
116 @+mv $@+ $@
117
118 the_vm: vm_build_preliminaries $(adjust-mflags)
119 @$(UpdatePCH)
120 @$(MAKE) -f vm.make $(MFLAGS-adjusted)
121
122 install gamma: the_vm
123 @$(MAKE) -f vm.make $@
124
125 # next rules support "make foo.[ois]"
126
127 %.o %.i %.s:
128 $(UpdatePCH)
129 $(MAKE) -f vm.make $(MFLAGS) $@
130 #$(MAKE) -f vm.make $@
131
132 # this should force everything to be rebuilt
133 clean:
134 rm -f $(GENERATED)/*.class
135 $(MAKE) -f vm.make $(MFLAGS) clean
136
137 # just in case it doesn't, this should do it
138 realclean:
139 $(MAKE) -f vm.make $(MFLAGS) clean
140 rm -fr $(GENERATED)
141
142 .PHONY: default vm_build_preliminaries
143 .PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
144 .PHONY: checks check_os_version install
|
52 else
53 UpdatePCH = \# precompiled header is not used
54 endif
55
56 Cached_plat = $(GENERATED)/platform.current
57
58 AD_Dir = $(GENERATED)/adfiles
59 ADLC = $(AD_Dir)/adlc
60 AD_Spec = $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad)
61 AD_Src = $(call altsrc-replace,$(HS_COMMON_SRC)/share/vm/adlc)
62 AD_Names = ad_$(Platform_arch_model).hpp ad_$(Platform_arch_model).cpp
63 AD_Files = $(AD_Names:%=$(AD_Dir)/%)
64
65 # AD_Files_If_Required/COMPILER1 = ad_stuff
66 AD_Files_If_Required/COMPILER2 = ad_stuff
67 AD_Files_If_Required/TIERED = ad_stuff
68 AD_Files_If_Required = $(AD_Files_If_Required/$(TYPE))
69
70 # Wierd argument adjustment for "gnumake -j..."
71 adjust-mflags = $(GENERATED)/adjust-mflags
72 # If SPEC is set, it's from configure and it's already controlling concurrency
73 # for us. Skip setting -j with HOTSPOT_BUILD_JOBS.
74 ifeq ($(SPEC), )
75 MFLAGS-adjusted = -r `$(adjust-mflags) "$(MFLAGS)" "$(HOTSPOT_BUILD_JOBS)"`
76 else
77 MFLAGS-adjusted = -r $(MFLAGS)
78 endif
79
80
81 # default target: update lists, make vm
82 # done in stages to force sequential order with parallel make
83 #
84
85 default: vm_build_preliminaries the_vm
86 @echo All done.
87
88 # This is an explicit dependency for the sake of parallel makes.
89 vm_build_preliminaries: checks $(Cached_plat) $(AD_Files_If_Required) trace_stuff jvmti_stuff sa_stuff
90 @# We need a null action here, so implicit rules don't get consulted.
91
92 $(Cached_plat): $(Plat_File)
93 $(CDG) $(CP) $(Plat_File) $(Cached_plat)
94
95 # make AD files as necessary
96 ad_stuff: $(Cached_plat) $(adjust-mflags)
97 @$(MAKE) -f adlc.make $(MFLAGS-adjusted)
98
105 @$(MAKE) -f trace.make $(MFLAGS-adjusted)
106
107 # generate SA jar files and native header
108 sa_stuff:
109 @$(MAKE) -f sa.make $(MFLAGS-adjusted)
110
111 # and the VM: must use other makefile with dependencies included
112
113 # We have to go to great lengths to get control over the -jN argument
114 # to the recursive invocation of vm.make. The problem is that gnumake
115 # resets -jN to -j1 for recursive runs. (How helpful.)
116 # Note that the user must specify the desired parallelism level via a
117 # command-line or environment variable name HOTSPOT_BUILD_JOBS.
118 $(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags.sh
119 @+rm -f $@ $@+
120 @+cat $< > $@+
121 @+chmod +x $@+
122 @+mv $@+ $@
123
124 the_vm: vm_build_preliminaries $(adjust-mflags)
125 +@$(UpdatePCH)
126 @$(MAKE) -f vm.make $(MFLAGS-adjusted)
127
128 install gamma: the_vm
129 @$(MAKE) -f vm.make $@
130
131 # next rules support "make foo.[ois]"
132
133 %.o %.i %.s:
134 +$(UpdatePCH)
135 $(MAKE) -f vm.make $(MFLAGS) $@
136 #$(MAKE) -f vm.make $@
137
138 # this should force everything to be rebuilt
139 clean:
140 rm -f $(GENERATED)/*.class
141 $(MAKE) -f vm.make $(MFLAGS) clean
142
143 # just in case it doesn't, this should do it
144 realclean:
145 $(MAKE) -f vm.make $(MFLAGS) clean
146 rm -fr $(GENERATED)
147
148 .PHONY: default vm_build_preliminaries
149 .PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
150 .PHONY: checks check_os_version install
151
152 .NOTPARALLEL:
|