146 include $(TOPDIR)/make/common/MakeBase.gmk
147
148 ################################################################################
149 # Determine what platform we're running on
150 ################################################################################
151 UNAME := uname
152
153 # Get OS name from uname (Cygwin inexplicably adds _NT-x.x)
154 UNAME_OS := $(shell $(UNAME) -s | $(CUT) -f1 -d_)
155
156 ifeq ($(UNAME_OS), CYGWIN)
157 OPENJDK_TARGET_OS := windows
158 OPENJDK_TARGET_OS_TYPE := windows
159 OPENJDK_TARGET_OS_ENV := windows.cygwin
160 else
161 OPENJDK_TARGET_OS_TYPE:=unix
162 ifeq ($(UNAME_OS), Linux)
163 OPENJDK_TARGET_OS := linux
164 else ifeq ($(UNAME_OS), Darwin)
165 OPENJDK_TARGET_OS := macosx
166 else ifeq ($(UNAME_OS), SunOS)
167 OPENJDK_TARGET_OS := solaris
168 else
169 OPENJDK_TARGET_OS := $(UNAME_OS)
170 endif
171 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
172 endif
173
174 # Assume little endian unless otherwise specified
175 OPENJDK_TARGET_CPU_ENDIAN := little
176
177 ifeq ($(OPENJDK_TARGET_OS), solaris)
178 # On solaris, use uname -p
179 UNAME_CPU := $(shell $(UNAME) -p)
180 # Assume 64-bit platform
181 OPENJDK_TARGET_CPU_BITS := 64
182 ifeq ($(UNAME_CPU), i386)
183 OPENJDK_TARGET_CPU := x86_64
184 else ifeq ($(UNAME_CPU), sparc)
185 OPENJDK_TARGET_CPU := sparcv9
186 OPENJDK_TARGET_CPU_ENDIAN := big
187 else
188 OPENJDK_TARGET_CPU := $(UNAME_CPU)
189 endif
190 else
191 # ... all others use uname -m
192 UNAME_CPU := $(shell $(UNAME) -m)
193 ifeq ($(UNAME_CPU), i686)
194 OPENJDK_TARGET_CPU := x86
195 OPENJDK_TARGET_CPU_BITS := 32
196 else
197 # Assume all others are 64-bit. We use the same CPU name as uname for
198 # at least x86_64 and aarch64.
199 OPENJDK_TARGET_CPU := $(UNAME_CPU)
200 OPENJDK_TARGET_CPU_BITS := 64
201 endif
202 endif
203
204 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
205 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
206 OPENJDK_TARGET_CPU_ARCH := x86
207 else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
208 OPENJDK_TARGET_CPU_ARCH := sparc
209 endif
210
211 ifeq ($(OPENJDK_TARGET_OS), windows)
212 ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
213 $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
214 $(error Cannot continue.)
215 endif
216 FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
217 PATH_SEP:=;
218 else
219 FIXPATH :=
220 PATH_SEP:=:
221 endif
222
223 # Check number of cores and memory in MB
224 ifeq ($(OPENJDK_TARGET_OS), linux)
225 NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
226 MEMORY_SIZE := $(shell \
227 $(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \
228 )
229 else ifeq ($(OPENJDK_TARGET_OS), macosx)
230 NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
231 MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
232 else ifeq ($(OPENJDK_TARGET_OS), solaris)
233 NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
234 MEMORY_SIZE := $(shell \
235 /usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
236 )
237 else ifeq ($(OPENJDK_TARGET_OS), windows)
238 NUM_CORES := $(NUMBER_OF_PROCESSORS)
239 MEMORY_SIZE := $(shell \
240 $(EXPR) `wmic computersystem get totalphysicalmemory -value \
241 | $(GREP) = | $(SED) 's/\\r//g' \
242 | $(CUT) -d "=" -f 2-` / 1024 / 1024 \
243 )
244 endif
245 ifeq ($(NUM_CORES), )
246 $(warn Could not find number of CPUs, assuming 1)
247 NUM_CORES := 1
248 endif
249 ifeq ($(MEMORY_SIZE), )
250 $(warn Could not find memory size, assuming 1024 MB)
251 MEMORY_SIZE := 1024
252 endif
253
254 # Setup LD for AOT support
255 ifneq ($(DEVKIT_HOME), )
256 ifeq ($(OPENJDK_TARGET_OS), windows)
257 LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
258 LIBRARY_PREFIX :=
259 SHARED_LIBRARY_SUFFIX := .dll
260 else ifeq ($(OPENJDK_TARGET_OS), linux)
261 LD_JAOTC := $(DEVKIT_HOME)/bin/ld
262 LIBRARY_PREFIX := lib
263 SHARED_LIBRARY_SUFFIX := .so
264 else ifeq ($(OPENJDK_TARGET_OS), macosx)
265 LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
266 LIBRARY_PREFIX := lib
267 SHARED_LIBRARY_SUFFIX := .dylib
268 else ifeq ($(OPENJDK_TARGET_OS), solaris)
269 # Prefer system linker for AOT on Solaris.
270 LD_JAOTC := ld
271 LIBRARY_PREFIX := lib
272 SHARED_LIBRARY_SUFFIX := .so
273 endif
274 else
275 LD := ld
276 endif
277
278 ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), )
279 TEST_OPTS_JCOV := true
280 JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR)
281 else
282 TEST_OPTS_JCOV := false
283 JCOV_IMAGE_DIR :=
284 endif
285
286 ################################################################################
287 # Generate the ephemeral spec file
288 ################################################################################
289
290 # Now we can include additional custom support.
291 # This might define CUSTOM_NEW_SPEC_LINE
292 ifneq ($(CUSTOM_MAKE_DIR), )
|
146 include $(TOPDIR)/make/common/MakeBase.gmk
147
148 ################################################################################
149 # Determine what platform we're running on
150 ################################################################################
151 UNAME := uname
152
153 # Get OS name from uname (Cygwin inexplicably adds _NT-x.x)
154 UNAME_OS := $(shell $(UNAME) -s | $(CUT) -f1 -d_)
155
156 ifeq ($(UNAME_OS), CYGWIN)
157 OPENJDK_TARGET_OS := windows
158 OPENJDK_TARGET_OS_TYPE := windows
159 OPENJDK_TARGET_OS_ENV := windows.cygwin
160 else
161 OPENJDK_TARGET_OS_TYPE:=unix
162 ifeq ($(UNAME_OS), Linux)
163 OPENJDK_TARGET_OS := linux
164 else ifeq ($(UNAME_OS), Darwin)
165 OPENJDK_TARGET_OS := macosx
166 else
167 OPENJDK_TARGET_OS := $(UNAME_OS)
168 endif
169 OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
170 endif
171
172 # Assume little endian unless otherwise specified
173 OPENJDK_TARGET_CPU_ENDIAN := little
174
175 UNAME_CPU := $(shell $(UNAME) -m)
176 ifeq ($(UNAME_CPU), i686)
177 OPENJDK_TARGET_CPU := x86
178 OPENJDK_TARGET_CPU_BITS := 32
179 else
180 # Assume all others are 64-bit. We use the same CPU name as uname for
181 # at least x86_64 and aarch64.
182 OPENJDK_TARGET_CPU := $(UNAME_CPU)
183 OPENJDK_TARGET_CPU_BITS := 64
184 endif
185
186 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
187 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
188 OPENJDK_TARGET_CPU_ARCH := x86
189 endif
190
191 ifeq ($(OPENJDK_TARGET_OS), windows)
192 ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
193 $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
194 $(error Cannot continue.)
195 endif
196 FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
197 PATH_SEP:=;
198 else
199 FIXPATH :=
200 PATH_SEP:=:
201 endif
202
203 # Check number of cores and memory in MB
204 ifeq ($(OPENJDK_TARGET_OS), linux)
205 NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
206 MEMORY_SIZE := $(shell \
207 $(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \
208 )
209 else ifeq ($(OPENJDK_TARGET_OS), macosx)
210 NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
211 MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
212 else ifeq ($(OPENJDK_TARGET_OS), windows)
213 NUM_CORES := $(NUMBER_OF_PROCESSORS)
214 MEMORY_SIZE := $(shell \
215 $(EXPR) `wmic computersystem get totalphysicalmemory -value \
216 | $(GREP) = | $(SED) 's/\\r//g' \
217 | $(CUT) -d "=" -f 2-` / 1024 / 1024 \
218 )
219 endif
220 ifeq ($(NUM_CORES), )
221 $(warn Could not find number of CPUs, assuming 1)
222 NUM_CORES := 1
223 endif
224 ifeq ($(MEMORY_SIZE), )
225 $(warn Could not find memory size, assuming 1024 MB)
226 MEMORY_SIZE := 1024
227 endif
228
229 # Setup LD for AOT support
230 ifneq ($(DEVKIT_HOME), )
231 ifeq ($(OPENJDK_TARGET_OS), windows)
232 LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
233 LIBRARY_PREFIX :=
234 SHARED_LIBRARY_SUFFIX := .dll
235 else ifeq ($(OPENJDK_TARGET_OS), linux)
236 LD_JAOTC := $(DEVKIT_HOME)/bin/ld
237 LIBRARY_PREFIX := lib
238 SHARED_LIBRARY_SUFFIX := .so
239 else ifeq ($(OPENJDK_TARGET_OS), macosx)
240 LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
241 LIBRARY_PREFIX := lib
242 SHARED_LIBRARY_SUFFIX := .dylib
243 endif
244 else
245 LD := ld
246 endif
247
248 ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), )
249 TEST_OPTS_JCOV := true
250 JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR)
251 else
252 TEST_OPTS_JCOV := false
253 JCOV_IMAGE_DIR :=
254 endif
255
256 ################################################################################
257 # Generate the ephemeral spec file
258 ################################################################################
259
260 # Now we can include additional custom support.
261 # This might define CUSTOM_NEW_SPEC_LINE
262 ifneq ($(CUSTOM_MAKE_DIR), )
|