提交 2bff6a91 编写于 作者: L lana

Merge

...@@ -52,3 +52,6 @@ eacb36e30327e7ae33baa068e82ddccbd91eaae2 jdk7-b74 ...@@ -52,3 +52,6 @@ eacb36e30327e7ae33baa068e82ddccbd91eaae2 jdk7-b74
8885b22565077236a927e824ef450742e434a230 jdk7-b75 8885b22565077236a927e824ef450742e434a230 jdk7-b75
8fb602395be0f7d5af4e7e93b7df2d960faf9d17 jdk7-b76 8fb602395be0f7d5af4e7e93b7df2d960faf9d17 jdk7-b76
e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77 e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77
1143e498f813b8223b5e3a696d79da7ff7c25354 jdk7-b78
918920710d65432a2d54fdf407c1524a5571c4ad jdk7-b79
049cfaaa9a7374e3768a79969a799e8b59ad52fa jdk7-b80
...@@ -74,6 +74,7 @@ import -- copy in the pre-built components (e.g. VM) \n\ ...@@ -74,6 +74,7 @@ import -- copy in the pre-built components (e.g. VM) \n\
import_product -- copy in the product components \n\ import_product -- copy in the product components \n\
import_fastdebug -- copy in the fastdebug components \n\ import_fastdebug -- copy in the fastdebug components \n\
import_debug -- copy in the debug components \n\ import_debug -- copy in the debug components \n\
modules -- build the jdk and jre module images (experimental) \n\
sccs_get -- make sure all SCCS files are up-to-date (need SCCS) \n\ sccs_get -- make sure all SCCS files are up-to-date (need SCCS) \n\
create_links -- create softlinks in Solaris 32bit build to 64bit dirs \n\ create_links -- create softlinks in Solaris 32bit build to 64bit dirs \n\
" "
...@@ -257,6 +258,7 @@ docs:: sanity-docs post-sanity-docs ...@@ -257,6 +258,7 @@ docs:: sanity-docs post-sanity-docs
# Release engineering targets. # Release engineering targets.
# #
include $(BUILDDIR)/common/Release.gmk include $(BUILDDIR)/common/Release.gmk
include $(BUILDDIR)/common/Modules.gmk
# #
# Cscope targets. # Cscope targets.
......
...@@ -249,7 +249,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar ...@@ -249,7 +249,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar
else else
$(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar $(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar
endif endif
$(install-file) $(install-non-module-file)
ifndef OPENJDK ifndef OPENJDK
install-prebuilt: install-prebuilt:
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = pack200
PACKAGE = com.sun.java.util.jar.pack PACKAGE = com.sun.java.util.jar.pack
LIBRARY = unpack LIBRARY = unpack
PRODUCT = sun PRODUCT = sun
...@@ -123,11 +124,14 @@ COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR))) ...@@ -123,11 +124,14 @@ COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR)))
all: build all: build
build: prop build: prop pack200-tool
prop: prop:
$(MAKE) -C prop $(MAKE) -C prop
pack200-tool:
$(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack)
unpacker: unpacker:
$(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG= $(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG=
...@@ -151,6 +155,7 @@ ifdef MT ...@@ -151,6 +155,7 @@ ifdef MT
$(MT) /manifest $(TEMPDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 $(MT) /manifest $(TEMPDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1
endif endif
$(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)
$(install-module-file)
ifeq ($(PLATFORM), windows) ifeq ($(PLATFORM), windows)
$(RES):: $(VERSIONINFO_RESOURCE) $(RES):: $(VERSIONINFO_RESOURCE)
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
# to a collision of rules with Classes.gmk and Library.gmk # to a collision of rules with Classes.gmk and Library.gmk
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = pack200
PACKAGE = com.sun.java.util.jar.pack PACKAGE = com.sun.java.util.jar.pack
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-cosnaming
PACKAGE = com.sun.jndi.cosnaming PACKAGE = com.sun.jndi.cosnaming
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-dns
PACKAGE = com.sun.jndi.dns PACKAGE = com.sun.jndi.dns
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-ldap
PACKAGE = com.sun.jndi.ldap PACKAGE = com.sun.jndi.ldap
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = jndi-rmiregistry
PACKAGE = com.sun.jndi.rmi.registry PACKAGE = com.sun.jndi.rmi.registry
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -57,8 +57,7 @@ FILES_java += \ ...@@ -57,8 +57,7 @@ FILES_java += \
sun/nio/ch/SctpResultContainer.java \ sun/nio/ch/SctpResultContainer.java \
sun/nio/ch/SctpSendFailed.java \ sun/nio/ch/SctpSendFailed.java \
sun/nio/ch/SctpServerChannelImpl.java \ sun/nio/ch/SctpServerChannelImpl.java \
sun/nio/ch/SctpShutdown.java \ sun/nio/ch/SctpShutdown.java
sun/nio/ch/SctpSocketDispatcher.java
else else
FILES_java += \ FILES_java += \
sun/nio/ch/SctpChannelImpl.java \ sun/nio/ch/SctpChannelImpl.java \
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = sctp
PACKAGE = com.sun.nio.sctp PACKAGE = com.sun.nio.sctp
LIBRARY = sctp LIBRARY = sctp
PRODUCT = sun PRODUCT = sun
......
...@@ -25,9 +25,14 @@ ...@@ -25,9 +25,14 @@
SUNWprivate_1.1 { SUNWprivate_1.1 {
global: global:
Java_sun_nio_ch_SctpNet_init;
Java_sun_nio_ch_SctpNet_socket0; Java_sun_nio_ch_SctpNet_socket0;
Java_sun_nio_ch_SctpNet_bindx; Java_sun_nio_ch_SctpNet_bindx;
Java_sun_nio_ch_SctpNet_branch0; Java_sun_nio_ch_SctpNet_branch0;
Java_sun_nio_ch_SctpNet_listen0;
Java_sun_nio_ch_SctpNet_connect0;
Java_sun_nio_ch_SctpNet_close0;
Java_sun_nio_ch_SctpNet_preClose0;
Java_sun_nio_ch_SctpNet_getLocalAddresses0; Java_sun_nio_ch_SctpNet_getLocalAddresses0;
Java_sun_nio_ch_SctpNet_getRemoteAddresses0; Java_sun_nio_ch_SctpNet_getRemoteAddresses0;
Java_sun_nio_ch_SctpNet_getPrimAddrOption0; Java_sun_nio_ch_SctpNet_getPrimAddrOption0;
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = security-xmldsig
PACKAGE = com.sun.org.apache.xml PACKAGE = com.sun.org.apache.xml
PRODUCT = xml PRODUCT = xml
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = jdbc-enterprise
PACKAGE = com.sun.rowset PACKAGE = com.sun.rowset
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = scripting-rhino
PACKAGE = com.sun.script PACKAGE = com.sun.script
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
# Makefile for building auth modules. # Makefile for building auth modules.
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = security-auth
PACKAGE = com.sun.security.auth.module PACKAGE = com.sun.security.auth.module
PRODUCT = sun PRODUCT = sun
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
# have any questions. # have any questions.
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = servicetag
PACKAGE = com.sun.servicetag PACKAGE = com.sun.servicetag
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -68,7 +69,7 @@ $(CLASSBINDIR)/%: $(SHARE_SRC)/classes/% ...@@ -68,7 +69,7 @@ $(CLASSBINDIR)/%: $(SHARE_SRC)/classes/%
$(SERVICETAG_LIBDIR)/jdk_header.png: $(SHARE_SRC)/classes/com/sun/servicetag/resources/jdk_header.png $(SERVICETAG_LIBDIR)/jdk_header.png: $(SHARE_SRC)/classes/com/sun/servicetag/resources/jdk_header.png
$(install-file) $(install-file)
$(CHMOD) 444 $@ $(call chmod-file, 444)
install-servicetag-lib: install-servicetag-lib:
@$(RM) -rf $(SERVICETAG_LIBDIR) @$(RM) -rf $(SERVICETAG_LIBDIR)
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = attach
PACKAGE = com.sun.tools.attach PACKAGE = com.sun.tools.attach
LIBRARY = attach LIBRARY = attach
PRODUCT = sun PRODUCT = sun
...@@ -65,6 +66,7 @@ $(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/% ...@@ -65,6 +66,7 @@ $(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/%
@$(MKDIR) -p $(@D) @$(MKDIR) -p $(@D)
@$(RM) $@ @$(RM) $@
@$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@ @$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@
@$(install-module-file)
.PHONY: copy-files .PHONY: copy-files
......
...@@ -225,12 +225,6 @@ DEVTOOLS_FT_DIR_EXISTS = $(shell \ ...@@ -225,12 +225,6 @@ DEVTOOLS_FT_DIR_EXISTS = $(shell \
endif endif
endif endif
ifeq ($(PLATFORM), windows)
FREETYPE_LIB = $(FREETYPE_LIB_PATH)/freetype.lib
else
FREETYPE_LIB = -L$(FREETYPE_LIB_PATH) -lfreetype
endif
ifdef ALT_FREETYPE_HEADERS_PATH ifdef ALT_FREETYPE_HEADERS_PATH
FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH) FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH)
else else
...@@ -313,6 +307,9 @@ INCLUDEDIR = $(OUTPUTDIR)/include ...@@ -313,6 +307,9 @@ INCLUDEDIR = $(OUTPUTDIR)/include
# for generated class files # for generated class files
CLASSBINDIR = $(OUTPUTDIR)/classes CLASSBINDIR = $(OUTPUTDIR)/classes
DEMOCLASSDIR = $(OUTPUTDIR)/democlasses DEMOCLASSDIR = $(OUTPUTDIR)/democlasses
# for modules
MODULES_DIR = $(OUTPUTDIR)/modules
ABS_MODULES_DIR = $(ABS_OUTPUTDIR)/modules
# for generated tool class files # for generated tool class files
BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses
# for build tool jar files # for build tool jar files
...@@ -388,6 +385,22 @@ ifneq ($(THREADDIR),) ...@@ -388,6 +385,22 @@ ifneq ($(THREADDIR),)
UNIQUE_LOCATION_STRING += /$(THREADDIR) UNIQUE_LOCATION_STRING += /$(THREADDIR)
endif endif
#
# Build units may or may not define MODULE. Default to "other".
#
# MODULE variable defines the lowest-level module name that
# might or might not be the name of the modules created in
# the modules build (see make/modules/modules.config and
# modules.group).
#
MODULES_TEMPDIR = $(OUTPUTDIR)/tmp/modules
ABS_MODULES_TEMPDIR = $(ABS_OUTPUTDIR)/tmp/modules
ifndef MODULE
MODULE = other
endif
override MODULE_DEST_DIR = $(MODULES_TEMPDIR)/$(MODULE)
# the use of += above makes a space separated list which we need to # the use of += above makes a space separated list which we need to
# remove for filespecs. # remove for filespecs.
# #
...@@ -497,6 +510,58 @@ PKGDIR = $(subst .,/,$(PACKAGE)) ...@@ -497,6 +510,58 @@ PKGDIR = $(subst .,/,$(PACKAGE))
# #
include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk
#
# Macros to find the module that $@ belongs to
#
UNIQUE_PATH_PATTERN = $(subst /,.,$(UNIQUE_PATH))
MODULE_PATH_PATTERN = -e 's%.*\/classes\/%classes\/%' \
-e 's%.*\/$(UNIQUE_PATH_PATTERN)\/%classes\/%' \
-e 's%.*\/lib\/%lib\/%' \
-e 's%.*\/bin\/%bin\/%' \
-e 's%.*\/include\/%include\/%' \
-e 's%.*\/demo\/%demo\/%' \
-e 's%.*\/sample\/%sample\/%'
# Install a file to its module
define install-module-file
dest=`echo $(@D)/ | $(SED) $(MODULE_PATH_PATTERN)` ; \
$(MKDIR) -p $(MODULE_DEST_DIR)/$$dest; \
$(CP) -f $@ $(MODULE_DEST_DIR)/$$dest
endef
# Install all files from the directory to its module
define install-module-dir
dest=`echo $(@D)/ | $(SED) $(MODULE_PATH_PATTERN)` ; \
$(MKDIR) -p $(MODULE_DEST_DIR)/$$dest; \
$(CP) -rf $(@D)/* $(MODULE_DEST_DIR)/$$dest
endef
# chmod the file in its module
define chmod-module-file
dest=`echo $@ | $(SED) $(MODULE_PATH_PATTERN)` ; \
$(CHMOD) $1 $(MODULE_DEST_DIR)/$$dest
endef
# install a sym link in its module
define install-module-sym-link
dest=`echo $@ | $(SED) $(MODULE_PATH_PATTERN)` ; \
$(LN) -sf $1 $(MODULE_DEST_DIR)/$$dest
endef
# Run MAKE $@ for a launcher:
# $(call make-launcher, name, mainclass, java-args, main-args)
define make-launcher
$(CD) $(BUILDDIR)/launchers && \
$(MAKE) -f Makefile.launcher \
MODULE=$(MODULE) \
PROGRAM=$(strip $1) \
MAIN_CLASS=$(strip $2) \
MAIN_JAVA_ARGS="$(strip $3)" \
MAIN_ARGS="$(strip $4)"
endef
# #
# Convenient macros # Convenient macros
# #
...@@ -511,6 +576,28 @@ endef ...@@ -511,6 +576,28 @@ endef
define install-file define install-file
$(prep-target) $(prep-target)
$(CP) $< $@ $(CP) $< $@
$(install-module-file)
endef
define chmod-file
$(CHMOD) $1 $@
$(call chmod-module-file, $1)
endef
define install-sym-link
$(LN) -s $1 $@
$(call install-module-sym-link, $1)
endef
#
# Marcos for files not belonging to any module
define install-non-module-file
$(prep-target)
$(CP) $< $@
endef
define install-manifest-file
$(install-non-module-file)
endef endef
# Cleanup rule for after debug java run (hotspot.log file is left around) # Cleanup rule for after debug java run (hotspot.log file is left around)
...@@ -712,7 +799,7 @@ else ...@@ -712,7 +799,7 @@ else
endif endif
# Install of imported file (JDK_IMPORT_PATH, or some other external location) # Install of imported file (JDK_IMPORT_PATH, or some other external location)
define install-import-file define install-importonly-file
@$(ECHO) "ASSEMBLY_IMPORT: $@" @$(ECHO) "ASSEMBLY_IMPORT: $@"
$(prep-target) $(prep-target)
$(CP) $< $@ $(CP) $< $@
...@@ -730,4 +817,9 @@ $(CP) $< $@ ...@@ -730,4 +817,9 @@ $(CP) $< $@
fi fi
endef endef
define install-import-file
$(install-importonly-file)
$(install-module-file)
endef
.PHONY: all build clean clobber .PHONY: all build clean clobber
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
# JDK Demo building jar file. # JDK Demo building jar file.
MODULE = demos
# Some names are defined with LIBRARY inside the Defs.gmk file # Some names are defined with LIBRARY inside the Defs.gmk file
LIBRARY=$(DEMONAME) LIBRARY=$(DEMONAME)
OBJDIR=$(TEMPDIR)/$(DEMONAME) OBJDIR=$(TEMPDIR)/$(DEMONAME)
......
...@@ -193,9 +193,18 @@ ifdef MT ...@@ -193,9 +193,18 @@ ifdef MT
$(MT) /manifest $(OBJDIR)/$(@F).manifest /outputresource:$(OBJDIR)/$(@F);#2 $(MT) /manifest $(OBJDIR)/$(@F).manifest /outputresource:$(OBJDIR)/$(@F);#2
endif endif
$(CP) $(OBJDIR)/$(@F) $@ $(CP) $(OBJDIR)/$(@F) $@
$(install-module-file)
$(CP) $(OBJDIR)/$(LIBRARY).map $(@D) $(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D) $(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
$(ACTUAL_LIBRARY):: $(ACTUAL_LIBRARY_DIR)/$(LIBRARY).map $(ACTUAL_LIBRARY_DIR)/$(LIBRARY).pdb
$(ACTUAL_LIBRARY_DIR)/%.map: FORCE
$(install-module-file)
$(ACTUAL_LIBRARY_DIR)/%.pdb: FORCE
$(install-module-file)
endif # LIBRARY endif # LIBRARY
$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m) $(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
...@@ -250,6 +259,7 @@ ifeq ($(LIBRARY), fdlibm) ...@@ -250,6 +259,7 @@ ifeq ($(LIBRARY), fdlibm)
$(AR) -r $@ $(FILES_o) $(AR) -r $@ $(FILES_o)
else # LIBRARY else # LIBRARY
$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS) $(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
$(install-module-file)
ifeq ($(WRITE_LIBVERSION),true) ifeq ($(WRITE_LIBVERSION),true)
$(MCS) -d -a "$(FULL_VERSION)" $@ $(MCS) -d -a "$(FULL_VERSION)" $@
endif # WRITE_LIBVERSION endif # WRITE_LIBVERSION
...@@ -353,5 +363,7 @@ fastdebug: ...@@ -353,5 +363,7 @@ fastdebug:
openjdk: openjdk:
$(MAKE) OPENJDK=true build $(MAKE) OPENJDK=true build
FORCE:
.PHONY: all build debug fastdebug .PHONY: all build debug fastdebug
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
JDK_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jdk-module-image
JRE_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jre-module-image
#
# modules Target to build jdk and jre module image
#
# There is one jar file per module containing classes only.
# All module jars are currently placed under jre/lib directory.
#
# Open issues that need further investigation:
# 1. Classes in jre/lib/ext/dnsns.jar are currently put in jre/lib/jndi-dns
# module. META-INF/services file is not installed.
# 2. Signed jars
# For JDK build, signed jars are copied to the build.
# All jars in the module image are unsigned.
MODULE_IMAGEBINDIR = bin
#
# Targets.
#
INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre
INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk
ifeq ($(PLATFORM), solaris)
ifeq ($(ARCH_DATA_MODEL), 64)
INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre-sol64
INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk-sol64
endif
endif
modules modules-clobber \
initial-module-image-jre initial-module-image-jdk \
initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
trim-module-image-jre trim-module-image-jdk \
process-module-image-jre process-module-image-jdk ::
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
# Order is important here, trim jre after jdk image is created
modules:: gen-modules \
sanity-module-images post-sanity-module-images \
$(INITIAL_MODULE_IMAGE_JRE) $(INITIAL_MODULE_IMAGE_JDK) \
trim-module-image-jre trim-module-image-jdk \
process-module-image-jre process-module-image-jdk
# Don't use these
module-image-jre:: initial-module-image-jre trim-module-image-jre process-module-image-jre
module-image-jdk:: initial-module-image-jdk trim-module-image-jdk process-module-image-jdk
#
# Paths to these files we need
JDK_MODULE_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
JDK_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%64)
JDK_MODULE_DOCFILES = $(OTHER_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
JRE_MODULE_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
JRE_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%64)
JRE_MODULE_DOCFILES = $(OTHER_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
JRE_MODULE_DOCFILES += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX))
###### RULES
# JDK files
$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
$(process-doc-file)
# Removes LICENSE_VERSION or not
ifdef LICENSE_VERSION
$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
$(process-doc-file)
$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
$(process-doc-file)
else
$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
$(process-doc-file)
endif
# JRE files
$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
$(process-doc-file)
# Add $(TEXT_SUFFIX) suffix
ifdef TEXT_SUFFIX
$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
$(process-doc-file)
endif
# Removes LICENSE_VERSION or not
ifdef LICENSE_VERSION
$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
$(process-doc-file)
$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
$(process-doc-file)
else
$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
$(process-doc-file)
endif
######################################################
# JRE Image
######################################################
MODULES_LIST = $(MODULES_TEMPDIR)/classlist/modules.list
# Modules in the jre/lib/security directory
POLICY_MODULES = US_export_policy local_policy
# Modules in the modules/ext directory
EXT_MODULES = localedata security-sunec security-sunjce
# Build PKCS#11 on all platforms except 64-bit Windows.
PKCS11 = security-sunpkcs11
ifeq ($(ARCH_DATA_MODEL), 64)
ifeq ($(PLATFORM), windows)
PKCS11 =
endif
endif
EXT_MODULES += $(PKCS11)
# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform.
ifeq ($(PLATFORM), windows)
ifneq ($(ARCH_DATA_MODEL), 64)
EXT_MODULES += security-sunmscapi
endif
endif
# Modules for JDK only
JDK_MODULES = tools
gen-modules:
$(CD) modules; $(MAKE) all
initial-module-image-jre-setup:
$(RM) -r $(JRE_MODULE_IMAGE_DIR)
$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)
# 64-bit solaris jre image contains only the 64-bit add-on files.
initial-module-image-jre-sol64:: initial-module-image-jre-setup \
$(JRE_MODULE_LICENSES) $(JRE_MODULE_64_LICENSES)
@# Use tar instead of cp to preserve the symbolic links
for dir in bin lib ; do \
( $(CD) $(OUTPUTDIR) && \
$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
($(CD) $(JRE_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
done
@# Remove some files from the jre area
for t in $(NOTJRETOOLS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
done
$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl'`
$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl'`
# Construct an initial jre image (initial jdk jre) no trimming or stripping
initial-module-image-jre:: initial-module-image-jre-setup \
$(JRE_LICENSES) $(JRE_MODULE_DOCFILES) \
$(BUILDMETAINDEX_JARFILE)
@# Copy in bin directory
$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
@# CTE plugin security change require new empty directory lib/applet
$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/applet
@# Copy files but not .jar in lib directory
$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(EGREP) -v ".jar$$" | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
@#
@# copy modules to jre/lib
@#
for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \
$(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib ; \
done
$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/ext
for m in $(EXT_MODULES) ; do \
$(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/ext ; \
done
for m in $(POLICY_MODULES) ; do \
$(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/security; \
done
@# Remove jdk modules
for m in $(JDK_MODULES) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar ; \
done
@# Make sure all directories are read/execute for everyone
$(CHMOD) a+rx `$(FIND) $(JRE_MODULE_IMAGE_DIR) -type d`
@# Remove some files from the jre area
for t in $(NOTJRETOOLS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
done
@# Remove orb.idl and ir.idl from jre
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
@# Generate meta-index to make boot and extension class loaders lazier
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-o meta-index *.jar
@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && $(java-vm-cleanup)
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && \
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-o meta-index *.jar
@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
ifeq ($(PLATFORM), windows)
@# Remove certain *.lib files
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
$(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
hpi.$(LIB_SUFFIX) awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
ifeq ($(ARCH_DATA_MODEL), 32)
@# The Java Kernel JRE image ships with a special VM. It is not included
@# in the full JRE image, so remove it. Also, is it only for 32-bit windows.
$(CD) $(JRE_MODULE_IMAGE_DIR)/bin && $(RM) -r kernel
endif
endif # Windows
ifneq ($(PLATFORM), windows)
$(call copy-man-pages,$(JRE_MODULE_IMAGE_DIR),$(JRE_MAN_PAGES))
endif # !windows
# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
# (Note the jdk WILL want the jre image before this trimming)
# Removes server VM on Windows 32bit.
# Remove certain shared libraries that should not be in the jre image
# but should be in the jdk jre image.
trim-module-image-jre::
ifeq ($(PLATFORM), windows)
ifeq ($(ARCH_DATA_MODEL), 32)
$(RM) -r $(JRE_MODULE_IMAGE_DIR)/bin/server
endif
ifdef NOTJRE_SHARED_LIBS
for l in $(NOTJRE_SHARED_LIBS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin/$$l ; \
done ;
endif
else # PLATFORM
ifdef NOTJRE_SHARED_LIBS
for l in $(NOTJRE_SHARED_LIBS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
done ;
endif
endif # PLATFORM
# Get list of all Elf files in the jre
JRE_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jre-elf-files.list
$(JRE_MODULE_ELF_LIST):
@$(prep-target)
ifneq ($(PLATFORM), windows)
$(RM) $@
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
$(FILE) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
endif
# Post process the image (strips and mcs on Elf files we are shipping)
# (Note the jdk WILL want the jre image before this processing)
process-module-image-jre:: $(JRE_MODULE_ELF_LIST)
ifneq ($(POST_STRIP_PROCESS), )
for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
$(POST_STRIP_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
ifneq ($(POST_MCS_PROCESS), )
for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
$(POST_MCS_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
$(RM) $(JRE_MODULE_ELF_LIST)
######################################################
# JDK Image
######################################################
# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
initial-module-image-jdk-setup:
$(RM) -r $(JDK_MODULE_IMAGE_DIR)
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/jre
($(CD) $(JRE_MODULE_IMAGE_DIR) && $(FIND) . -depth -print \
| $(CPIO) -pdum $(JDK_MODULE_IMAGE_DIR)/jre )
$(RM) -rf $(JDK_MODULE_IMAGE_DIR)/jre/man
$(CHMOD) a+rx `$(FIND) $(JDK_MODULE_IMAGE_DIR) -type d`
initial-module-image-jdk64-bindemos:
for dir in bin demo ; do \
( $(CD) $(OUTPUTDIR) && \
$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
done
# Solaris 64 bit image is special
initial-module-image-jdk-sol64:: initial-module-image-jdk-setup \
initial-module-image-jdk64-bindemos \
$(JDK_MODULE_LICENSES) $(JDK_MODULARLIZED_64_LICENSES)
# DB files to add
ifeq ($(OPENJDK),true)
initial-module-image-jdk-db:
else
# Create the list of db *.zip files to bundle with jdk
ABS_DB_PATH :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
initial-module-image-jdk-db: $(DB_ZIP_LIST)
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/db
for d in $(DB_ZIP_LIST); do \
($(CD) $(JDK_MODULE_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
done
endif
# Standard jdk image
initial-module-image-jdk:: initial-module-image-jdk-setup \
initial-module-image-jdk-db \
$(JDK_MODULE_LICENSES) $(JDK_MODULE_DOCFILES)
$(MKDIR) $(JDK_MODULE_IMAGE_DIR)/lib
@#
@# copy jdk modules to jdk/lib
@#
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/lib
for m in $(JDK_MODULES) ; do \
$(CP) $(MODULES_DIR)/$$m/lib/$$m.jar $(JDK_MODULE_IMAGE_DIR)/lib ; \
done
ifeq ($(PLATFORM), windows)
@#
@# lib/
@#
$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
@#
@# bin/
@#
@# copy all EXE files and only certain DLL files from BINDIR
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/bin
$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(COMPILER_VERSION), VS2003)
$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
endif
endif
else # PLATFORM
@#
@# bin/
@#
($(CD) $(BINDIR)/.. && $(TAR) cf - \
`$(FIND) bin \( -type f -o -type l \) -print `) | \
($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -)
endif # PLATFORM
@#
@# lib/ct.sym
@#
$(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym
$(JAVAC_CMD) -XDprocess.packages -proc:only \
-processor com.sun.tools.javac.sym.CreateSymbols \
-Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
-C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
@$(java-vm-cleanup)
$(CP) $(LIBDIR)/ct.sym $(JDK_MODULE_IMAGE_DIR)/lib/ct.sym
@#
@# CORBA supported orb.idl and ir.idl should be copied to lib
@#
$(CP) $(LIBDIR)/orb.idl $(JDK_MODULE_IMAGE_DIR)/lib/orb.idl
$(CP) $(LIBDIR)/ir.idl $(JDK_MODULE_IMAGE_DIR)/lib/ir.idl
ifeq ($(PLATFORM), linux)
@#
@# on Linux copy jexec from jre/lib to /lib
@#
$(CP) $(LIBDIR)/jexec $(JDK_MODULE_IMAGE_DIR)/lib/jexec
endif # PLATFORM
@#
@# demo, include
@#
$(CP) -r -f $(DEMODIR) $(JDK_MODULE_IMAGE_DIR)
$(CP) -r -f $(SAMPLEDIR) $(JDK_MODULE_IMAGE_DIR)
$(CP) -r $(INCLUDEDIR) $(JDK_MODULE_IMAGE_DIR)
@#
@# Swing BeanInfo generation
@#
$(CD) javax/swing/beaninfo && $(MAKE) JDK_IMAGE_DIR=$(JDK_MODULE_IMAGE_DIR) swing-1.2-beans
ifneq ($(PLATFORM), windows)
$(call copy-man-pages,$(JDK_MODULE_IMAGE_DIR),$(JDK_MAN_PAGES))
endif # !windows
# Trim out files we don't want to ship
trim-module-image-jdk::
@# Remove tools that should not be part of SDK.
for t in $(NOTJDKTOOLS); do \
$(RM) $(JDK_MODULE_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX) \
$(JDK_MODULE_IMAGE_DIR)/bin/*/native_threads/$${t}$(EXE_SUFFIX); \
done
# Get list of Elf files in the jdk
JDK_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jdk-elf-files.list
$(JDK_MODULE_ELF_LIST):
@$(prep-target)
ifneq ($(PLATFORM), windows)
$(RM) $@
$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
$(FILE) `$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
file `$(FIND) $(JDK_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
endif
# Post process the image (strips and mcs on files we are shipping)
process-module-image-jdk:: $(JDK_MODULE_ELF_LIST)
ifneq ($(POST_STRIP_PROCESS), )
for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
$(POST_STRIP_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
ifneq ($(POST_MCS_PROCESS), )
for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
$(POST_MCS_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
$(RM) $(JDK_MODULE_ELF_LIST)
######################################################
# clobber
######################################################
modules-clobber::
$(RM) -r $(JDK_MODULE_IMAGE_DIR)
$(RM) -r $(JRE_MODULE_IMAGE_DIR)
#
# TODO - nop for now
sanity-module-images post-sanity-module-images:
modules modules-clobber::
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
@$(java-vm-cleanup)
.PHONY: modules module-image-jre module-image-jdk \
initial-module-image-jre initial-module-image-jdk \
initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
initial-module-image-jdk-setup \
initial-module-image-jdk-db \
initial-module-image-jdk64-bindemos \
initial-module-image-jre-setup \
trim-module-image-jre trim-module-image-jdk \
process-module-image-jre process-module-image-jdk \
install-previous-jre install-previous-jdk \
modules-clobber
# Force rule
FRC:
...@@ -50,8 +50,6 @@ ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX) ...@@ -50,8 +50,6 @@ ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX)
ACTUAL_PROGRAM_DIR = $(BINDIR) ACTUAL_PROGRAM_DIR = $(BINDIR)
ACTUAL_PROGRAM = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME) ACTUAL_PROGRAM = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME)
JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg
# Make sure the default rule is all # Make sure the default rule is all
program_default_rule: all program_default_rule: all
...@@ -116,7 +114,7 @@ endif ...@@ -116,7 +114,7 @@ endif
ifeq ($(COMPILE_IT),true) ifeq ($(COMPILE_IT),true)
$(ACTUAL_PROGRAM):: classes $(JVMCFG) $(INIT) $(ACTUAL_PROGRAM):: classes $(INIT)
# #
# Windows only # Windows only
...@@ -190,12 +188,13 @@ $(ACTUAL_PROGRAM):: $(FILES_o) ...@@ -190,12 +188,13 @@ $(ACTUAL_PROGRAM):: $(FILES_o)
@$(MKDIR) -p $(TEMPDIR) @$(MKDIR) -p $(TEMPDIR)
$(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \ $(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
$(FILES_o) $(THREADLIBS) $(LDLIBS) $(FILES_o) $(THREADLIBS) $(LDLIBS)
$(install-module-file)
endif # PLATFORM endif # PLATFORM
else # COMPILE_IT else # COMPILE_IT
$(ACTUAL_PROGRAM):: $(JVMCFG) $(ACTUAL_PROGRAM)::
# Copies in the file from the JDK_IMPORT_PATH area # Copies in the file from the JDK_IMPORT_PATH area
$(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/jre/bin/% $(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/jre/bin/%
...@@ -271,18 +270,6 @@ $(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c ...@@ -271,18 +270,6 @@ $(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c
$(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \ $(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \
$(VERSION_DEFINES) $< $(VERSION_DEFINES) $<
#
# How to install jvm.cfg.
#
ifeq ($(ZERO_BUILD), true)
JVMCFG_ARCH = zero
else
JVMCFG_ARCH = $(ARCH)
endif
$(JVMCFG): $(LAUNCHER_PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg
$(install-file)
# #
# Default dependencies # Default dependencies
# #
......
...@@ -116,7 +116,7 @@ PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE) ...@@ -116,7 +116,7 @@ PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE)
define import-binary-plug-file define import-binary-plug-file
@$(ECHO) "PLUG IMPORT: $(@F)" @$(ECHO) "PLUG IMPORT: $(@F)"
$(install-file) $(install-non-module-file)
endef # import-binary-plug-file endef # import-binary-plug-file
# Import classes command # Import classes command
...@@ -184,7 +184,7 @@ PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME) ...@@ -184,7 +184,7 @@ PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME)
define export-binary-plug-file define export-binary-plug-file
@$(ECHO) "PLUG EXPORT: $(@F)" @$(ECHO) "PLUG EXPORT: $(@F)"
$(install-file) $(install-non-module-file)
endef # export-binary-plug-file endef # export-binary-plug-file
# OpenJDK Binary Plug License # OpenJDK Binary Plug License
......
...@@ -139,7 +139,7 @@ STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%) ...@@ -139,7 +139,7 @@ STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%)
STRIP_PROP_options=$(TEMPDIR)/strip_prop_options STRIP_PROP_options=$(TEMPDIR)/strip_prop_options
define install-properties-file define install-properties-file
$(install-file) $(install-file)
$(CHMOD) a+rw $@ $(call chmod-file, a+rw)
@$(ECHO) "# Adding to strip properties list: $@" @$(ECHO) "# Adding to strip properties list: $@"
$(ECHO) "$@" >> $(STRIP_PROP_options) $(ECHO) "$@" >> $(STRIP_PROP_options)
endef endef
......
...@@ -1117,7 +1117,7 @@ TMP_SDK_INCLUDE_GET_FULL_VERSION= $(TMP_SDK_INCLUDE_FIND_VERSION) | \ ...@@ -1117,7 +1117,7 @@ TMP_SDK_INCLUDE_GET_FULL_VERSION= $(TMP_SDK_INCLUDE_FIND_VERSION) | \
# be checked when this represents a full control build (i.e. the # be checked when this represents a full control build (i.e. the
# HOTSPOT_IMPORT_PATH includes these files in it's 'include' directory). # HOTSPOT_IMPORT_PATH includes these files in it's 'include' directory).
$(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
@$(install-file) @$(install-non-module-file)
@$(RM) $@.IMPORT @$(RM) $@.IMPORT
@if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(@F) ]; then \ @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(@F) ]; then \
$(CP) $(HOTSPOT_IMPORT_PATH)/include/$(@F) $@.IMPORT ; \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(@F) $@.IMPORT ; \
...@@ -1131,7 +1131,7 @@ $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h ...@@ -1131,7 +1131,7 @@ $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
fi fi
$(TEMPDIR)/%.h: $(PLATFORM_SRC)/javavm/export/%.h $(TEMPDIR)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
@$(install-file) @$(install-non-module-file)
@$(RM) $@.IMPORT @$(RM) $@.IMPORT
@if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) ]; then \ @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) ]; then \
$(CP) $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) $@.IMPORT ; \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) $@.IMPORT ; \
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = awt
PACKAGE = java.awt PACKAGE = java.awt
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
LIBRARY = fdlibm LIBRARY = fdlibm
PRODUCT = java PRODUCT = java
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
LIBRARY = hpi LIBRARY = hpi
PRODUCT = java PRODUCT = java
THREADDIR = native_threads THREADDIR = native_threads
......
...@@ -26,8 +26,9 @@ ...@@ -26,8 +26,9 @@
# #
# Makefile for Windows HPI DLL # Makefile for Windows HPI DLL
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
LIBRARY = hpi MODULE = base
LIBRARY = hpi
PRODUCT = java PRODUCT = java
THREADDIR = windows_threads THREADDIR = windows_threads
LIB_LOCATION = $(BINDIR) LIB_LOCATION = $(BINDIR)
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
# agent, supporting java.lang.instrument # agent, supporting java.lang.instrument
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = instrument
PACKAGE = sun.instrument PACKAGE = sun.instrument
LIBRARY = instrument LIBRARY = instrument
PRODUCT = sun PRODUCT = sun
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.lang PACKAGE = java.lang
LIBRARY = java LIBRARY = java
PRODUCT = java PRODUCT = java
...@@ -241,7 +242,7 @@ ifneq ($(PLATFORM),windows) ...@@ -241,7 +242,7 @@ ifneq ($(PLATFORM),windows)
$(GENSRCDIR)/java/lang/UNIXProcess.java: \ $(GENSRCDIR)/java/lang/UNIXProcess.java: \
$(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM) $(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM)
$(install-file) $(install-non-module-file)
clean:: clean::
$(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java $(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java
...@@ -285,7 +286,7 @@ TZMAPFILE = $(PLATFORM_SRC)/lib/tzmappings ...@@ -285,7 +286,7 @@ TZMAPFILE = $(PLATFORM_SRC)/lib/tzmappings
$(TZMAP): $(TZMAPFILE) $(TZMAP): $(TZMAPFILE)
$(install-file) $(install-file)
$(CHMOD) 444 $@ $(call chmod-file, 444)
endif endif
build: $(LIBDIR)/$(PROPS) $(LIBDIR)/$(CAL_PROPS) $(TZMAP) build: $(LIBDIR)/$(PROPS) $(LIBDIR)/$(CAL_PROPS) $(TZMAP)
...@@ -315,7 +316,8 @@ $(CURDATA): \ ...@@ -315,7 +316,8 @@ $(CURDATA): \
$(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \ $(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \
< $(SHARE_SRC)/classes/java/util/CurrencyData.properties < $(SHARE_SRC)/classes/java/util/CurrencyData.properties
$(MV) $@.temp $@ $(MV) $@.temp $@
$(CHMOD) 444 $@ $(install-module-file)
$(call chmod-file, 444)
clean:: clean::
$(RM) $(CURDATA) $(RM) $(CURDATA)
...@@ -369,7 +371,7 @@ $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \ ...@@ -369,7 +371,7 @@ $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \
-usecharforbyte 11 4 1 -usecharforbyte 11 4 1
$(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template $(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template
$(install-file) $(install-non-module-file)
clean:: clean::
$(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java $(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java
......
...@@ -150,10 +150,8 @@ SUNWprivate_1.1 { ...@@ -150,10 +150,8 @@ SUNWprivate_1.1 {
Java_java_lang_StrictMath_asin; Java_java_lang_StrictMath_asin;
Java_java_lang_StrictMath_atan; Java_java_lang_StrictMath_atan;
Java_java_lang_StrictMath_atan2; Java_java_lang_StrictMath_atan2;
Java_java_lang_StrictMath_ceil;
Java_java_lang_StrictMath_cos; Java_java_lang_StrictMath_cos;
Java_java_lang_StrictMath_exp; Java_java_lang_StrictMath_exp;
Java_java_lang_StrictMath_floor;
Java_java_lang_StrictMath_log; Java_java_lang_StrictMath_log;
Java_java_lang_StrictMath_log10; Java_java_lang_StrictMath_log10;
Java_java_lang_StrictMath_pow; Java_java_lang_StrictMath_pow;
......
...@@ -107,4 +107,3 @@ text: .text%Java_java_lang_Class_isInstance; ...@@ -107,4 +107,3 @@ text: .text%Java_java_lang_Class_isInstance;
text: .text%Java_java_util_TimeZone_getSystemTimeZoneID; text: .text%Java_java_util_TimeZone_getSystemTimeZoneID;
text: .text%findJavaTZ_md; text: .text%findJavaTZ_md;
text: .text%Java_java_lang_StrictMath_log; text: .text%Java_java_lang_StrictMath_log;
text: .text%Java_java_lang_StrictMath_floor;
...@@ -105,4 +105,3 @@ text: .text%Java_java_util_TimeZone_getSystemTimeZoneID; ...@@ -105,4 +105,3 @@ text: .text%Java_java_util_TimeZone_getSystemTimeZoneID;
text: .text%findJavaTZ_md; text: .text%findJavaTZ_md;
text: .text%Java_java_lang_StrictMath_log; text: .text%Java_java_lang_StrictMath_log;
text: .text%Java_java_lang_StrictMath_sqrt; text: .text%Java_java_lang_StrictMath_sqrt;
text: .text%Java_java_lang_StrictMath_floor;
...@@ -101,4 +101,3 @@ text: .text%Java_java_util_TimeZone_getSystemTimeZoneID; ...@@ -101,4 +101,3 @@ text: .text%Java_java_util_TimeZone_getSystemTimeZoneID;
text: .text%findJavaTZ_md; text: .text%findJavaTZ_md;
text: .text%Java_java_lang_StrictMath_log; text: .text%Java_java_lang_StrictMath_log;
text: .text%Java_java_lang_StrictMath_sqrt; text: .text%Java_java_lang_StrictMath_sqrt;
text: .text%Java_java_lang_StrictMath_floor;
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
LIBRARY = java_crw_demo LIBRARY = java_crw_demo
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = java_crw_demo LIBRARY_OUTPUT = java_crw_demo
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = instrument
LIBRARY = hprof LIBRARY = hprof
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = hprof_jvmti LIBRARY_OUTPUT = hprof_jvmti
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
# its manifestations (java, javaw, javac, ...). # its manifestations (java, javaw, javac, ...).
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
LIBRARY = jli LIBRARY = jli
PRODUCT = java PRODUCT = java
...@@ -152,7 +153,6 @@ STATIC_LIBRARY_NAME = $(LIBPREFIX)$(LIBRARY).lib ...@@ -152,7 +153,6 @@ STATIC_LIBRARY_NAME = $(LIBPREFIX)$(LIBRARY).lib
STATIC_LIBRARY = $(STATIC_LIBRARY_DIR)/$(STATIC_LIBRARY_NAME) STATIC_LIBRARY = $(STATIC_LIBRARY_DIR)/$(STATIC_LIBRARY_NAME)
$(STATIC_LIBRARY_DIR): $(OBJDIR) $(STATIC_LIBRARY_DIR): $(OBJDIR)
@$(prep-target)
@$(MKDIR) $(STATIC_LIBRARY_DIR) @$(MKDIR) $(STATIC_LIBRARY_DIR)
$(STATIC_LIBRARY): $(STATIC_LIBRARY_DIR) $(STATIC_LIBRARY): $(STATIC_LIBRARY_DIR)
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
# #
...@@ -36,15 +38,29 @@ FILES_h = $(INCLUDEDIR)/jni.h \ ...@@ -36,15 +38,29 @@ FILES_h = $(INCLUDEDIR)/jni.h \
$(INCLUDEDIR)/classfile_constants.h $(INCLUDEDIR)/classfile_constants.h
$(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h $(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
$(install-file) $(install-non-module-file)
$(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h $(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
$(install-non-module-file)
JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg
#
# How to install jvm.cfg.
#
ifeq ($(ZERO_BUILD), true)
JVMCFG_ARCH = zero
else
JVMCFG_ARCH = $(ARCH)
endif
$(JVMCFG): $(PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg
$(install-file) $(install-file)
all: build all: build
build: $(FILES_h) build: $(FILES_h) $(JVMCFG)
clean clobber:: clean clobber::
$(RM) $(FILES_h) $(RM) $(FILES_h) $(JVMCFG)
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = logging
PACKAGE = java.util.logging PACKAGE = java.util.logging
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
PROGRAM = java PROGRAM = java
PRODUCT = java PRODUCT = java
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
PROGRAM = javaw PROGRAM = javaw
PRODUCT = java PRODUCT = java
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = management
PACKAGE = java.lang.management PACKAGE = java.lang.management
LIBRARY = management LIBRARY = management
PRODUCT = java PRODUCT = java
...@@ -99,7 +100,7 @@ $(AGENTJAR): $(LIBDIR) $(TEMPDIR)/manifest ...@@ -99,7 +100,7 @@ $(AGENTJAR): $(LIBDIR) $(TEMPDIR)/manifest
@$(java-vm-cleanup) @$(java-vm-cleanup)
$(TEMPDIR)/manifest: $(MANIFEST) $(TEMPDIR)/manifest: $(MANIFEST)
$(install-file) $(install-manifest-file)
build: $(AGENTJAR) build: $(AGENTJAR)
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.net PACKAGE = java.net
LIBRARY = net LIBRARY = net
PRODUCT = sun PRODUCT = sun
...@@ -111,8 +112,7 @@ LOCALE_SET_DEFINITION = jre ...@@ -111,8 +112,7 @@ LOCALE_SET_DEFINITION = jre
MISC_FILES = $(LIBDIR) $(LIBDIR)/net.properties MISC_FILES = $(LIBDIR) $(LIBDIR)/net.properties
$(LIBDIR)/net.properties: $(SHARE_SRC)/lib/net.properties $(LIBDIR)/net.properties: $(SHARE_SRC)/lib/net.properties
@$(RM) $@ $(install-file)
$(CP) $< $@
# #
# SDP configuration template # SDP configuration template
......
...@@ -234,6 +234,7 @@ FILES_src = \ ...@@ -234,6 +234,7 @@ FILES_src = \
sun/nio/cs/UTF_16BE.java \ sun/nio/cs/UTF_16BE.java \
sun/nio/cs/UTF_16LE.java \ sun/nio/cs/UTF_16LE.java \
sun/nio/cs/UTF_8.java \ sun/nio/cs/UTF_8.java \
sun/nio/cs/Unicode.java \
sun/nio/cs/UnicodeDecoder.java \ sun/nio/cs/UnicodeDecoder.java \
sun/nio/cs/UnicodeEncoder.java \ sun/nio/cs/UnicodeEncoder.java \
sun/nio/cs/UTF_32.java \ sun/nio/cs/UTF_32.java \
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = nio
PACKAGE = java.nio PACKAGE = java.nio
LIBRARY = nio LIBRARY = nio
PRODUCT = java PRODUCT = java
...@@ -816,7 +817,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \ ...@@ -816,7 +817,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \
$(NAWK) '/^.*Copyright.*Sun/ { print $$3 }') $(NAWK) '/^.*Copyright.*Sun/ { print $$3 }')
$(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC) $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC)
$(install-file) $(install-non-module-file)
$(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC) $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
$(prep-target) $(prep-target)
......
...@@ -44,6 +44,7 @@ rwkey=XX ...@@ -44,6 +44,7 @@ rwkey=XX
case $type in case $type in
char) fulltype=character;; char) fulltype=character;;
int) fulltype=integer;;
*) fulltype=$type;; *) fulltype=$type;;
esac esac
...@@ -54,6 +55,11 @@ case $type in ...@@ -54,6 +55,11 @@ case $type in
long | double) LBPV=3;; long | double) LBPV=3;;
esac esac
case $type in
float|double) floatingPointOrIntegralType=floatingPointType;;
*) floatingPointOrIntegralType=integralType;;
esac
typesAndBits() { typesAndBits() {
type="$1"; BO="$2" type="$1"; BO="$2"
...@@ -101,6 +107,7 @@ set -e ...@@ -101,6 +107,7 @@ set -e
$SPP <$SRC >$DST \ $SPP <$SRC >$DST \
-K$type \ -K$type \
-K$floatingPointOrIntegralType \
-Dtype=$type \ -Dtype=$type \
-DType=$Type \ -DType=$Type \
-Dfulltype=$fulltype \ -Dfulltype=$fulltype \
......
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
# It's currently used by jpda and hprof. Put it in base module for now.
MODULE = base
LIBRARY = npt LIBRARY = npt
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = npt LIBRARY_OUTPUT = npt
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -61,7 +62,11 @@ CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing ...@@ -61,7 +62,11 @@ CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing
# Needed to do file copy # Needed to do file copy
ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR)) ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR))
all: build SUBDIRS = fonts sajdi
all clean clobber::
$(SUBDIRS-loop)
all:: build
# List of files created here or coming from BUILDDIR area (this workspace) # List of files created here or coming from BUILDDIR area (this workspace)
INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
...@@ -70,30 +75,6 @@ INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist ...@@ -70,30 +75,6 @@ INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \ IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \
$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
# INCLUDE_SA is false on platforms where SA is not supported.
# On platforms where it is supported, we want to allow it to
# not be present, at least temporarily. So,
# if the SA files (well, just sa-jdi.jar) do not exist
# in the HOTSPOT_IMPORT_PATH, then we won't build SA.
SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \
$(ECHO) true; \
else \
$(ECHO) false; \
fi)
ifeq ($(SA_EXISTS), false)
INCLUDE_SA := false
endif
ifeq ($(INCLUDE_SA), true)
IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
$(LIB_LOCATION)/$(SALIB_NAME)
ifeq ($(PLATFORM), windows)
IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
$(LIB_LOCATION)/$(SAPDB_NAME)
endif
endif # INCLUDE_SA
# Hotspot client is only available on 32-bit non-Zero builds # Hotspot client is only available on 32-bit non-Zero builds
ifneq ($(ZERO_BUILD), true) ifneq ($(ZERO_BUILD), true)
ifeq ($(ARCH_DATA_MODEL), 32) ifeq ($(ARCH_DATA_MODEL), 32)
...@@ -110,10 +91,10 @@ IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%) ...@@ -110,10 +91,10 @@ IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%)
# NOTE: These might actually come from BUILDDIR, depends on the settings. # NOTE: These might actually come from BUILDDIR, depends on the settings.
$(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll $(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll
$(install-import-file) $(install-import-file)
$(CHMOD) a+x $@ $(call chmod-file, a+x)
$(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL) $(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)
$(install-import-file) $(install-import-file)
$(CHMOD) a+x $@ $(call chmod-file, a+x)
# Get the hotspot .map and .pdb files for client and server # Get the hotspot .map and .pdb files for client and server
IMPORT_LIST += \ IMPORT_LIST += \
...@@ -140,26 +121,32 @@ $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME) ...@@ -140,26 +121,32 @@ $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
# Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows # Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows
else # PLATFORM else # PLATFORM
...@@ -220,7 +207,7 @@ $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJ ...@@ -220,7 +207,7 @@ $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJ
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \ $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME): $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
@$(prep-target) @$(prep-target)
$(LN) -s ../$(LIBJSIG_NAME) $@ $(call install-sym-link, ../$(LIBJSIG_NAME))
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME) $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
$(install-import-file) $(install-import-file)
...@@ -246,28 +233,6 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.tx ...@@ -246,28 +233,6 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.tx
$(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt $(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt
$(install-file) $(install-file)
ifeq ($(INCLUDE_SA), true)
# The Serviceability Agent is built in the Hotspot workspace.
# It contains two files:
# - sa-jdi.jar: This goes into the same dir as tools.jar.
# - a shared library: sawindbg.dll on windows / libproc.sa on unix
# This goes into the same dir as the other
# shared libs, eg. libjdwp.so.
$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
$(install-import-file)
$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
$(install-import-file)
ifeq ($(PLATFORM), windows)
$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
$(install-import-file)
$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
$(install-import-file)
endif # windows
endif # INCLUDE_SA
# #
# Specific to OpenJDK building # Specific to OpenJDK building
# #
...@@ -288,7 +253,7 @@ INTERNAL_IMPORT_LIST += \ ...@@ -288,7 +253,7 @@ INTERNAL_IMPORT_LIST += \
$(LIBDIR)/jce.jar: \ $(LIBDIR)/jce.jar: \
$(BUILDDIR)/closed/tools/crypto/jce/jce.jar $(BUILDDIR)/closed/tools/crypto/jce/jce.jar
$(install-file) $(install-non-module-file)
$(LIBDIR)/security/US_export_policy.jar: \ $(LIBDIR)/security/US_export_policy.jar: \
$(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar
$(install-file) $(install-file)
...@@ -310,46 +275,6 @@ $(LIBDIR)/classlist: \ ...@@ -310,46 +275,6 @@ $(LIBDIR)/classlist: \
$(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp
$(MV) $@.temp $@ $(MV) $@.temp $@
ifndef OPENJDK
# Lucida font files are not included in the OpenJDK distribution.
# Get names of font files
include FILES.gmk
# Copy font files into OUTPUTDIR area
FONTFILES = $(SHARED_FONTFILES)
FONTSDIR = $(LIBDIR)/fonts
FONTSDIRFILE = $(FONTSDIR)/fonts.dir
INTERNAL_IMPORT_LIST += $(FONTFILES)
ifneq ($(PLATFORM), windows)
INTERNAL_IMPORT_LIST += $(FONTSDIRFILE)
endif
$(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/%.ttf
$(install-file)
$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir
$(install-file)
ifeq ($(PLATFORM), linux)
# The oblique fonts are only needed/wanted on Linux.
OBLFONTSDIR = $(LIBDIR)/oblique-fonts
OBLFONTSDIRFILE = $(OBLFONTSDIR)/fonts.dir
INTERNAL_IMPORT_LIST += $(OBLIQUE_FONTFILES) $(OBLFONTSDIRFILE)
$(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/oblique/%.ttf
$(install-file)
$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir
$(install-file)
endif # linux
endif # !OPENJDK
# Import internal files (ones that are stashed in this source tree) # Import internal files (ones that are stashed in this source tree)
import_internal_files : $(INTERNAL_IMPORT_LIST) import_internal_files : $(INTERNAL_IMPORT_LIST)
......
# #
# Copyright 1998-2003 Sun Microsystems, Inc. All Rights Reserved. # Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -23,6 +23,12 @@ ...@@ -23,6 +23,12 @@
# have any questions. # have any questions.
# #
BUILDDIR = ../../..
MODULE = font
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
# #
# List of lucida font files that we redistribute. # List of lucida font files that we redistribute.
# #
...@@ -54,3 +60,52 @@ OBLIQUE_FONTFILES = \ ...@@ -54,3 +60,52 @@ OBLIQUE_FONTFILES = \
$(LIBDIR)/oblique-fonts/LucidaSansDemiOblique.ttf \ $(LIBDIR)/oblique-fonts/LucidaSansDemiOblique.ttf \
endif endif
ifndef OPENJDK
# Lucida font files are not included in the OpenJDK distribution.
# Get names of font files
# Copy font files into OUTPUTDIR area
FONTFILES = $(SHARED_FONTFILES)
FONTSDIR = $(LIBDIR)/fonts
FONTSDIRFILE = $(FONTSDIR)/fonts.dir
INTERNAL_IMPORT_LIST = $(FONTFILES)
ifneq ($(PLATFORM), windows)
INTERNAL_IMPORT_LIST += $(FONTSDIRFILE)
endif
$(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/%.ttf
$(install-file)
$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir
$(install-file)
ifeq ($(PLATFORM), linux)
# The oblique fonts are only needed/wanted on Linux.
OBLFONTSDIR = $(LIBDIR)/oblique-fonts
OBLFONTSDIRFILE = $(OBLFONTSDIR)/fonts.dir
INTERNAL_IMPORT_LIST += $(OBLIQUE_FONTFILES) $(OBLFONTSDIRFILE)
$(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/oblique/%.ttf
$(install-file)
$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir
$(install-file)
endif # linux
all build : $(INTERNAL_IMPORT_LIST)
clean clobber::
$(RM) $(INTERNAL_IMPORT_LIST)
else
all build clean clobber :
endif # !OPENJDK
#
# Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
BUILDDIR = ../../..
MODULE = sajdi
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
ifeq ($(PLATFORM), windows)
LIB_LOCATION = $(BINDIR)
else
LIB_LOCATION = $(LIBDIR)/$(LIBARCH)
endif
# INCLUDE_SA is false on platforms where SA is not supported.
# On platforms where it is supported, we want to allow it to
# not be present, at least temporarily. So,
# if the SA files (well, just sa-jdi.jar) do not exist
# in the HOTSPOT_IMPORT_PATH, then we won't build SA.
SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \
$(ECHO) true; \
else \
$(ECHO) false; \
fi)
ifeq ($(SA_EXISTS), false)
INCLUDE_SA := false
endif
IMPORT_LIST =
ifeq ($(INCLUDE_SA), true)
IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \
$(LIB_LOCATION)/$(SALIB_NAME)
ifeq ($(PLATFORM), windows)
IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \
$(LIB_LOCATION)/$(SAPDB_NAME)
endif
endif # INCLUDE_SA
ifeq ($(INCLUDE_SA), true)
# The Serviceability Agent is built in the Hotspot workspace.
# It contains two files:
# - sa-jdi.jar: This goes into the same dir as tools.jar.
# - a shared library: sawindbg.dll on windows / libproc.sa on unix
# This goes into the same dir as the other
# shared libs, eg. libjdwp.so.
$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar
$(install-importonly-file)
$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME)
$(install-import-file)
ifeq ($(PLATFORM), windows)
$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
$(install-import-file)
$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
$(install-import-file)
endif # windows
endif # INCLUDE_SA
all: $(IMPORT_LIST)
clean clobber::
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.security PACKAGE = java.security
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -38,11 +39,9 @@ AUTO_FILES_JAVA_DIRS = java/security ...@@ -38,11 +39,9 @@ AUTO_FILES_JAVA_DIRS = java/security
# #
PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security
SUNPKCS11 =
ifeq ($(PLATFORM), solaris) ifeq ($(PLATFORM), solaris)
PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-solaris PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-solaris
SUNPKCS11 = sunpkcs11
else # PLATFORM else # PLATFORM
...@@ -57,9 +56,6 @@ endif # PLATFORM ...@@ -57,9 +56,6 @@ endif # PLATFORM
PROPS_BUILD = $(LIBDIR)/security/java.security PROPS_BUILD = $(LIBDIR)/security/java.security
SUNPKCS11_SRC = $(TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
SUNPKCS11_BUILD = $(LIBDIR)/security/sunpkcs11-solaris.cfg
POLICY_SRC = $(TOPDIR)/src/share/lib/security/java.policy POLICY_SRC = $(TOPDIR)/src/share/lib/security/java.policy
POLICY_BUILD = $(LIBDIR)/security/java.policy POLICY_BUILD = $(LIBDIR)/security/java.policy
...@@ -73,14 +69,12 @@ FILES_class = $(FILES_java:%.java=$(CLASSBINDIR)/%.class) ...@@ -73,14 +69,12 @@ FILES_class = $(FILES_java:%.java=$(CLASSBINDIR)/%.class)
# #
include $(BUILDDIR)/common/Rules.gmk include $(BUILDDIR)/common/Rules.gmk
build: properties $(SUNPKCS11) policy cacerts build: properties policy cacerts
install: all install: all
properties: classes $(PROPS_BUILD) properties: classes $(PROPS_BUILD)
sunpkcs11: classes $(SUNPKCS11_BUILD)
policy: classes $(POLICY_BUILD) policy: classes $(POLICY_BUILD)
cacerts: classes $(CACERTS_BUILD) cacerts: classes $(CACERTS_BUILD)
...@@ -88,9 +82,6 @@ cacerts: classes $(CACERTS_BUILD) ...@@ -88,9 +82,6 @@ cacerts: classes $(CACERTS_BUILD)
$(PROPS_BUILD): $(PROPS_SRC) $(PROPS_BUILD): $(PROPS_SRC)
$(install-file) $(install-file)
$(SUNPKCS11_BUILD): $(SUNPKCS11_SRC)
$(install-file)
$(POLICY_BUILD): $(POLICY_SRC) $(POLICY_BUILD): $(POLICY_SRC)
$(install-file) $(install-file)
...@@ -99,7 +90,7 @@ $(CACERTS_BUILD): $(CACERTS_SRC) ...@@ -99,7 +90,7 @@ $(CACERTS_BUILD): $(CACERTS_SRC)
clean clobber:: .delete.classlist clean clobber:: .delete.classlist
$(RM) -r $(CLASSBINDIR)/java/security $(RM) -r $(CLASSBINDIR)/java/security
$(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD) $(SUNPKCS11_BUILD) $(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD)
# Additional Rule for building sun.security.util # Additional Rule for building sun.security.util
$(CLASSBINDIR)/%.class: $(SHARE_SRC)/sun/%.java $(CLASSBINDIR)/%.class: $(SHARE_SRC)/sun/%.java
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdbc-base
PACKAGE = java.sql PACKAGE = java.sql
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.text PACKAGE = java.text
PRODUCT = sun PRODUCT = sun
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PRODUCT = java PRODUCT = java
LIBRARY = verify LIBRARY = verify
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.util.zip PACKAGE = java.util.zip
LIBRARY = zip LIBRARY = zip
PRODUCT = sun PRODUCT = sun
......
...@@ -108,6 +108,7 @@ ...@@ -108,6 +108,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = javax.crypto PACKAGE = javax.crypto
PRODUCT = sun PRODUCT = sun
...@@ -293,7 +294,7 @@ limited: \ ...@@ -293,7 +294,7 @@ limited: \
$(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar: \ $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar: \
$(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
$(install-file) $(install-non-module-file)
$(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \ $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \
policy/limited/default_local.policy \ policy/limited/default_local.policy \
...@@ -414,7 +415,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar ...@@ -414,7 +415,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar
else else
$(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar $(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar
endif endif
$(install-file) $(install-non-module-file)
# #
# Install the appropriate policy file, depending on the type of build. # Install the appropriate policy file, depending on the type of build.
...@@ -425,7 +426,7 @@ else ...@@ -425,7 +426,7 @@ else
INSTALL_POLICYDIR = $(SIGNED_POLICY_BUILDDIR) INSTALL_POLICYDIR = $(SIGNED_POLICY_BUILDDIR)
endif endif
install-limited: \ install-limited-jars: \
$(INSTALL_POLICYDIR)/limited/US_export_policy.jar \ $(INSTALL_POLICYDIR)/limited/US_export_policy.jar \
$(INSTALL_POLICYDIR)/limited/local_policy.jar $(INSTALL_POLICYDIR)/limited/local_policy.jar
$(MKDIR) -p $(POLICY_DESTDIR) $(MKDIR) -p $(POLICY_DESTDIR)
...@@ -433,24 +434,28 @@ install-limited: \ ...@@ -433,24 +434,28 @@ install-limited: \
$(POLICY_DESTDIR)/US_export_policy.jar \ $(POLICY_DESTDIR)/US_export_policy.jar \
$(POLICY_DESTDIR)/local_policy.jar $(POLICY_DESTDIR)/local_policy.jar
$(CP) $^ $(POLICY_DESTDIR) $(CP) $^ $(POLICY_DESTDIR)
install-limited: install-limited-jars install-module-files
ifndef OPENJDK ifndef OPENJDK
$(release-warning) $(release-warning)
endif endif
install-unlimited: \ install-unlimited-jars: \
$(INSTALL_POLICYDIR)/unlimited/US_export_policy.jar \ $(INSTALL_POLICYDIR)/unlimited/US_export_policy.jar \
$(INSTALL_POLICYDIR)/unlimited/local_policy.jar $(INSTALL_POLICYDIR)/unlimited/local_policy.jar
$(MKDIR) -p $(POLICY_DESTDIR) $(MKDIR) -p $(POLICY_DESTDIR)
$(RM) \ $(RM) \
$(POLICY_DESTDIR)/US_export_policy.jar \ $(POLICY_DESTDIR)/US_export_policy.jar \
$(POLICY_DESTDIR)/local_policy.jar $(POLICY_DESTDIR)/local_policy.jar
$(CP) $^ $(POLICY_DESTDIR) $(CP) $^ $(POLICY_DESTDIR)
install-unlimited: install-unlimited-jars install-module-files
ifndef OPENJDK ifndef OPENJDK
$(release-warning) $(release-warning)
endif endif
ifndef OPENJDK ifndef OPENJDK
install-prebuilt: install-prebuilt-jars:
@$(ECHO) "\n>>>Installing prebuilt JCE framework..." @$(ECHO) "\n>>>Installing prebuilt JCE framework..."
$(RM) $(JAR_DESTFILE) \ $(RM) $(JAR_DESTFILE) \
$(POLICY_DESTDIR)/US_export_policy.jar \ $(POLICY_DESTDIR)/US_export_policy.jar \
...@@ -460,8 +465,16 @@ install-prebuilt: ...@@ -460,8 +465,16 @@ install-prebuilt:
$(PREBUILT_DIR)/jce/US_export_policy.jar \ $(PREBUILT_DIR)/jce/US_export_policy.jar \
$(PREBUILT_DIR)/jce/local_policy.jar \ $(PREBUILT_DIR)/jce/local_policy.jar \
$(POLICY_DESTDIR) $(POLICY_DESTDIR)
install-prebuilt: install-prebuilt-jars install-module-files
endif endif
install-module-files: \
$(POLICY_DESTDIR)/US_export_policy.jar \
$(POLICY_DESTDIR)/local_policy.jar
$(POLICY_DESTDIR)/%.jar :
$(install-module-file)
# ===================================================== # =====================================================
# Support routines. # Support routines.
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = imageio
PACKAGE = javax.imageio PACKAGE = javax.imageio
PRODUCT = jiio PRODUCT = jiio
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = print
PACKAGE = javax.print PACKAGE = javax.print
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
# WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk # WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsound LIBRARY = jsound
PRODUCT = sun PRODUCT = sun
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsoundalsa LIBRARY = jsoundalsa
PRODUCT = sun PRODUCT = sun
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsoundds LIBRARY = jsoundds
PRODUCT = sun PRODUCT = sun
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdbc-enterprise
PACKAGE = javax.sql PACKAGE = javax.sql
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = swing
PACKAGE = javax.swing PACKAGE = javax.swing
PRODUCT = com PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = swing
PACKAGE = javax.swing.plaf PACKAGE = javax.swing.plaf
PRODUCT = com PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = debugging
LIBRARY = jdwp LIBRARY = jdwp
PRODUCT = jpda PRODUCT = jpda
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = debugging
PRODUCT = jpda PRODUCT = jpda
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_shmem LIBRARY = dt_shmem
PRODUCT = jbug PRODUCT = jbug
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_socket LIBRARY = dt_socket
PRODUCT = jbug PRODUCT = jbug
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdb
PACKAGE = com.sun.tools.example.debug.tty PACKAGE = com.sun.tools.example.debug.tty
PRODUCT = jpda PRODUCT = jpda
PROGRAM = jdb PROGRAM = jdb
......
...@@ -28,33 +28,23 @@ ...@@ -28,33 +28,23 @@
# #
BUILDDIR = .. BUILDDIR = ..
MODULE = tools
PACKAGE = launchers PACKAGE = launchers
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
# Run MAKE $@ for a launcher: # Run MAKE $@ for a launcher for the corba module:
# $(call make-launcher, name, mainclass, java-args, main-args) # $(call make-launcher, name, mainclass, java-args, main-args)
define make-launcher define make-corba-launcher
$(CD) $(BUILDDIR)/launchers && \
$(MAKE) -f Makefile.launcher \ $(MAKE) -f Makefile.launcher \
PROGRAM=$(strip $1) \ MODULE=corba \
MAIN_CLASS=$(strip $2) \ PROGRAM=$(strip $1) \
MAIN_JAVA_ARGS="$(strip $3)" \ MAIN_CLASS=$(strip $2) \
MAIN_ARGS="$(strip $4)" $@ MAIN_JAVA_ARGS="$(strip $3)" \
MAIN_ARGS="$(strip $4)"
endef endef
# Run MAKE $@ for all launchers
ifeq ($(PLATFORM),windows)
# Run MAKE $@ for all platform specific launchers
define make-platform-specific-launchers
$(call make-launcher, kinit, sun.security.krb5.internal.tools.Kinit, , )
$(call make-launcher, klist, sun.security.krb5.internal.tools.Klist, , )
$(call make-launcher, ktab, sun.security.krb5.internal.tools.Ktab, , )
endef
else
# Run MAKE $@ for all platform specific launchers
define make-platform-specific-launchers
endef
endif
# Run MAKE $@ for all generic launchers # Run MAKE $@ for all generic launchers
define make-all-launchers define make-all-launchers
$(call make-launcher, appletviewer, sun.applet.Main, , ) $(call make-launcher, appletviewer, sun.applet.Main, , )
...@@ -85,36 +75,29 @@ $(call make-launcher, jstack, sun.tools.jstack.JStack, \ ...@@ -85,36 +75,29 @@ $(call make-launcher, jstack, sun.tools.jstack.JStack, \
-J-Dsun.jvm.hotspot.debugger.useWindbgDebugger, ) -J-Dsun.jvm.hotspot.debugger.useWindbgDebugger, )
$(call make-launcher, jstat, sun.tools.jstat.Jstat, , ) $(call make-launcher, jstat, sun.tools.jstat.Jstat, , )
$(call make-launcher, jstatd, sun.tools.jstatd.Jstatd, , ) $(call make-launcher, jstatd, sun.tools.jstatd.Jstatd, , )
$(call make-launcher, keytool, sun.security.tools.KeyTool, , )
$(call make-launcher, native2ascii, sun.tools.native2ascii.Main, , ) $(call make-launcher, native2ascii, sun.tools.native2ascii.Main, , )
$(call make-launcher, orbd, com.sun.corba.se.impl.activation.ORBD, \
-J-Dcom.sun.CORBA.activation.DbDir=./orb.db \
-J-Dcom.sun.CORBA.activation.Port=1049 \
-J-Dcom.sun.CORBA.POA.ORBServerId=1, )
$(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack)
$(call make-launcher, policytool, sun.security.tools.PolicyTool, , )
$(call make-launcher, rmic, sun.rmi.rmic.Main, , ) $(call make-launcher, rmic, sun.rmi.rmic.Main, , )
$(call make-launcher, rmid, sun.rmi.server.Activation, , )
$(call make-launcher, rmiregistry, sun.rmi.registry.RegistryImpl, , )
$(call make-launcher, schemagen, com.sun.tools.internal.jxc.SchemaGenerator, , ) $(call make-launcher, schemagen, com.sun.tools.internal.jxc.SchemaGenerator, , )
$(call make-launcher, serialver, sun.tools.serialver.SerialVer, , ) $(call make-launcher, serialver, sun.tools.serialver.SerialVer, , )
$(call make-launcher, servertool, com.sun.corba.se.impl.activation.ServerTool, , ) $(call make-launcher, xjc, com.sun.tools.internal.xjc.Driver, , )
$(call make-launcher, tnameserv, com.sun.corba.se.impl.naming.cosnaming.TransientNameServer, \ $(call make-launcher, wsgen, com.sun.tools.internal.ws.WsGen, , )
$(call make-launcher, wsimport, com.sun.tools.internal.ws.WsImport, , )
$(call make-corba-launcher, orbd, com.sun.corba.se.impl.activation.ORBD, \
-J-Dcom.sun.CORBA.activation.DbDir=./orb.db \
-J-Dcom.sun.CORBA.activation.Port=1049 \
-J-Dcom.sun.CORBA.POA.ORBServerId=1, )
$(call make-corba-launcher, servertool, com.sun.corba.se.impl.activation.ServerTool, , )
$(call make-corba-launcher, tnameserv, com.sun.corba.se.impl.naming.cosnaming.TransientNameServer, \
-J-Dcom.sun.CORBA.activation.DbDir=./orb.db \ -J-Dcom.sun.CORBA.activation.DbDir=./orb.db \
-J-Djava.util.logging.LoggingPermission=contol \ -J-Djava.util.logging.LoggingPermission=contol \
-J-Dcom.sun.CORBA.POA.ORBServerId=1, ) -J-Dcom.sun.CORBA.POA.ORBServerId=1, )
$(call make-launcher, wsgen, com.sun.tools.internal.ws.WsGen, , )
$(call make-launcher, wsimport, com.sun.tools.internal.ws.WsImport, , )
$(call make-launcher, xjc, com.sun.tools.internal.xjc.Driver, , )
endef endef
build: build:
$(make-all-launchers) $(make-all-launchers)
$(make-platform-specific-launchers)
clean clobber:: clean clobber::
$(make-all-launchers) $(make-all-launchers)
$(make-platform-specific-launchers)
include $(BUILDDIR)/common/Rules.gmk include $(BUILDDIR)/common/Rules.gmk
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
PRODUCT = demos PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
PRODUCT = demos PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
BUILDDIR = ..
include $(BUILDDIR)/common/Defs.gmk
#
# Modularizing the JDK
# - Post jdk build process until the source tree is restructured
# for modules build
# - <outputdir>/modules/<module> will be created for each module.
#
# Steps:
# 0. During jdk build before this makefile is invoked, classes,
# resource files, and other non-class files such as native libraries,
# properties file, images, etc are created.
#
# Non-class files are copied to <outputdir>/tmp/modules/<MODULE>
# directory in this step to prepare for the post-build modularization.
#
# The MODULE variable defined in other makefiles specifies
# the lowest-level module that the non-class files belong to.
# The name might or might not be the same as the name of the modules
# in the resulting <outputdir>/modules directory.
#
# 1. Unpack all jars in the <builddir>/lib directory to a temporary
# location (<outputdir>/tmp/modules/classes) to prepare for modules
# creation.
#
# 2. Run ClassAnalyzer tool to analyze all jdk classes and generate
# class list for all modules and also perform dependency analysis.
#
# Input configuration files :-
#
# modules.config : defines the low-level modules and specifies
# what classes and resource files each module includes.
# modules.group : defines the module groups and its members.
# jdk7.depconfig : lists the dynamic dependencies including
# use of reflection Class.forName and JNI FindClass and
# service provider.
# optional.depconfig : lists the optional dependencies
#
# 3. Create one directory for each module (<outputdir>/modules/<module>)
# based on the output files from (2).
#
# modules.list lists the modules to be created for the modules
# build and its members. For each module (m) in modules.list,
# a. create $m/lib/$m.jar with all classes and resource files
# listed in $m.classlist and $m.resources respectively.
# b. copy all non-class files from its members to
# <outputdir>/modules/$m.
MAINMANIFEST=$(JDK_TOPDIR)/make/tools/manifest.mf
MODULE_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp
TMP = $(ABS_MODULES_TEMPDIR)
MODULE_CLASSLIST = $(ABS_MODULES_TEMPDIR)/classlist
MODULE_CLASSES = $(ABS_MODULES_TEMPDIR)/classes
MODULES_LIST = $(MODULE_CLASSLIST)/modules.list
all:: unpack-jars gen-classlist modularize
JAR_LIST := $(shell $(FIND) $(ABS_OUTPUTDIR)/lib -name \*.jar -print)
unpack-jars:
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
$(RM) -rf $(MODULE_CLASSES)
$(MKDIR) -p $(MODULE_CLASSES)
$(CP) -rf $(CLASSBINDIR)/* $(MODULE_CLASSES)
@for jf in $(JAR_LIST) ; do \
$(CD) $(MODULE_CLASSES) && $(BOOT_JAR_CMD) xf $$jf $(BOOT_JAR_JFLAGS);\
done
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
gen-classlist:
$(CD) tools && $(MAKE) all
modularize: $(MODULE_JAR_MANIFEST_FILE)
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULES_DIR)
@# create jar file for modules and
@# copy other files from all members of this module
for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \
$(ECHO) "Creating module $$m" ; \
$(SED) -e 's%\\%\/%g' < $(MODULE_CLASSLIST)/$$m.classlist > $(TMP)/tmp.cf ; \
if [ -f $(MODULE_CLASSLIST)/$$m.resources ] ; then \
$(SED) -e 's%\\%\/%g' < $(MODULE_CLASSLIST)/$$m.resources >> $(TMP)/tmp.cf ; \
fi ; \
$(MKDIR) -p $(ABS_MODULES_DIR)/$$m/lib; \
$(CD) $(MODULE_CLASSES) && \
$(BOOT_JAR_CMD) c0mf $(MODULE_JAR_MANIFEST_FILE) \
$(ABS_MODULES_DIR)/$$m/lib/$$m.jar \
@$(TMP)/tmp.cf \
$(BOOT_JAR_JFLAGS); \
for s in `$(GREP) "^$$m" $(MODULES_LIST)` ; do \
if [ -d $(TMP)/$$s ] ; then \
$(CP) -rf $(TMP)/$$s/* $(ABS_MODULES_DIR)/$$m; \
$(RM) -rf $(ABS_MODULES_DIR)/$$m/classes; \
fi \
done \
done
@$(CD) $(MODULE_CLASSES) && $(java-vm-cleanup)
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
$(MODULE_JAR_MANIFEST_FILE):
$(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) > $@
clean clobber::
$(RM) -rf $(MODULE_CLASSLIST)
$(RM) -rf $(MODULES_DIR)
$(RM) $(MODULE_JAR_MANIFEST_FILE)
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
#
# List of root classes/methods, each line of the following syntax:
# <class name>
# <method name> <signature>|*
# exclude <class>|<method>
# The boot module generated based on this rootset does not support
# - security permission check
# - non-standard charset
# - logging output
# - resource bundles
# including error output from the launcher
# VM preloaded classes
java.lang.Object
java.lang.String
java.lang.Class
java.lang.Cloneable
java.lang.ClassLoader
java.lang.System
java.lang.Throwable
java.lang.Error
java.lang.ThreadDeath
java.lang.Exception
java.lang.RuntimeException
java.security.ProtectionDomain
java.security.AccessControlContext
java.lang.ClassNotFoundException
java.lang.NoClassDefFoundError
java.lang.ClassCastException
java.lang.ArrayStoreException
java.lang.VirtualMachineError
java.lang.OutOfMemoryError
java.lang.StackOverflowError
java.lang.IllegalMonitorStateException
java.lang.ref.Reference
java.lang.ref.SoftReference
java.lang.ref.WeakReference
java.lang.ref.FinalReference
java.lang.ref.PhantomReference
java.lang.ref.Finalizer
java.lang.Runnable
java.lang.Thread
java.lang.ThreadGroup
java.util.Properties
java.lang.reflect.AccessibleObject
java.lang.reflect.Member
java.lang.reflect.Field
java.lang.reflect.Method
java.lang.reflect.Constructor
java.lang.reflect.Type
sun.reflect.MagicAccessorImpl
sun.reflect.MethodAccessorImpl
sun.reflect.ConstructorAccessorImpl
sun.reflect.DelegatingClassLoader
sun.reflect.ConstantPool
sun.reflect.UnsafeStaticFieldAccessorImpl
java.util.Vector
java.lang.StringBuffer
java.lang.StackTraceElement
java.nio.Buffer
java.lang.Boolean
java.lang.Character
java.lang.Float
java.lang.Double
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.NullPointerException
java.lang.ArithmeticException
java.lang.Compiler
# Root methods
java.lang.ClassLoader.getSystemClassLoader ()Ljava/lang/ClassLoader;
java.lang.System.initializeSystemClass ()V
sun.launcher.LauncherHelper.checkAndLoadMain (ZZLjava/lang/String;)Ljava/lang/Object;
# The tool doesn't automatically find superclasses and parse the method
# if overridden as it tries to reduce unnecessary classes being pulled in.
# The following forces the dependency to be included the result.
sun.net.www.protocol.file.Handler.<init> ()V
sun.net.www.protocol.jar.Handler.<init> ()V
sun.net.www.protocol.file.Handler.openConnection *
sun.net.www.protocol.jar.Handler.openConnection *
sun.misc.URLClassPath$JarLoader.<init> (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;)V
sun.misc.URLClassPath$FileLoader.<init> (Ljava/net/URL;)V
sun.misc.URLClassPath$FileLoader.getClassPath *
sun.misc.URLClassPath$FileLoader.getResource *
sun.misc.URLClassPath$JarLoader.getResource *
sun.misc.URLClassPath$JarLoader.getClassPath *
# permission collections
java.io.FilePermission.newPermissionCollection ()Ljava/security/PermissionCollection;
java.security.BasicPermission.newPermissionCollection ()Ljava/security/PermissionCollection;
# native
java.io.UnixFileSystem
java.io.UnixFileSystem.<init> ()V
java.io.UnixFileSystem.canonicalize *
java.io.Win32FileSystem
java.io.Win32FileSystem.<init> ()V
java.io.Win32FileSystem.canonicalize *
java.io.WinNTFileSystem
java.io.WinNTFileSystem.<init> ()V
java.io.WinNTFileSystem.canonicalize *
# missing
java.util.HashMap.<init> ()V
java.util.HashMap$EntrySet.iterator *
# Called from native GetStringPlatformChars (jni_util.c)
java.lang.String.getBytes *
# charset
sun.nio.cs.US_ASCII.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_8.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_8.newDecoder *
sun.nio.cs.UTF_16.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_16.newDecoder *
sun.nio.cs.UTF_32.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_32.newDecoder *
# hashcode
java.util.jar.Attributes$Name.hashCode *
# nio
sun.nio.ByteBuffered
sun.nio.ch.DirectBuffer
java.nio.DirectByteBuffer
java.nio.MappedByteBuffer
java.nio.DirectLongBufferU
# resource files
sun.launcher.resources.launcher
sun.misc.Launcher$AppClassLoader.getPermissions *
sun.misc.Launcher$AppClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$AppClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$ExtClassLoader.getPermissions *
sun.misc.Launcher$ExtClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$ExtClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
java.lang.ClassLoader.checkPackageAccess *
java.lang.ClassLoader.findClass *
java.lang.ClassLoader.defineClass *
java.net.URLClassLoader.getPermissions *
java.net.URLClassLoader.findClass *
java.net.URLClassLoader.defineClass *
java.security.SecureClassLoader.defineClass *
# need to parse superclasses <init>
java.security.SecureClassLoader.<init> ()V
exclude sun.security.provider.PolicyFile.<init>
exclude java.lang.ClassLoader.compareCerts
exclude java.security.cert.Certificate.equals
# unsigned jars - no verifier
exclude java.util.jar.JarFile.initializeVerifier
exclude java.util.jar.JarVerifier
exclude sun.security.util.SignatureFileVerifier.<init>
# what about other charset
exclude sun.misc.Service
exclude java.util.ServiceLoader
# exclude support for localized messages
exclude java.util.ResourceBundle.getBundle
exclude java.text.MessageFormat
exclude sun.util.logging.PlatformLogger$LoggerProxy.format *
# exclude nio and miscellaneous classes
exclude java.nio.channels.**
exclude sun.misc.FloatingDecimal
exclude sun.misc.FormattedFloatingDecimal
exclude sun.misc.FDBigInt
此差异已折叠。
此差异已折叠。
/*
* Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* Example:
* module jdbc {
* include jdbc-base, jdbc-enterprise, jdbc-odbc;
* }
*/
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
# public final java.nio.channels.SocketChannel getChannel()
@Optional
sun.security.ssl.BaseSSLSocketImpl -> java.nio.channels.SocketChannel
# public XMLDecoder(java.io.InputStream)
# public XMLDecoder(java.io.InputStream, java.lang.Object)
# public XMLDecoder(java.io.InputStream, java.lang.Object, java.beans.ExceptionListener)
# public XMLDecoder(java.io.InputStream, java.lang.Object, java.beans.ExceptionListener, java.lang.ClassLoader)
# public XMLDecoder(org.xml.sax.InputSource)
@Optional
java.beans.XMLDecoder -> com.sun.beans.decoder.DocumentHandler
java.beans.XMLDecoder -> org.xml.sax.InputSource
# public static org.xml.sax.helpers.DefaultHandler createHandler(java.lang.Object, java.beans.ExceptionListener, java.lang.ClassLoader)
@Optional
java.beans.XMLDecoder -> com.sun.beans.decoder.DocumentHandler
java.beans.XMLDecoder -> org.xml.sax.helpers.DefaultHandler
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.net.SocketInputStream -> java.nio.channels.FileChannel
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.net.SocketOutputStream -> java.nio.channels.FileChannel
# public Scanner(java.io.File)
# public Scanner(java.io.File, java.lang.String)
@Optional
java.util.Scanner -> java.nio.channels.ReadableByteChannel
java.util.Scanner -> java.nio.channels.Channels
# public Scanner(java.nio.file.FileRef)
# public Scanner(java.nio.file.FileRef, java.lang.String)
@Optional
java.util.Scanner -> java.nio.file.FileRef
java.util.Scanner -> java.nio.file.OpenOption
# public Scanner(java.nio.channels.ReadableByteChannel)
# public Scanner(java.nio.channels.ReadableByteChannel, java.lang.String)
@Optional
java.util.Scanner -> java.nio.channels.ReadableByteChannel
java.util.Scanner -> java.nio.channels.Channels
# private static void loadSnmpAgent(java.lang.String, java.util.Properties)
@Optional
sun.management.Agent -> sun.management.snmp.AdaptorBootstrap
# public void connect()
@Optional
sun.net.www.protocol.http.HttpURLConnection -> java.net.SecureCacheResponse
# private static sun.security.util.PermissionFactory<?> permissionFactory()
@Optional
sun.security.util.SecurityConstants$AWT -> sun.awt.AWTPermissionFactory
# sun.util.logging.LoggingSupport
@Optional
sun.util.logging.LoggingSupport -> java.util.logging.LoggingProxyImpl
# public java.nio.channels.DatagramChannel getChannel()
@Optional
java.net.DatagramSocket -> java.nio.channels.DatagramChannel
# public java.nio.channels.SocketChannel getChannel()
@Optional
java.net.Socket -> java.nio.channels.SocketChannel
# public java.nio.channels.ServerSocketChannel getChannel()
@Optional
java.net.ServerSocket -> java.nio.channels.ServerSocketChannel
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.io.RandomAccessFile -> java.nio.channels.FileChannel
java.io.RandomAccessFile -> sun.nio.ch.FileChannelImpl
# public static sun.nio.cs.StreamDecoder forDecoder(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.ReadableByteChannel
# private static java.nio.channels.FileChannel getChannel(java.io.FileInputStream)
# StreamDecoder(java.io.InputStream, java.lang.Object, java.nio.charset.CharsetDecoder)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.FileChannel
# StreamDecoder(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.ReadableByteChannel
# public static java.io.File createTemporaryFile(java.lang.String, java.lang.String, java.nio.file.attribute.FileAttribute<?>[])
@Optional
java.io.File -> java.io.TempFileHelper
java.io.File -> java.nio.file.attribute.FileAttribute
# public java.nio.file.Path toPath()
@Optional
java.io.File -> java.nio.file.Paths
java.io.File -> java.nio.file.Path
# public static sun.nio.cs.StreamEncoder forEncoder(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int)
# private StreamEncoder(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int)
@Optional
sun.nio.cs.StreamEncoder -> java.nio.channels.WritableByteChannel
# public java.nio.channels.FileChannel getChannel()
@Optional
java.io.FileOutputStream -> java.nio.channels.FileChannel
java.io.FileOutputStream -> sun.nio.ch.FileChannelImpl
# public java.nio.channels.FileChannel getChannel()
@Optional
java.io.FileInputStream -> java.nio.channels.FileChannel
java.io.FileInputStream -> sun.nio.ch.FileChannelImpl
# public void loadFromXML(java.io.InputStream)
# public void storeToXML(java.io.OutputStream, java.lang.String, java.lang.String)
@Optional
java.util.Properties -> java.util.XMLUtils
# public static java.nio.channels.Channel inheritedChannel()
@Optional
java.lang.System -> java.nio.channels.Channel
java.lang.System -> java.nio.channels.spi.SelectorProvider
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
#
# Makefile for building the classanalyzer tool
#
BUILDDIR = ../..
include $(BUILDDIR)/common/Defs.gmk
PKGDIR = com/sun/classanalyzer
BUILDTOOL_SOURCE_ROOT = src
BUILDTOOL_MAIN = $(PKGDIR)/ClassAnalyzer.java
BUILTTOOL_MAINCLASS = $(subst /,.,$(BUILDTOOL_MAIN:%.java=%))
BUILDTOOL_MAIN_SOURCE_FILE = $(BUILDTOOL_SOURCE_ROOT)/$(BUILDTOOL_MAIN)
BUILDTOOL_MANIFEST_FILE = $(BUILDTOOLCLASSDIR)/classanalyzer_manifest.mf
FILES_java := $(shell $(CD) $(BUILDTOOL_SOURCE_ROOT) \
&& $(FIND) $(PKGDIR) -type f -print)
FILES_class = $(FILES_java:%.java=$(BUILDTOOLCLASSDIR)/%.class)
CLASSANALYZER_JAR_FILE = $(BUILDTOOLJARDIR)/classanalyzer.jar
#
# ClassAnalyzer depends on the com.sun.tools.classfile API.
# The tool is compiled with the latest version of the classfile
# library in the langtools repo to make sure that synchronized
# change is made if the classfile API is changed.
#
# If langtools repo exists, build its own copy of the
# classfile library and use it for compile time and runtime.
# If not exist (the top level repo is not a forest), use
# the built jdk tools that imports tools.jar from the latest
# promoted build.
#
# If the classfile API is changed but not yet in a promoted build,
# the build might fail and the tool would need the langtools repo
# to build in that case.
#
ifndef LANGTOOLS_TOPDIR
LANGTOOLS_TOPDIR=$(JDK_TOPDIR)/../langtools
endif
LANGTOOLS_TOPDIR_EXISTS := $(shell \
if [ -d $(LANGTOOLS_TOPDIR) ] ; then \
echo true; \
else \
echo false; \
fi)
CLASSFILE_SRC = $(LANGTOOLS_TOPDIR)/src/share/classes
CLASSFILE_PKGDIR = com/sun/tools/classfile
ifeq ($(LANGTOOLS_TOPDIR_EXISTS), true)
FILES_classfile_java := $(shell \
$(CD) $(CLASSFILE_SRC) && \
$(FIND) $(CLASSFILE_PKGDIR) -name '*.java' -print)
FILES_classfile_class = $(FILES_classfile_java:%.java=$(BUILDTOOLCLASSDIR)/%.class)
CLASSFILE_JAR_FILE = $(BUILDTOOLJARDIR)/classfile.jar
BUILDTOOL_JAVAC = $(BOOT_JAVAC_CMD) $(JAVAC_JVM_FLAGS) \
$(BOOT_JAVACFLAGS) -classpath $(CLASSFILE_JAR_FILE)
BUILDTOOL_JAVA = $(BOOT_JAVA_CMD) $(JAVA_TOOLS_FLAGS) \
-Xbootclasspath/p:$(CLASSFILE_JAR_FILE)
else
# if langtools doesn't exist, use tools from the built jdk
BUILDTOOL_JAVAC = $(BINDIR)/javac $(JAVAC_JVM_FLAGS) \
$(BOOT_JAVACFLAGS)
BUILDTOOL_JAVA = $(BINDIR)/java $(JAVA_TOOLS_FLAGS)
endif
# Location of the output modules.list, <module>.classlist
# and other output files generated by the class analyzer tool.
#
MODULE_CLASSLIST = $(MODULES_TEMPDIR)/classlist
all build: classanalyzer gen-classlist
classanalyzer: $(CLASSFILE_JAR_FILE) $(CLASSANALYZER_JAR_FILE)
gen-classlist:
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULE_CLASSLIST)
@$(MKDIR) -p $(MODULE_CLASSLIST)
$(BUILDTOOL_JAVA) \
-Dclassanalyzer.debug \
-jar $(CLASSANALYZER_JAR_FILE) \
-jdkhome $(OUTPUTDIR) \
-config ../modules.config \
-config ../modules.group \
-depconfig ../jdk7.depconfig \
-depconfig ../optional.depconfig \
-showdynamic \
-output $(MODULE_CLASSLIST)
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
$(BUILDTOOL_MANIFEST_FILE): $(BUILDTOOL_MAIN_SOURCE_FILE)
@$(prep-target)
$(ECHO) "Main-Class: $(BUILTTOOL_MAINCLASS)" > $@
$(BUILDTOOLCLASSDIR)/$(CLASSFILE_PKGDIR)/%.class : $(CLASSFILE_SRC)/$(CLASSFILE_PKGDIR)/%.java
@$(prep-target)
@$(BUILDTOOL_JAVAC) \
-sourcepath $(CLASSFILE_SRC) \
-d $(BUILDTOOLCLASSDIR) $<
$(BUILDTOOLCLASSDIR)/%.class : $(BUILDTOOL_SOURCE_ROOT)/%.java
@$(prep-target)
$(BUILDTOOL_JAVAC) \
-sourcepath $(BUILDTOOL_SOURCE_ROOT) \
-d $(BUILDTOOLCLASSDIR) $<
$(CLASSANALYZER_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) $(FILES_class)
@$(prep-target)
$(CD) $(BUILDTOOLCLASSDIR) && \
$(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \
$(PKGDIR) $(BOOT_JAR_JFLAGS) || $(RM) $@
@$(java-vm-cleanup)
$(BUILDTOOLJARDIR)/classfile.jar: $(FILES_classfile_class)
@$(prep-target)
$(CD) $(BUILDTOOLCLASSDIR) && \
$(BOOT_JAR_CMD) cf $@ \
$(CLASSFILE_PKGDIR) $(BOOT_JAR_JFLAGS) || $(RM) $@
@$(java-vm-cleanup)
clean clobber::
@$(RM) -rf $(BUILDTOOLCLASSDIR)/$(PKGDIR)
@$(RM) -rf $(BUILDTOOLCLASSDIR)/$(CLASSFILE_PKGDIR)
@$(RM) $(BUILDTOOL_MANIFEST_FILE)
@$(RM) $(CLASSANALYZER_JAR_FILE)
@$(RM) $(CLASSFILE_JAR_FILE)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
<project name="classanalyzer" default="build" basedir=".">
</project>
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
application.title=classanalyzer
application.vendor=mchung
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
cp.extra=${tools.jar}
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/classanalyzer.jar
dist.javadoc.dir=${dist.dir}/javadoc
excludes=
file.reference.tools.jar=${jdk.home}/lib/tools.jar
file.reference.tools-src=src
includes=**
jar.compress=false
javac.classpath=\
${file.reference.tools.jar}
javac.deprecation=false
javac.source=1.5
javac.target=1.5
javac.test.classpath=
javadoc.author=false
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=false
javadoc.use=false
javadoc.version=false
main.class=com.sun.classanalyzer.ClassAnalyzer
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
platform.active=JDK_1.6
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
# Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs=-Xmx256m
run.test.classpath=
source.encoding=UTF-8
src.dir=${file.reference.tools-src}
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>classanalyzer</name>
<explicit-platform explicit-source-supported="true"/>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots/>
</data>
</configuration>
</project>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册