comparison make/bsd/Makefile @ 6854:fb19af007ffc

7189254: Change makefiles for more flexibility to override defaults Summary: Change makefiles so that targets and parameters can be overridden by alternate makefiles. Reviewed-by: dholmes, coleenp
author jprovino
date Wed, 10 Oct 2012 14:35:58 -0400
parents 989cf02ca531
children 9855b7e559ae
comparison
equal deleted inserted replaced
6830:81e878c53615 6854:fb19af007ffc
1 # 1 #
2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 2 # Copyright (c) 1999, 2012, 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.
173 # jvmgshark shark <os>_<arch>_shark/jvmg 173 # jvmgshark shark <os>_<arch>_shark/jvmg
174 # optimizedshark shark <os>_<arch>_shark/optimized 174 # optimizedshark shark <os>_<arch>_shark/optimized
175 # profiledshark shark <os>_<arch>_shark/profiled 175 # profiledshark shark <os>_<arch>_shark/profiled
176 # productshark shark <os>_<arch>_shark/product 176 # productshark shark <os>_<arch>_shark/product
177 # 177 #
178 # fastdebugminimal1 minimal1 <os>_<arch>_minimal1/fastdebug
179 # jvmgminimal1 minimal1 <os>_<arch>_minimal1/jvmg
180 # productminimal1 minimal1 <os>_<arch>_minimal1/product
181 #
178 # What you get with each target: 182 # What you get with each target:
179 # 183 #
180 # debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher 184 # debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher
181 # fastdebug* - optimized compile, but with asserts enabled 185 # fastdebug* - optimized compile, but with asserts enabled
182 # jvmg* - "fat" libjvm_g - debug info linked into libjvm_g.so 186 # jvmg* - "fat" libjvm_g - debug info linked into libjvm_g.so
197 SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS)) 201 SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
198 SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS)) 202 SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
199 SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) 203 SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
200 SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS)) 204 SUBDIRS_ZERO = $(addprefix $(OSNAME)_$(VARIANTARCH)_zero/,$(TARGETS))
201 SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS)) 205 SUBDIRS_SHARK = $(addprefix $(OSNAME)_$(VARIANTARCH)_shark/,$(TARGETS))
206 SUBDIRS_MINIMAL1 = $(addprefix $(OSNAME)_$(BUILDARCH)_minimal1/,$(TARGETS))
202 207
203 TARGETS_C2 = $(TARGETS) 208 TARGETS_C2 = $(TARGETS)
204 TARGETS_C1 = $(addsuffix 1,$(TARGETS)) 209 TARGETS_C1 = $(addsuffix 1,$(TARGETS))
205 TARGETS_TIERED = $(addsuffix tiered,$(TARGETS)) 210 TARGETS_TIERED = $(addsuffix tiered,$(TARGETS))
206 TARGETS_CORE = $(addsuffix core,$(TARGETS)) 211 TARGETS_CORE = $(addsuffix core,$(TARGETS))
207 TARGETS_ZERO = $(addsuffix zero,$(TARGETS)) 212 TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
208 TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) 213 TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
214 TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
209 215
210 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make 216 BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
211 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX) 217 BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
212 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) 218 BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
213 219
221 @echo " $(TARGETS_C2)" 227 @echo " $(TARGETS_C2)"
222 @echo " $(TARGETS_C1)" 228 @echo " $(TARGETS_C1)"
223 @echo " $(TARGETS_CORE)" 229 @echo " $(TARGETS_CORE)"
224 @echo " $(TARGETS_ZERO)" 230 @echo " $(TARGETS_ZERO)"
225 @echo " $(TARGETS_SHARK)" 231 @echo " $(TARGETS_SHARK)"
232 @echo " $(TARGETS_MINIMAL1)"
226 233
227 checks: check_os_version check_j2se_version 234 checks: check_os_version check_j2se_version
228 235
229 # We do not want people accidentally building on old systems (e.g. Linux 2.2.x, 236 # We do not want people accidentally building on old systems (e.g. Linux 2.2.x,
230 # Solaris 2.5.1, 2.6). 237 # Solaris 2.5.1, 2.6).
279 286
280 $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero 287 $(SUBDIRS_SHARK): $(BUILDTREE_MAKE) platform_zero
281 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks 288 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
282 $(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH) 289 $(BUILDTREE) VARIANT=shark VARIANTARCH=$(VARIANTARCH)
283 290
291 $(SUBDIRS_MINIMAL1): $(BUILDTREE_MAKE)
292 $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks
293 $(BUILDTREE) VARIANT=minimal1
294
284 platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in 295 platform_zero: $(GAMMADIR)/make/$(OSNAME)/platform_zero.in
285 $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@ 296 $(SED) 's/@ZERO_ARCHDEF@/$(ZERO_ARCHDEF)/g;s/@ZERO_LIBARCH@/$(ZERO_LIBARCH)/g;' < $< > $@
286 297
287 # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME 298 # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
288 299
336 ifeq ($(TEST_IN_BUILD),true) 347 ifeq ($(TEST_IN_BUILD),true)
337 cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma 348 cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma
338 endif 349 endif
339 ifdef INSTALL 350 ifdef INSTALL
340 cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install 351 cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
352 endif
353
354 $(TARGETS_MINIMAL1): $(SUBDIRS_MINIMAL1)
355 cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS)
356 ifeq ($(TEST_IN_BUILD),true)
357 cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && ./test_gamma
358 endif
359 ifdef INSTALL
360 cd $(OSNAME)_$(BUILDARCH)_minimal1/$(patsubst %minimal1,%,$@) && $(MAKE) $(MFLAGS) install
341 endif 361 endif
342 362
343 # Just build the tree, and nothing else: 363 # Just build the tree, and nothing else:
344 tree: $(SUBDIRS_C2) 364 tree: $(SUBDIRS_C2)
345 tree1: $(SUBDIRS_C1) 365 tree1: $(SUBDIRS_C1)
346 treecore: $(SUBDIRS_CORE) 366 treecore: $(SUBDIRS_CORE)
347 treezero: $(SUBDIRS_ZERO) 367 treezero: $(SUBDIRS_ZERO)
348 treeshark: $(SUBDIRS_SHARK) 368 treeshark: $(SUBDIRS_SHARK)
369 treeminimal1: $(SUBDIRS_MINIMAL1)
349 370
350 # Doc target. This is the same for all build options. 371 # Doc target. This is the same for all build options.
351 # Hence create a docs directory beside ...$(ARCH)_[...] 372 # Hence create a docs directory beside ...$(ARCH)_[...]
352 docs: checks 373 docs: checks
353 $(QUIETLY) mkdir -p $(SUBDIR_DOCS) 374 $(QUIETLY) mkdir -p $(SUBDIR_DOCS)
365 shark: jvmgshark productshark 386 shark: jvmgshark productshark
366 387
367 clean_docs: 388 clean_docs:
368 rm -rf $(SUBDIR_DOCS) 389 rm -rf $(SUBDIR_DOCS)
369 390
370 clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark: 391 clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark clean_minimal1:
371 rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@) 392 rm -rf $(OSNAME)_$(BUILDARCH)_$(subst clean_,,$@)
372 393
373 clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_docs 394 clean: clean_compiler2 clean_compiler1 clean_core clean_zero clean_shark clean_minimal1 clean_docs
374 395
375 include $(GAMMADIR)/make/cscope.make 396 include $(GAMMADIR)/make/cscope.make
376 397
398 #
399 # Include alternate Makefile if it exists.
400 #
401 -include $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make
402
377 #------------------------------------------------------------------------------- 403 #-------------------------------------------------------------------------------
378 404
379 .PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) 405 .PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_ZERO) $(TARGETS_SHARK) $(TARGETS_MINIMAL1)
380 .PHONY: tree tree1 treecore treezero treeshark 406 .PHONY: tree tree1 treecore treezero treeshark
381 .PHONY: all compiler1 compiler2 core zero shark 407 .PHONY: all compiler1 compiler2 core zero shark
382 .PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs 408 .PHONY: clean clean_compiler1 clean_compiler2 clean_core clean_zero clean_shark docs clean_docs
383 .PHONY: checks check_os_version check_j2se_version 409 .PHONY: checks check_os_version check_j2se_version
410 .PHONY: $(HS_ALT_MAKE)/$(OSNAME)/Makefile.make