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 # ... all others use uname -m
176 UNAME_CPU := $(shell $(UNAME) -m)
177 ifeq ($(UNAME_CPU), i686)
178 OPENJDK_TARGET_CPU := x86
179 OPENJDK_TARGET_CPU_BITS := 32
180 else
181 # Assume all others are 64-bit. We use the same CPU name as uname for
182 # at least x86_64 and aarch64.
183 OPENJDK_TARGET_CPU := $(UNAME_CPU)
184 OPENJDK_TARGET_CPU_BITS := 64
185 endif
186
187 OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
188 ifeq ($(OPENJDK_TARGET_CPU), x86_64)
189 OPENJDK_TARGET_CPU_ARCH := x86
190 endif
191
192 ifeq ($(OPENJDK_TARGET_OS), windows)
193 ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
194 $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
195 $(error Cannot continue.)
196 endif
197 FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
198 PATH_SEP:=;
199 else
200 FIXPATH :=
201 PATH_SEP:=:
202 endif
203
204 # Check number of cores and memory in MB
205 ifeq ($(OPENJDK_TARGET_OS), linux)
206 NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor)
207 MEMORY_SIZE := $(shell \
208 $(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \
209 )
210 else ifeq ($(OPENJDK_TARGET_OS), macosx)
211 NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
212 MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
213 else ifeq ($(OPENJDK_TARGET_OS), windows)
214 NUM_CORES := $(NUMBER_OF_PROCESSORS)
215 MEMORY_SIZE := $(shell \
216 $(EXPR) `wmic computersystem get totalphysicalmemory -value \
217 | $(GREP) = | $(SED) 's/\\r//g' \
218 | $(CUT) -d "=" -f 2-` / 1024 / 1024 \
219 )
220 endif
221 ifeq ($(NUM_CORES), )
222 $(warn Could not find number of CPUs, assuming 1)
223 NUM_CORES := 1
224 endif
225 ifeq ($(MEMORY_SIZE), )
226 $(warn Could not find memory size, assuming 1024 MB)
227 MEMORY_SIZE := 1024
228 endif
229
230 # Setup LD for AOT support
231 ifneq ($(DEVKIT_HOME), )
232 ifeq ($(OPENJDK_TARGET_OS), windows)
233 LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
234 LIBRARY_PREFIX :=
235 SHARED_LIBRARY_SUFFIX := .dll
236 else ifeq ($(OPENJDK_TARGET_OS), linux)
237 LD_JAOTC := $(DEVKIT_HOME)/bin/ld
238 LIBRARY_PREFIX := lib
239 SHARED_LIBRARY_SUFFIX := .so
240 else ifeq ($(OPENJDK_TARGET_OS), macosx)
241 LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
242 LIBRARY_PREFIX := lib
243 SHARED_LIBRARY_SUFFIX := .dylib
244 endif
245 else
246 LD := ld
247 endif
248
249 ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), )
250 TEST_OPTS_JCOV := true
251 JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR)
252 else
253 TEST_OPTS_JCOV := false
254 JCOV_IMAGE_DIR :=
255 endif
256
257 ################################################################################
258 # Generate the ephemeral spec file
259 ################################################################################
260
261 # Now we can include additional custom support.
262 # This might define CUSTOM_NEW_SPEC_LINE
263 ifneq ($(CUSTOM_MAKE_DIR), )
|