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 dtrace_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
102 sa_stuff:
103 @$(MAKE) -f sa.make $(MFLAGS-adjusted)
104
105 dtrace_stuff: $(Cached_plat) $(adjust-mflags)
106 @$(MAKE) -f dtrace.make dtrace_gen_headers $(MFLAGS-adjusted) GENERATED=$(GENERATED)
107
108 # and the VM: must use other makefile with dependencies included
109
110 # We have to go to great lengths to get control over the -jN argument
111 # to the recursive invocation of vm.make. The problem is that gnumake
112 # resets -jN to -j1 for recursive runs. (How helpful.)
113 # Note that the user must specify the desired parallelism level via a
114 # command-line or environment variable name HOTSPOT_BUILD_JOBS.
115 $(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags.sh
116 @+rm -f $@ $@+
117 @+cat $< > $@+
118 @+chmod +x $@+
119 @+mv $@+ $@
120
121 the_vm: vm_build_preliminaries $(adjust-mflags)
122 @$(UpdatePCH)
123 @$(MAKE) -f vm.make $(MFLAGS-adjusted)
124
125 install: the_vm
126 @$(MAKE) -f vm.make $@
127
128 # next rules support "make foo.[ois]"
129
130 %.o %.i %.s:
131 $(UpdatePCH)
132 $(MAKE) -f vm.make $(MFLAGS) $@
133 #$(MAKE) -f vm.make $@
134
135 # this should force everything to be rebuilt
136 clean:
137 rm -f $(GENERATED)/*.class
138 $(MAKE) -f vm.make $(MFLAGS) clean
139
140 # just in case it doesn't, this should do it
141 realclean:
142 $(MAKE) -f vm.make $(MFLAGS) clean
143 rm -fr $(GENERATED)
144
145 .PHONY: default vm_build_preliminaries
146 .PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
147 .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 dtrace_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
108 sa_stuff:
109 @$(MAKE) -f sa.make $(MFLAGS-adjusted)
110
111 dtrace_stuff: $(Cached_plat) $(adjust-mflags)
112 @$(MAKE) -f dtrace.make dtrace_gen_headers $(MFLAGS-adjusted) GENERATED=$(GENERATED)
113
114 # and the VM: must use other makefile with dependencies included
115
116 # We have to go to great lengths to get control over the -jN argument
117 # to the recursive invocation of vm.make. The problem is that gnumake
118 # resets -jN to -j1 for recursive runs. (How helpful.)
119 # Note that the user must specify the desired parallelism level via a
120 # command-line or environment variable name HOTSPOT_BUILD_JOBS.
121 $(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags.sh
122 @+rm -f $@ $@+
123 @+cat $< > $@+
124 @+chmod +x $@+
125 @+mv $@+ $@
126
127 the_vm: vm_build_preliminaries $(adjust-mflags)
128 +@$(UpdatePCH)
129 @$(MAKE) -f vm.make $(MFLAGS-adjusted)
130
131 install: the_vm
132 @$(MAKE) -f vm.make $@
133
134 # next rules support "make foo.[ois]"
135
136 %.o %.i %.s:
137 +$(UpdatePCH)
138 $(MAKE) -f vm.make $(MFLAGS) $@
139 #$(MAKE) -f vm.make $@
140
141 # this should force everything to be rebuilt
142 clean:
143 rm -f $(GENERATED)/*.class
144 $(MAKE) -f vm.make $(MFLAGS) clean
145
146 # just in case it doesn't, this should do it
147 realclean:
148 $(MAKE) -f vm.make $(MFLAGS) clean
149 rm -fr $(GENERATED)
150
151 .PHONY: default vm_build_preliminaries
152 .PHONY: lists ad_stuff jvmti_stuff sa_stuff the_vm clean realclean
153 .PHONY: checks check_os_version install
154
155 .NOTPARALLEL:
|