jdk/make/java/jvm/Makefile
author dholmes
Tue, 15 Mar 2011 19:52:42 -0400
changeset 8792 cd1dceb2d665
parent 5506 202f599c92aa
child 8793 a25480ff1a6b
permissions -rw-r--r--
7027897: Build support for client-VM only configurations Summary: Support builds for which only the client VM is required and/or available Reviewed-by: ohair, andrew
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
8792
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
     2
# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4808
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4808
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
# accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
#
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4808
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4808
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4808
diff changeset
    23
# questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
BUILDDIR = ../..
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    27
MODULE   = base
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    28
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
include $(BUILDDIR)/common/Defs.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
# Make the directories of include files shipped with the JDK.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
FILES_h = $(INCLUDEDIR)/jni.h 			\
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
	  $(PLATFORM_INCLUDE)/jni_md.h		\
4808
37f605425f74 6580131: 3/4 CompiledMethodLoad events don't produce the expected extra notifications to describe inlining
dcubed
parents: 4665
diff changeset
    37
	  $(INCLUDEDIR)/jvmti.h			\
37f605425f74 6580131: 3/4 CompiledMethodLoad events don't produce the expected extra notifications to describe inlining
dcubed
parents: 4665
diff changeset
    38
	  $(INCLUDEDIR)/jvmticmlr.h		\
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
	  $(INCLUDEDIR)/classfile_constants.h
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
$(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    42
	$(install-non-module-file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
$(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    45
	$(install-non-module-file)
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    46
8792
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    47
JVMCFG_DIR = $(LIBDIR)/$(LIBARCH)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    48
JVMCFG = $(JVMCFG_DIR)/jvm.cfg
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    49
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    50
#
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    51
# How to install jvm.cfg.
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    52
#
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    53
ifeq ($(ZERO_BUILD), true)
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    54
JVMCFG_ARCH = zero
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    55
else
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    56
JVMCFG_ARCH = $(ARCH)
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    57
endif
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    58
8792
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    59
ifdef BUILD_CLIENT_ONLY
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    60
$(JVMCFG)::
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    61
	$(MKDIR) -p $(JVMCFG_DIR)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    62
	@# Update jvm.cfg to use -client by default and alias -server to -client
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    63
	$(RM) -f $(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    64
	$(ECHO) "-client KNOWN">$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    65
	$(ECHO) "-server ALIASED_TO -client">>$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    66
	$(ECHO) "-hotspot ALIASED_TO -client">>$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    67
	$(ECHO) "-classic WARN">>$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    68
	$(ECHO) "-native ERROR">>$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    69
	$(ECHO) "-green ERROR">>$(JVMCFG)
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    70
else
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    71
$(JVMCFG): $(PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
	$(install-file)
8792
cd1dceb2d665 7027897: Build support for client-VM only configurations
dholmes
parents: 5506
diff changeset
    73
endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
all: build
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    77
build: $(FILES_h) $(JVMCFG)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
clean clobber:: 
4665
d14dc3d9e1fa 6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents: 2
diff changeset
    80
	$(RM) $(FILES_h) $(JVMCFG)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81