提交 768fea0b 编写于 作者: E erikj
上级 6262a5ec
......@@ -134,9 +134,9 @@ define SetupDemo
$$(wildcard $$(addprefix $(JDK_TOPDIR)/src/$6share/demo/$2/$1/,$7)))
ifneq ($7,)
$(JDK_OUTPUTDIR)/newdemo/$2/$1/% : $(JDK_TOPDIR)/src/$6share/demo/$2/$1/%
mkdir -p $$(@D)
cp $$< $$@
chmod -f ug+w $$@
$(MKDIR) -p $$(@D)
$(CP) $$< $$@
$(CHMOD) -f ug+w $$@
BUILD_DEMOS += $$($1_COPY_TARGETS)
endif
......@@ -155,7 +155,7 @@ $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.services : \
cd META-INF/services && \
$(JAR) uf $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/CodePointIM.jar java.awt.im.spi.InputMethodDescriptor)
$(RM) -r $(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.tmp
touch $@
$(TOUCH) $@
BUILD_DEMOS+=$(JDK_OUTPUTDIR)/newdemo/jfc/CodePointIM/_the.services
......@@ -167,12 +167,12 @@ $(eval $(call SetupDemo,SampleTree,jfc,,SampleTree,,,README*))
$(eval $(call SetupDemo,SwingApplet,jfc,,SwingApplet,,,README* *.html))
$(eval $(call SetupDemo,TableExample,jfc,,TableExample,,,README*))
$(eval $(call SetupDemo,TransparentRuler,jfc,,transparentruler.Ruler,,,README*))
$(eval $(call SetupDemo,jconsole-plugin,scripting,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,,,,*.xml *.txt))
$(eval $(call SetupDemo,jconsole-plugin,scripting,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,,,,*.xml *.txt,,,,Main-Class: \n))
$(eval $(call SetupDemo,FullThreadDump,management,,FullThreadDump,,,README*))
$(eval $(call SetupDemo,JTop,management,-cp $(JDK_OUTPUTDIR)/lib/jconsole.jar,JTop,,,README*))
$(eval $(call SetupDemo,MemoryMonitor,management,,MemoryMonitor,,,README*))
$(eval $(call SetupDemo,VerboseGC,management,,VerboseGC,,,README*))
$(eval $(call SetupDemo,zipfs,nio,,,,,README* *.java))
$(eval $(call SetupDemo,zipfs,nio,,,,,README* *.java,,,,Main-Class: \n))
ifndef OPENJDK
$(eval $(call SetupDemo,Laffy,jfc,,,,closed/,*))
......@@ -188,9 +188,9 @@ ifndef OPENJDK
$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
$(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/demo/nbproject/ -type f))
$(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
mkdir -p $(@D)
cp $< $@
chmod -f ug+w $@
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
endif
##################################################################################################
......@@ -231,6 +231,7 @@ define SetupJVMTIDemo
SRC:=$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_SRC),\
LANG:=$$(BUILD_DEMO_JVMTI_$1_LANG),\
CFLAGS:=$(CFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
CXXFLAGS:=$(CXXFLAGS_JDKLIB) $$(BUILD_DEMO_JVMTI_$1_O_FLAG) -I$(JDK_TOPDIR)/src/share/demo/jvmti/$1 $$(BUILD_DEMO_JVMTI_$1_EXTRA_INC) $3,\
LDFLAGS:=$(LDFLAGS_JDKLIB),\
LDFLAGS_SUFFIX:=$$($1_EXTRA_CXX),\
LDFLAGS_SUFFIX_posix:=$5,\
......@@ -255,7 +256,7 @@ define SetupJVMTIDemo
BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jvmti/$1,\
COPY:=$(PATTERNS_TO_COPY),\
JAR:=$(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar,\
JARMAIN:=,\
EXTRA_MANIFEST_ATTR:=Main-Class: \n,\
MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf))
BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jvmti/$1/$1.jar
......@@ -290,11 +291,11 @@ JPDA_SOURCES:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes/com/sun/tools/exam
JPDA_FILES:=$(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
$(JDK_OUTPUTDIR)/newdemo/jpda/src.zip : $(JPDA_SOURCES)
mkdir -p $(@D)
$(MKDIR) -p $(@D)
(cd $(JDK_TOPDIR)/src/share/classes && $(ZIP) -qru $@ com -i "com/sun/tools/example/*")
$(JDK_OUTPUTDIR)/newdemo/jpda/examples.jar : $(JPDA_SOURCES)
mkdir -p $(@D)
$(MKDIR) -p $(@D)
$(RM) $(@D)/_the.sources
$(call ListPathsSafely,JPDA_FILES,\n, >> $(@D)/_the.sources)
$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \
......@@ -304,7 +305,7 @@ $(JDK_OUTPUTDIR)/newdemo/jpda/examples.jar : $(JPDA_SOURCES)
(cd $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example && $(JAR) uf $@ README)
$(JDK_OUTPUTDIR)/newdemo/jpda/com/sun/tools/example/README : $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example/README
mkdir -p $(@D)
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
......@@ -314,12 +315,12 @@ BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jpda/src.zip $(JDK_OUTPUTDIR)/newdemo/jp
##################################################################################################
$(JDK_OUTPUTDIR)/newdemo/management/index.html : $(JDK_TOPDIR)/src/share/demo/management/index.html
mkdir -p $(@D)
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
$(JDK_OUTPUTDIR)/newdemo/jvmti/index.html : $(JDK_TOPDIR)/src/share/demo/jvmti/index.html
mkdir -p $(@D)
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
......@@ -329,24 +330,102 @@ BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/management/index.html \
##################################################################################################
# The netbeans project files are copied into the demo directory.
BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%,\
$(JDK_OUTPUTDIR)/newdemo/nbproject/%,\
$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject/ -type f))
$(JDK_OUTPUTDIR)/newdemo/nbproject/% : $(JDK_TOPDIR)/src/share/demo/nbproject/%
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
##################################################################################################
$(JDK_OUTPUTDIR)/newdemo/README: $(JDK_TOPDIR)/src/share/demo/README
$(MKDIR) -p $(@D)
$(CP) $< $@
BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/README
##################################################################################################
ifeq ($(PLATFORM), solaris)
$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/% : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/%
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
$(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt : $(JDK_TOPDIR)/src/solaris/demo/jni/Poller/README.txt
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) -f ug+w $@
$(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar : \
$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/README.txt $(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller/Poller.c
$(eval $(call SetupJavaCompilation,BUILD_DEMO_POLLER_JAR,\
SETUP:=GENERATE_USINGJDKBYTECODE, \
SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
BIN:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
HEADERS:=$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
JAR:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar, \
MANIFEST:=$(JDK_TOPDIR)/make/tools/manifest.mf, \
SRCZIP:=$(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip, \
COPY := README.txt Poller.c, \
JARMAIN := Client))
NETBEANS_DEMO_PROJECTS_FILES=$(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject -type f)
$(JDK_OUTPUTDIR)/newdemo/_the.nbproject: $(NETBEANS_DEMO_PROJECTS_FILES)
$(MKDIR) -p $(JDK_OUTPUTDIR)/newdemo
$(RM) -rf $(JDK_OUTPUTDIR)/newdemo/nbproject
echo Copying Netbeans demo projects
(cd $(JDK_TOPDIR)/src/share/demo && cp -r nbproject $(JDK_OUTPUTDIR)/newdemo)
touch $@
BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar $(JDK_OUTPUTDIR)/newdemo/jni/Poller/src.zip \
$(JDK_OUTPUTDIR)/newdemo/jni/Poller/README.txt
$(eval $(call SetupNativeCompilation,BUILD_LIBPOLLER,\
SRC:=$(JDK_TOPDIR)/src/solaris/demo/jni/Poller, \
LANG := C, \
CFLAGS:=$(CFLAGS_JDKLIB) $(C_O_FLAG_NORM) $(SHARED_LIBRARY_FLAGS) \
-I$(JDK_OUTPUTDIR)/newdemoclasses/jni/Poller, \
LDFLAGS:=$(LDFLAGS_JDKLIB), \
BIN:=$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller,\
LIB:=$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)))
#
# We can only compile native code after jar has been build (since we depend on generated .h files)
#
$(JDK_OUTPUTDIR)/newdemoobjs/jni/Poller/Poller.o : $(JDK_OUTPUTDIR)/newdemo/jni/Poller/Poller.jar
$(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX) : \
$(JDK_OUTPUTDIR)/newdemoobjs/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
$(MKDIR) -p $(@D)
$(CP) $< $@
BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/jni/Poller/lib/$(LIBRARY_PREFIX)Poller$(SHARED_LIBRARY_SUFFIX)
endif
##################################################################################################
$(JDK_OUTPUTDIR)/newdemo/README : $(JDK_TOPDIR)/src/share/demo/README
mkdir -p $(@D)
cp $< $@
ifndef OPENJDK
DB_DEMO_ZIPFILE := $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*demo*.zip")
$(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
$(MKDIR) -p $(@D)
$(RM) -rf $(JDK_OUTPUTDIR)/newdemo/db $(JDK_OUTPUTDIR)/newdemo/demo
$(CD) $(JDK_OUTPUTDIR)/newdemo && $(UNZIP) -o $<
$(MV) $(JDK_OUTPUTDIR)/newdemo/demo $(JDK_OUTPUTDIR)/newdemo/db
$(TOUCH) $@
# Copy this after the unzip above to avoid race with directory creation and mv command.
$(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html: \
$(JDK_TOPDIR)/src/closed/share/db/README-JDK-DEMOS.html \
| $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped
$(MKDIR) -p $(@D)
$(CP) '$<' '$@'
BUILD_DEMOS += $(JDK_OUTPUTDIR)/newdemo/_the.db.unzipped $(JDK_OUTPUTDIR)/newdemo/db/README-JDK-DEMOS.html
endif
##################################################################################################
all: $(BUILD_DEMOS) $(JDK_OUTPUTDIR)/newdemo/_the.nbproject $(JDK_OUTPUTDIR)/newdemo/README
all: $(BUILD_DEMOS)
.PHONY: all
......@@ -32,36 +32,44 @@ include JavaCompilation.gmk
# Setup the java compilers for the JDK build.
include Setup.gmk
EXCLUDES:= sun/dc \
sun/security/pkcs11 \
com/sun/pept \
JARS :=
EXFILES :=
EXCLUDES :=
##########################################################################################
EXCLUDES += com/sun/pept \
com/sun/tools/example/trace\
com/sun/tools/example/debug/bdi\
com/sun/tools/example/debug/event\
com/sun/tools/example/debug/gui \
javax/crypto \
com/oracle/security
ifeq ($(PLATFORM)-$(ARCH_DATA_MODEL),windows-64)
EXCLUDES += sun/security/pkcs11
endif
ifdef OPENJDK
EXCLUDES+= com/sun/jmx/snmp \
EXCLUDES+= sun/dc \
com/sun/jmx/snmp \
sun/management/snmp \
com/sun/script
endif
ifndef OPENJDK
# There exists two versions of this file...
EXFILES := $(JDK_TOPDIR)/src/share/classes/javax/crypto/JarVerifier.java
endif
ifneq ($(PLATFORM),solaris)
# Exclude Solaris nio and two security related files in src/share/classes
EXFILES:=SolarisAclFileAttributeView.java \
EXFILES += SolarisAclFileAttributeView.java \
SolarisFileStore.java \
SolarisFileSystem.java \
SolarisFileSystemProvider.java \
SolarisNativeDispatcher.java \
SolarisUserDefinedFileAttributeView.java \
SolarisWatchService.java \
DevPollArrayWrapper.java \
DevPollSelectorImpl.java \
DevPollSelectorProvider.java \
SolarisAsynchronousChannelProvider.java \
SolarisEventPort.java \
SolarisAclFileAttributeView.java \
SolarisFileStore.java \
SolarisFileSystem.java \
......@@ -75,8 +83,11 @@ ifneq ($(PLATFORM),solaris)
sun/tools/attach/SolarisVirtualMachine.java
endif
# Why?
EXFILES+=WrapperGenerator.java
# In the old build, this isn't excluded on macosx, even though it probably
# should be.
ifneq ($(PLATFORM),macosx)
EXFILES+=WrapperGenerator.java
endif
ifneq ($(PLATFORM),windows)
# Exclude Window security related files in src/share/classes
......@@ -86,14 +97,20 @@ ifneq ($(PLATFORM),windows)
endif
ifeq ($(PLATFORM),windows)
# Does nio channels exist on Windows?
EXCLUDES+=sun/nio/ch
# Don't build GTK L&F on Windows
EXCLUDES+= com/sun/java/swing/plaf/gtk
endif
ifneq ($(PLATFORM),linux)
EXCLUDES+=com/sun/java/swing/plaf/gtk
EXFILES+=sun/tools/attach/LinuxAttachProvider.java \
sun/tools/attach/LinuxVirtualMachine.java
sun/tools/attach/LinuxVirtualMachine.java \
sun/nio/fs/LinuxDosFileAttributeView.java \
sun/nio/fs/LinuxFileStore.java \
sun/nio/fs/LinuxFileSystem.java \
sun/nio/fs/LinuxFileSystemProvider.java \
sun/nio/fs/LinuxNativeDispatcher.java \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
sun/nio/fs/LinuxWatchService.java
endif
ifneq ($(PLATFORM),macosx)
......@@ -105,19 +122,6 @@ ifneq ($(PLATFORM),macosx)
sun/tools/attach/BsdVirtualMachine.java
endif
# Generated nimbus files that apparently should not be compiled...
EXFILES+=InternalFrameTitlePanePainter.java \
OptionPaneMessageAreaPainter.java \
ScrollBarPainter.java \
SliderPainter.java \
SpinnerPainter.java \
SplitPanePainter.java \
TabbedPanePainter.java
# New class /java/lang/annotation/ContainerAnnotation.java is not included in old
# build
EXFILES+=java/lang/annotation/ContainerAnnotation.java
# Exclude BreakIterator classes that are just used in compile process to generate
# data files and shouldn't go in the product
EXFILES+=sun/text/resources/BreakIteratorRules.java \
......@@ -130,16 +134,17 @@ endif
ifdef OPENJDK
EXCLUDES+=sun/java2d/cmm/kcms
else
EXCLUDES+=sun/java2d/cmm/lcms
endif
# Not used on windows
ifneq ($(PLATFORM), windows)
# Used on windows and macosx
ifeq (,$(filter $(PLATFORM), windows macosx))
EXFILES+=sun/awt/AWTCharset.java
endif
# Exclude some generated AWT files that were implicitly not included by the old build.
ifneq ($(PLATFORM), macosx)
#
# Not in rt.jar on solaris and linux...(windows not checked)
# in rt.jar on macosx ??
EXFILES+=sun/awt/X11/ScreenFormat.java \
sun/awt/X11/XArc.java \
sun/awt/X11/XChar2b.java \
......@@ -182,19 +187,15 @@ EXFILES+=sun/awt/X11/ScreenFormat.java \
sun/awt/X11/XdbeSwapInfo.java \
sun/awt/X11/XmbTextItem.java \
sun/awt/X11/XwcTextItem.java
# Exclude sun/security files that should go in a separate jar
EXFILES+=sun/security/ec/ECDHKeyAgreement.java \
sun/security/ec/ECDSASignature.java \
sun/security/ec/ECKeyPairGenerator.java \
sun/security/ec/SunEC$1.java \
sun/security/ec/SunEC.java \
sun/security/ec/SunECEntries.java
endif
# Exclude another implicitly not included file.
EXFILES+=sun/util/locale/AsciiUtil.java
ifeq ($(PLATFORM), linux)
ifeq (,$(filter $(PLATFORM), solaris macosx))
#
# only solaris and macosx
#
EXFILES+=sun/nio/fs/PollingWatchService.java
endif
......@@ -205,11 +206,42 @@ EXFILES+=-linux-arm.java \
# TODO: Is this necessary?
ifeq ($(PLATFORM), windows)
EXFILES+=sun/nio/ch/AbstractPollSelectorImpl.java \
sun/nio/ch/DevPollArrayWrapper.java \
sun/nio/ch/DevPollSelectorImpl.java \
sun/nio/ch/DevPollSelectorProvider.java \
sun/nio/ch/InheritedChannel.java \
sun/nio/ch/PollSelectorProvider.java \
sun/nio/ch/PollSelectorImpl.java \
sun/nio/ch/Port.java \
sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
sun/nio/ch/SolarisAsynchronousChannelProvider.java \
sun/nio/ch/SolarisEventPort.java \
sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
EXFILES+=sun/net/sdp/SdpProvider.java
else
EXFILES+=sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
endif
ifdef DISABLE_NIMBUS
# TODO: need to check when it happens
# Exclude nimus if disabled
EXCLUDES+= javax/swing/plaf/nimbus \
com/sun/java/swing/plaf/nimbus
else
#
# These are never put into rt.jar
#
EXFILES+= javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
javax/swing/plaf/nimbus/ScrollBarPainter.java \
javax/swing/plaf/nimbus/SliderPainter.java \
javax/swing/plaf/nimbus/SpinnerPainter.java \
javax/swing/plaf/nimbus/SplitPanePainter.java \
javax/swing/plaf/nimbus/TabbedPanePainter.java
endif
# Acquire a list of files that should be copied straight over to the classes.
include CopyIntoClasses.gmk
# Now we have COPY_PATTERNS, COPY_FILES and COPY_EXTRA
......@@ -219,25 +251,105 @@ ifndef OPENJDK
$(JDK_TOPDIR)/src/closed/$(LEGACY_HOST_OS_API)/classes
endif
MACOSX_SRC_DIRS :=
ifeq ($(PLATFORM),macosx)
MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
# this files are duplicated in MACOSX_SRC_DIRS
EXFILES+= $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
$(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java
endif
# The exception handling of swing beaninfo
# These resources violates the convention of having code and resources together under
# $(JDK_TOPDIR)/src/.../classes directories
$(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/%.gif: $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images/%.gif
$(MKDIR) -p $(@D)
$(CP) $< $@
$(eval $(call SetupJavaCompilation,BUILD_JDK,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/share/classes \
$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes \
$(MACOSX_SRC_DIRS) \
$(JDK_OUTPUTDIR)/gensrc \
$(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/beaninfo \
$(CLOSED_SRC_DIRS),\
EXCLUDES:=$(EXCLUDES),\
EXCLUDE_FILES:=$(EXFILES),\
BIN:=$(JDK_OUTPUTDIR)/newclasses,\
BIN:=$(JDK_OUTPUTDIR)/classes,\
COPY:=$(COPY_PATTERNS),\
COPY_FILES:=$(COPY_FILES),\
JAR:=$(JDK_OUTPUTDIR)/newrt.jar,\
HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
##########################################################################################
# Special handling of header file generation for classes in the jigsaw base module which
# currently can't add the annotaion GenerateNativeHeaders. For these specific classes the
# java file and the class have the same names which enables shortcutting the dependencies.
JDK_BASE_HEADER_CLASSES:=java.lang.Integer \
java.lang.Long \
java.net.SocketOptions \
sun.nio.ch.IOStatus
JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
ifeq ($(TARGET_OS),windows)
JDK_BASE_HEADER_CLASSES_WINDOWS:=sun/nio/ch/PollArrayWrapper
JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
$(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS)))
endif
# Set prereqs to the java files since make doesn't know about the class files. Add BUILD_JDK
# as an order only dependency to avoid race with the java compilation.
$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers: $(JDK_BASE_HEADER_JAVA_FILES) | $(BUILD_JDK)
$(ECHO) Generating headers for jdk base classes
$(JAVAH) -bootclasspath $(JDK_OUTPUTDIR)/classes -d $(JDK_OUTPUTDIR)/gensrc_headers \
$(JDK_BASE_HEADER_CLASSES)
$(TOUCH) $@
##########################################################################################
#
# This is an empty jar (only contains manifest) and fits poorly into framework...
# create simple rule instead
#
MANAGEMENT_AGENT_JAR_DEPS := $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
$(JDK_OUTPUTDIR)/lib/management-agent.jar : $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
$(JAR) cfm $@ $(JDK_TOPDIR)/src/share/classes/sun/management/manifest
JARS += $(JDK_OUTPUTDIR)/lib/management-agent.jar
##########################################################################################
ifndef OPENJDK
$(eval $(call SetupJavaCompilation,BUILD_ALTCLASSES_JAR,\
SETUP:=GENERATE_JDKBYTECODE,\
SRC:=$(JDK_TOPDIR)/src/closed/share/altclasses, \
BIN:=$(JDK_OUTPUTDIR)/altclasses_classes,\
JAR:=$(JDK_OUTPUTDIR)/lib/alt-rt.jar))
$(BUILD_ALTCLASSES_JAR): $(BUILD_JDK)
JARS += $(JDK_OUTPUTDIR)/lib/alt-rt.jar
endif
##########################################################################################
$(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin:
$(MKDIR) -p $(@D)
$(TOUCH) $@
##########################################################################################
# copy with -a to preserve timestamps so dependencies down the line aren't messed up
all: $(BUILD_JDK) $(JDK_OUTPUTDIR)/newrt.jar $(COPY_EXTRA)
(cd $(JDK_OUTPUTDIR); \
$(CP) -rp newclasses/* classes; \
$(FIND) classes -name "_the.*" $(FIND_DELETE); \
$(TOUCH) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin)
all: $(BUILD_JDK) $(JARS) $(COPY_EXTRA) $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
$(JDK_OUTPUTDIR)/classes/_the.jdk.base.headers
.PHONY: all
......@@ -41,6 +41,16 @@ define SetupLauncher
# Parameter 3 are extra LDFLAGS
# Parameter 4 are extra LDFLAGS_SUFFIX_posix
# Parameter 5 are extra LDFLAGS_SUFFIX_winapi
$1_WINDOWS_JLI_LIB:=$(JDK_OUTPUTDIR)/objs/jli.lib
ifneq ($6,)
$1_WINDOWS_JLI_LIB:=$6
endif
$1_VERSION_INFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc
ifneq ($8,)
$1_VERSION_INFO_RESOURCE:=$8
endif
$(call SetupNativeCompilation,BUILD_LAUNCHER_$1,\
SRC:=$(JDK_TOPDIR)/src/share/bin,\
INCLUDE_FILES:=main.c,\
......@@ -61,19 +71,22 @@ define SetupLauncher
$(call SET_SHARED_LIBRARY_ORIGIN,../lib/$(LIBARCH)/jli) \
$(call SET_SHARED_LIBRARY_ORIGIN,../jre/lib/$(LIBARCH)/jli) \
$3,\
LDFLAGS_linux:=$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/launchers/mapfile-$(ARCH)),\
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/launchers/mapfile-$(ARCH), \
LDFLAGS_SUFFIX:=$(LDFLAGS_JDKEXE_SUFFIX),\
LDFLAGS_SUFFIX_posix:=$4 -lc,\
LDFLAGS_SUFFIX_winapi:=$5,\
BIN:=$(JDK_OUTPUTDIR)/newobjs/$1_objs,\
EXE:=$(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX),\
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
LDFLAGS_SUFFIX_winapi:=$$($1_WINDOWS_JLI_LIB) \
$(JDK_OUTPUTDIR)/objs/java.lib advapi32.lib $5,\
BIN:=$(JDK_OUTPUTDIR)/objs/$1_objs,\
EXE:=$(JDK_OUTPUTDIR)/objs/$1$(EXE_SUFFIX),\
VERSIONINFO_RESOURCE:=$$($1_VERSION_INFO_RESOURCE),\
RC_FLAGS:=$(RC_FLAGS)\
/D "JDK_FNAME=$1$(EXE_SUFFIX)" \
/D "JDK_INTERNAL_NAME=$1" \
/D "JDK_FTYPE=0x1L")
/D "JDK_FTYPE=0x1L" \
$7,\
MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/java.manifest)
BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/newobjs/$1$(EXE_SUFFIX) $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/$1$(EXE_SUFFIX)
endef
##########################################################################################
......@@ -84,8 +97,23 @@ ifeq ($(PLATFORM),macosx)
XLIBS:=
endif
ifdef OPENJDK
JAVA_RC_FLAGS += -i "$(JDK_TOPDIR)/src/windows/resource/icons"
else
JAVA_RC_FLAGS += -i "$(JDK_TOPDIR)/src/closed/windows/native/sun/windows"
endif
$(eval $(call SetupLauncher,java,\
-DEXPAND_CLASSPATH_WILDCARDS))
-DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
$(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
$(JDK_TOPDIR)/src/windows/resource/java.rc))
ifeq ($(HOST_OS),windows)
$(eval $(call SetupLauncher,javaw,\
-DEXPAND_CLASSPATH_WILDCARDS,,,user32.lib comctl32.lib,\
$(JDK_OUTPUTDIR)/objs/jli_static.lib,$(JAVA_RC_FLAGS),\
$(JDK_TOPDIR)/src/windows/resource/java.rc))
endif
ifeq ($(PLATFORM),solaris)
THREAD_LIB:=-lthread
......@@ -257,58 +285,111 @@ endif
##########################################################################################
# The order of the object files on the link command line affects the size of the resulting
# binary (at least on linux) which causes the size to differ between old and new build.
UNPACKEXE_ZIPOBJS = $(JDK_OUTPUTDIR)/newobjs/libzip/zcrc32$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/deflate$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/trees$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/zadler32$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/compress$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/zutil$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/inflate$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/infback$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/inftrees$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/newobjs/libzip/inffast$(OBJ_SUFFIX)
ifeq ($(USE_EXTERNAL_LIBZ), true)
UNPACKEXE_ZIPOBJS := -lz
else
UNPACKEXE_ZIPOBJS := $(JDK_OUTPUTDIR)/objs/libzip/zcrc32$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/deflate$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/trees$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/zadler32$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/compress$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/zutil$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/inflate$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/infback$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/inftrees$(OBJ_SUFFIX) \
$(JDK_OUTPUTDIR)/objs/libzip/inffast$(OBJ_SUFFIX)
$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
endif
$(eval $(call SetupNativeCompilation,BUILD_UNPACKEXE,\
SRC:=$(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack,\
EXCLUDE_FILES:=jni.cpp,\
LANG:=C++,\
LANG:=C,\
CFLAGS:=$(CXXFLAGS_JDKEXE) $(CXX_O_FLAG_NORM) \
-DFULL \
-I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5,\
CFLAGS_release:=-DPRODUCT,\
CFLAGS_linux:=-fPIC,\
MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200, \
LDFLAGS:=$(LDFLAGS_JDKEXE) \
$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/mapfiles/libunpack/mapfile-vers-unpack200) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_SUFFIX:=$(UNPACKEXE_ZIPOBJS) $(LIBCXX),\
LDFLAGS_SUFFIX_solaris:=-lc,\
BIN:=$(JDK_OUTPUTDIR)/newobjs/unpackexe,\
EXE:=$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX),\
BIN:=$(JDK_OUTPUTDIR)/objs/unpackexe,\
EXE:=$(JDK_OUTPUTDIR)/objs/unpack200$(EXE_SUFFIX),\
VERSIONINFO_RESOURCE:=$(JDK_TOPDIR)/src/windows/resource/version.rc,\
RC_FLAGS:=$(RC_FLAGS)\
/D "JDK_FNAME=unpack200.exe" \
/D "JDK_INTERNAL_NAME=unpack200" \
/D "JDK_FTYPE=0x1L"))
/D "JDK_FTYPE=0x1L",\
MANIFEST:=$(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest))
$(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX): $(UNPACKEXE_ZIPOBJS)
BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
ifeq ($(HOST_OS_API),winapi)
UNPACK_MANIFEST:=$(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest
IMVERSIONVALUE=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
SED_ALL_MANIFEST=$(SED) -e 's%IMVERSION%$(IMVERSIONVALUE)%g'
##########################################################################################
$(UNPACK_MANIFEST): $(JDK_TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest
$(CAT) $< | $(SED_ALL_MANIFEST) > $@
# Adding a dependency to spec file might be a good idea here, to force rerun on version change.
$(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(UNPACK_MANIFEST)
$(MT) /manifest $< /outputresource:$(JDK_OUTPUTDIR)/newobjs/unpack200$(EXE_SUFFIX);#1
touch $@
BUILD_JEXEC :=
BUILD_JEXEC_SRC :=
BUILD_JEXEC_INC :=
BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/jexec$(EXE_SUFFIX)
$(JDK_OUTPUTDIR)/newobjs/unpackexe/unpack200.exe.manifest.mt: $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
#
# UNHANDLED:
# - COMPILE_APPROACH = normal
#
#
# jdk/make/java/Makefile
#
ifeq ($(PLATFORM), solaris)
ifeq ($(ARCH_DATA_MODEL), 32)
BUILD_JEXEC := 1
endif
endif
BUILD_LAUNCHERS += $(JDK_OUTPUTDIR)/bin/unpack200$(EXE_SUFFIX)
ifeq ($(PLATFORM), linux)
BUILD_JEXEC := 1
endif # PLATFORM
#
# jdk/make/java/jexec/Makefile
#
ifeq ($(BUILD_JEXEC), 1)
ifeq ($(PLATFORM),windows)
else ifeq ($(PLATFORM),macosx)
BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/macosx/bin
else
BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/solaris/bin
endif
ifeq ($(PLATFORM), linux)
BUILD_JEXEC_DST := $(JDK_OUTPUTDIR)/lib/jexec$(EXE_SUFFIX)
BUILD_JEXEC_INC += -I$(JDK_TOPDIR)/src/share/bin
endif
endif
#
# Note that the two Makefile's seems to contradict each other,
# and that src/macosx/bin/jexec.c seems unused
#
ifneq ($(BUILD_JEXEC_SRC),)
$(eval $(call SetupNativeCompilation,BUILD_JEXEC,\
SRC:=$(BUILD_JEXEC_SRC),\
INCLUDE_FILES:=jexec.c,\
LANG:=C,\
CFLAGS:=$(CFLAGS_JDKEXE) $(C_O_FLAG_NORM) \
$(BUILD_JEXEC_INC), \
LDFLAGS:=$(LDFLAGS_JDKEXE), \
BIN:=$(JDK_OUTPUTDIR)/objs/jexec_obj,\
EXE:=$(BUILD_JEXEC_DST)))
BUILD_LAUNCHERS += $(BUILD_JEXEC_DST)
endif
##########################################################################################
......@@ -335,22 +416,25 @@ endif
ifeq ($(HOST_OS_API),winapi)
$(eval $(call SetupLauncher,java-rmi,\
-DEXPAND_CLASSPATH_WILDCARDS,\
$(call SET_SHARED_LIBRARY_MAPFILE,makefiles/java/main/java/mapfile-$(ARCH))))
$(call SET_SHARED_LIBRARY_MAPFILE,$(JDK_TOPDIR)/makefiles/java/main/java/mapfile-$(ARCH))))
$(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/newobjs/java-rmi$(EXE_SUFFIX)
$(JAVA_RMI_CGI): $(JDK_OUTPUTDIR)/objs/java-rmi$(EXE_SUFFIX)
$(MKDIR) -p $(@D)
$(CP) $< $@
BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
else
$(JAVA_RMI_CGI): $(JDK_TOPDIR)/src/solaris/bin/java-rmi.cgi.sh
$(MKDIR) -p $(@D)
$(CP) $< $@
$(CHMOD) a+x $@
endif
##########################################################################################
$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/newobjs/%
echo Copying $(@F)
$(JDK_OUTPUTDIR)/bin/% : $(JDK_OUTPUTDIR)/objs/%
$(ECHO) Copying $(@F)
$(MKDIR) -p $(@D)
$(CP) $< $@
$(BUILD_LAUNCHERS) : $(JDK_TOPDIR)/makefiles/CompileLaunchers.gmk
......
......@@ -24,9 +24,15 @@
#
INCLUDEDIR = $(JDK_OUTPUTDIR)/include
# TODO: Platform dir needs to be "win32" on windows /erikj
PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM)
ifeq ($(PLATFORM), windows)
PLATFORM_INCLUDE = $(INCLUDEDIR)/win32
else ifeq ($(PLATFORM), macosx)
PLATFORM_INCLUDE = $(INCLUDEDIR)/darwin
endif
#
# Copy exported header files to outputdir.
#
......@@ -41,12 +47,12 @@ H_TARGET_FILES =$(INCLUDEDIR)/jdwpTransport.h \
$(INCLUDEDIR)/%.h: $(JDK_TOPDIR)/src/share/javavm/export/%.h
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(PLATFORM_INCLUDE)/%.h: $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/javavm/export/%.h
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES = $(H_TARGET_FILES)
......@@ -58,7 +64,7 @@ SERVICETAG_LIBDIR = $(LIBDIR)/servicetag
$(SERVICETAG_LIBDIR)/jdk_header.png: $(JDK_TOPDIR)/src/share/classes/com/sun/servicetag/resources/jdk_header.png
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(CHMOD) 444 $@
......@@ -73,13 +79,13 @@ MGMT_TARGET_FILES = $(subst $(MGMT_LIB_SRC),$(MGMT_LIBDIR),$(MGMT_SRC_FILES))
$(MGMT_LIBDIR)/management.properties: $(MGMT_LIB_SRC)/management.properties
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(CHMOD) 644 $@
$(MGMT_LIBDIR)/%: $(MGMT_LIB_SRC)/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(CHMOD) 444 $@
......@@ -91,7 +97,7 @@ LOGGING_LIB_SRC = $(JDK_TOPDIR)/src/share/lib
$(LIBDIR)/logging.properties: $(LOGGING_LIB_SRC)/logging.properties
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/logging.properties
......@@ -104,9 +110,9 @@ PSFONTPROPFILE_SRC_DIR = $(JDK_TOPDIR)/src/share/classes/sun/print
PSFONTPROPFILE_SRCS = $(wildcard $(PSFONTPROPFILE_SRC_DIR)/*.properties*)
PSFONTPROPFILE_TARGET_FILES = $(subst $(PSFONTPROPFILE_SRC_DIR),$(LIBDIR),$(PSFONTPROPFILE_SRCS))
$(PSFONTPROPFILE_TARGET_FILES): $(PSFONTPROPFILE_SRCS)
$(LIBDIR)/%: $(PSFONTPROPFILE_SRC_DIR)/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(PSFONTPROPFILE_TARGET_FILES)
......@@ -119,7 +125,7 @@ PLATFORM_LIB_SRC = $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
$(LIBDIR)/flavormap.properties: $(PLATFORM_LIB_SRC)/flavormap.properties
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/flavormap.properties
......@@ -129,7 +135,7 @@ CURSORS_PLATFORM_LIB_SRC = $(PLATFORM_LIB_SRC)/images/cursors
$(CURSORS_DEST_DIR)/cursors.properties: $(CURSORS_PLATFORM_LIB_SRC)/cursors.properties
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(CURSORS_DEST_DIR)/cursors.properties
......@@ -142,9 +148,9 @@ CURSORS_SRC_FILES = $(CURSORS_LIB_SRC)/invalid32x32.gif $(wildcard $(CURSORS_LIB
endif # PLATFORM
CURSORS_TARGET_FILES = $(subst $(CURSORS_LIB_SRC),$(CURSORS_DEST_DIR),$(CURSORS_SRC_FILES))
$(CURSORS_TARGET_FILES): $(CURSORS_SRC_FILES)
$(CURSORS_DEST_DIR)/%: $(CURSORS_LIB_SRC)/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(CURSORS_TARGET_FILES)
......@@ -155,13 +161,39 @@ CONTENT_TYPES_SRC=$(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
$(LIBDIR)/content-types.properties: $(CONTENT_TYPES_SRC)/content-types.properties
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/content-types.properties
##########################################################################################
CALENDARS_SRC := $(JDK_TOPDIR)/src/share/lib
$(LIBDIR)/calendars.properties: $(CALENDARS_SRC)/calendars.properties
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/calendars.properties
##########################################################################################
ifeq ($(PLATFORM),windows)
TZMAPPINGS_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/lib
$(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/tzmappings
endif
##########################################################################################
ICCPROFILE_DEST_DIR := $(LIBDIR)/cmm
ifdef OPENJDK
......@@ -175,7 +207,7 @@ ICCPROFILE_TARGET_FILES:=$(subst $(ICCPROFILE_SRC_DIR),$(ICCPROFILE_DEST_DIR),$(
$(ICCPROFILE_DEST_DIR)%.pf: $(ICCPROFILE_SRC_DIR)%.pf
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(CHMOD) 444 $@
......@@ -209,8 +241,11 @@ ifdef OPENJDK
endif
endif
$(FREETYPE_LIB):
$(FREETYPE_LIB): $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype)
$(CP) $(FREETYPE2_LIB_PATH)/$(call SHARED_LIBRARY,freetype) $@
ifeq ($(BUILD_OS), windows)
$(CHMOD) +rx $@
endif
COPY_FILES += $(FREETYPE_LIB)
endif
......@@ -223,10 +258,336 @@ ifeq ($(PLATFORM),windows)
MSVCRNN_TARGET := $(JDK_OUTPUTDIR)/bin/$(notdir $(MSVCRNN_DLL))
$(MSVCRNN_TARGET): $(MSVCRNN_DLL)
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(MSVCRNN_TARGET)
endif
##########################################################################################
HPROF_SRC=$(JDK_TOPDIR)/src/share/demo/jvmti/hprof/jvm.hprof.txt
$(LIBDIR)/jvm.hprof.txt : $(HPROF_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(LIBDIR)/jvm.hprof.txt
##########################################################################################
#
# How to install jvm.cfg.
#
ifeq ($(JVM_VARIANT_ZERO), true)
JVMCFG_ARCH := zero
else
JVMCFG_ARCH := $(ARCH)
endif
ifeq ($(PLATFORM),macosx)
ifeq ($(JVMCFG_ARCH),amd64)
JVMCFG_ARCH := x86_64
endif
JVMCFG_SRC := $(JDK_TOPDIR)/src/macosx/bin/$(JVMCFG_ARCH)/jvm.cfg
JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib
else
JVMCFG_SRC := $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/bin/$(JVMCFG_ARCH)/jvm.cfg
JVMCFG_DIR := $(JDK_OUTPUTDIR)/lib/$(LIBARCH)
endif
JVMCFG := $(JVMCFG_DIR)/jvm.cfg
ifeq ($(ARCH_DATA_MODEL),32)
# On 32 bit machines, we can have client and/or server libjvms installed.
# Since the currently committed jvm.cfg expects clientANDserver, we need
# to patch the jvm.cfg when we have built only a client or only a server.
# This should also support -kernel, -zero and -zeroshark.
ifeq ($(JVM_VARIANTS),$(COMMA)client$(COMMA))
# Create a patched jvm.cfg to use -client by default and alias -server to -client.
$(JVMCFG):
$(MKDIR) -p $(@D)
$(RM) -f $(JVMCFG)
$(PRINTF) "-client KNOWN\n">$(JVMCFG)
$(PRINTF) "-server IGNORE\n">>$(JVMCFG)
$(PRINTF) "-hotspot ALIASED_TO -client\n">>$(JVMCFG)
$(PRINTF) "-classic WARN\n">>$(JVMCFG)
$(PRINTF) "-native ERROR\n">>$(JVMCFG)
$(PRINTF) "-green ERROR\n">>$(JVMCFG)
else
ifeq ($(JVM_VARIANTS),$(COMMA)server$(COMMA))
# Create a patched jvm.cfg to use -server by default and alias -client to -server.
$(JVMCFG):
$(MKDIR) -p $(@D)
$(RM) -f $(JVMCFG)
$(PRINTF) "-server KNOWN\n">$(JVMCFG)
$(PRINTF) "-client IGNORE\n">>$(JVMCFG)
$(PRINTF) "-hotspot IGNORE\n">>$(JVMCFG)
$(PRINTF) "-classic WARN\n">>$(JVMCFG)
$(PRINTF) "-native ERROR\n">>$(JVMCFG)
$(PRINTF) "-green ERROR\n">>$(JVMCFG)
else
# Use the default jvm.cfg for this 32 bit setup.
$(JVMCFG): $(JVMCFG_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
endif
endif
else
# Use the default jvm.cfg for this 64 bit setup.
$(JVMCFG): $(JVMCFG_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
endif
COPY_FILES += $(JVMCFG)
##########################################################################################
PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security
PROPS_DST := $(JDK_OUTPUTDIR)/lib/security/java.security
ifeq ($(PLATFORM), solaris)
PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-solaris
endif
ifeq ($(PLATFORM), windows)
PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-windows
endif
ifeq ($(PLATFORM), macosx)
PROPS_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.security-macosx
endif
$(PROPS_DST): $(PROPS_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(PROPS_DST)
##########################################################################################
POLICY_SRC := $(JDK_TOPDIR)/src/share/lib/security/java.policy
POLICY_DST := $(JDK_OUTPUTDIR)/lib/security/java.policy
$(POLICY_DST): $(POLICY_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(POLICY_DST)
##########################################################################################
CACERTS_SRC := $(CACERTS_FILE)
CACERTS_DST := $(JDK_OUTPUTDIR)/lib/security/cacerts
$(CACERTS_DST): $(CACERTS_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(CACERTS_DST)
##########################################################################################
ifndef OPENJDK
BLACKLIST_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/blacklist
BLACKLIST_DST := $(JDK_OUTPUTDIR)/lib/security/blacklist
TRUSTEDLIBS_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/trusted.libraries
TRUSTEDLIBS_DST := $(JDK_OUTPUTDIR)/lib/security/trusted.libraries
$(BLACKLIST_DST): $(BLACKLIST_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(BLACKLIST_DST)
$(TRUSTEDLIBS_DST): $(TRUSTEDLIBS_SRC)
$(MKDIR) -p $(@D)
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(TRUSTEDLIBS_DST)
endif
##########################################################################################
ifndef OPENJDK
SHARED_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts
SHARED_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/fonts
SHARED_FONTS_FILES := \
LucidaTypewriterRegular.ttf \
LucidaTypewriterBold.ttf \
LucidaBrightRegular.ttf \
LucidaBrightDemiBold.ttf \
LucidaBrightItalic.ttf \
LucidaBrightDemiItalic.ttf \
LucidaSansRegular.ttf \
LucidaSansDemiBold.ttf \
SHARED_FONTS_SRC := $(foreach F,$(SHARED_FONTS_FILES),$(SHARED_FONTS_SRC_DIR)/$(F))
SHARED_FONTS_DST := $(foreach F,$(SHARED_FONTS_FILES),$(SHARED_FONTS_DST_DIR)/$(F))
$(SHARED_FONTS_DST_DIR)/%.ttf : $(SHARED_FONTS_SRC_DIR)/%.ttf
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
$(SHARED_FONTS_DST_DIR)/fonts.dir : $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.fonts.dir
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
COPY_FILES += $(SHARED_FONTS_DST) $(SHARED_FONTS_DST_DIR)/fonts.dir
ifeq ($(PLATFORM), linux)
# The oblique fonts are only needed/wanted on Linux.
OBL_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/lib/fonts/oblique
OBL_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/oblique-fonts
OBL_FONTS_FILES := LucidaTypewriterOblique.ttf LucidaTypewriterBoldOblique.ttf \
LucidaSansOblique.ttf LucidaSansDemiOblique.ttf
OBL_FONTS_SRC := $(foreach F,$(OBL_FONTS_FILES),$(OBL_FONTS_SRC_DIR)/$(F))
OBL_FONTS_DST := $(foreach F,$(OBL_FONTS_FILES),$(OBL_FONTS_DST_DIR)/$(F))
$(OBL_FONTS_DST_DIR)/%.ttf : $(OBL_FONTS_SRC_DIR)/%.ttf
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
$(OBL_FONTS_DST_DIR)/fonts.dir : $(JDK_TOPDIR)/src/solaris/classes/sun/awt/motif/java.oblique-fonts.dir
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
COPY_FILES += $(OBL_FONTS_DST) $(OBL_FONTS_DST_DIR)/fonts.dir
endif # linux
endif # OPENJDK
##########################################################################################
ifndef OPENJDK
JS_RESOURCES_FILES := Messages.properties Messages_fr.properties
JS_RESOURCES_SRC_DIR := $(JDK_TOPDIR)/src/closed/share/classes/sun/org/mozilla/javascript/internal/resources
JS_RESOURCES_DST_DIR := $(JDK_OUTPUTDIR)/classes/sun/org/mozilla/javascript/internal/resources
JS_RESOURCES_SRC := $(foreach F,$(JS_RESOURCES_FILES),$(JS_RESOURCES_SRC_DIR)/$(F))
JS_RESOURCES_DST := $(foreach F,$(JS_RESOURCES_FILES),$(JS_RESOURCES_DST_DIR)/$(F))
$(JS_RESOURCES_DST_DIR)/% : $(JS_RESOURCES_SRC_DIR)/%
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
COPY_FILES += $(JS_RESOURCES_DST)
endif
##########################################################################################
ifndef OPENJDK
#
# Solaris X11 Direct Graphics Access library
#
_DGALIBS_sparc = \
libxinerama.so \
libjdgaSUNWcg6.so \
libjdgaSUNWffb.so \
libjdgaSUNWm64.so \
libjdgaSUNWafb.so
_DGALIBS_sparcv9 = \
libxinerama.so \
libjdgaSUNWcg6.so \
libjdgaSUNWffb.so \
libjdgaSUNWm64.so \
libjdgaSUNWafb.so
_DGALIBS_i586 = # no i586 library yet
_DGALIBS_amd64 = # no amd64 library yet
DGALIBS = $(_DGALIBS_$(ARCH):%=$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/%)
$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libxinerama.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libxinerama.so
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNW%.so: $(JDK_TOPDIR)/src/closed/solaris/lib/$(ARCH)/libjdgaSUNW%.so
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
$(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWafb.so: $(JDK_OUTPUTDIR)/lib/$(LIBARCH)/libjdgaSUNWffb.so
$(MKDIR) -p $(@D)
$(RM) $@
$(LN) -s $< $@
COPY_FILES += $(DGALIBS)
endif
##########################################################################################
ifeq ($(PLATFORM), solaris)
SUNPKCS11_CFG_SRC := $(JDK_TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg
SUNPKCS11_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/sunpkcs11-solaris.cfg
$(SUNPKCS11_CFG_DST) : $(SUNPKCS11_CFG_SRC)
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
COPY_FILES += $(SUNPKCS11_CFG_DST)
endif
##########################################################################################
ifndef OPENJDK
ifeq ($(PLATFORM), solaris)
UCRYPTO_CFG_SRC := $(JDK_TOPDIR)/src/closed/share/lib/security/ucrypto-solaris.cfg
UCRYPTO_CFG_DST := $(JDK_OUTPUTDIR)/lib/security/ucrypto-solaris.cfg
$(UCRYPTO_CFG_DST) : $(UCRYPTO_CFG_SRC)
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $@
COPY_FILES += $(UCRYPTO_CFG_DST)
endif
endif
##########################################################################################
$(JDK_OUTPUTDIR)/lib/sound.properties : $(JDK_TOPDIR)/src/share/lib/sound.properties
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $(@)
COPY_FILES += $(JDK_OUTPUTDIR)/lib/sound.properties
##########################################################################################
......@@ -83,6 +83,83 @@ COPY_FILES += \
COPY_FILES += \
$(JDK_TOPDIR)/src/share/classes/sun/net/idn/uidna.spp
#
# Swing plaf resources
#
SWING_PLAF_WINDOWS_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows
COPY_FILES += \
$(wildcard $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/*.gif) \
$(wildcard $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/*.png)
ifndef OPENJDK
SWING_PLAF_WINDOWS_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/com/sun/java/swing/plaf/windows
# Filter out JavaCup32.png from OpenJDK
COPY_FILES := $(filter-out $(SWING_PLAF_WINDOWS_RESOURCES_DIR)/icons/JavaCup32.png, $(COPY_FILES))
# Alter JavaCup32.png from ClosedJDK
COPY_FILES += \
$(SWING_PLAF_WINDOWS_RESOURCES_DIR_CLOSED)/icons/JavaCup32.png
endif
SWING_PLAF_BASIC_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/basic
COPY_FILES += \
$(wildcard $(SWING_PLAF_BASIC_RESOURCES_DIR)/icons/*.png)
ifndef OPENJDK
SWING_PLAF_BASIC_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/javax/swing/plaf/basic
# Filter out JavaCup16.png from OpenJDK
COPY_FILES := $(filter-out $(SWING_PLAF_BASIC_RESOURCES_DIR)/icons/JavaCup16.png, $(COPY_FILES))
# Alter JavaCup16.png from ClosedJDK
COPY_FILES += \
$(SWING_PLAF_BASIC_RESOURCES_DIR_CLOSED)/icons/JavaCup16.png
endif
ifdef OPENJDK
SWING_PLAF_MOTIF_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif
COPY_FILES += \
$(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR)/icons/*.gif) \
$(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR)/icons/*.png)
else
SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED = $(JDK_TOPDIR)/src/closed/share/classes/com/sun/java/swing/plaf/motif
COPY_FILES += \
$(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED)/icons/*.gif) \
$(wildcard $(SWING_PLAF_MOTIF_RESOURCES_DIR_CLOSED)/icons/*.png)
endif
SWING_PLAF_METAL_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/metal
COPY_FILES += \
$(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.gif) \
$(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/*.png) \
$(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.gif) \
$(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/icons/ocean/*.png) \
$(wildcard $(SWING_PLAF_METAL_RESOURCES_DIR)/sounds/*.wav)
ifneq ($(PLATFORM), windows)
# Only copy GTK resources on Solaris/Linux
SWING_PLAF_GTK_RESOURCES_DIR = $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk
COPY_FILES += \
$(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.gif) \
$(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/icons/*.png) \
$(wildcard $(SWING_PLAF_GTK_RESOURCES_DIR)/resources/metacity/SwingFallbackTheme/metacity-1/*.xml)
endif
# END: Swing plaf resources
# The exception handling of swing beaninfo
# These resources violates the convention of having code and resources together under
# $(JDK_TOPDIR)/src/.../classes directories
SWING_BEANINFO_RESOURCES_SRC_DIR = $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo/images
SWING_BEANINFO_RESOURCES_SRC = $(wildcard $(SWING_BEANINFO_RESOURCES_SRC_DIR)/*.gif)
OUT_BEANINFO_RESOURCES = $(addprefix $(JDK_OUTPUTDIR)/classes/javax/swing/beaninfo/images/,\
$(shell $(PRINTF) "$(SWING_BEANINFO_RESOURCES_SRC)\n" | $(SED) -e 's|/[^ ]*/beaninfo/images/||g'))
COPY_EXTRA += $(OUT_BEANINFO_RESOURCES)
# END: Swing beaninfo resources
# Swing text resources
SWING_TEXT_RESOURCEDIR = $(JDK_TOPDIR)/src/share/classes/javax/swing/text
COPY_FILES += \
$(SWING_TEXT_RESOURCEDIR)/html/default.css \
$(wildcard $(SWING_TEXT_RESOURCEDIR)/rtf/charsets/*.txt)
##########################################################################################
#
# Copy the META-INF/services configuration files that are scattered around the source tree
......@@ -94,7 +171,7 @@ COPY_FILES += \
# are uncommented and the configuration file is stored in the output META-INF directory.
# Make sure the output directory is created.
$(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/newclasses/META-INF/services)
$(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
# Find all META-INF/services/* files
ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
ALL_META-INF_DIRS_hostapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes -type d -a -name META-INF)
......@@ -107,12 +184,22 @@ else
ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share)
endif
# Filter out META-INF dirs that shouldn't be included
ALL_META-INF_DIRS:=$(filter-out %sun/nio/cs/ext/META-INF,$(ALL_META-INF_DIRS))
ifdef OPENJDK
ALL_META-INF_DIRS:=$(filter-out %com/sun/script/javascript/META-INF,$(ALL_META-INF_DIRS))
endif
ifndef OPENJDK
ifneq ($(PLATFORM), macosx)
ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/jdbc/odbc/META-INF
endif
endif
ifndef OPENJDK
ALL_META-INF_DIRS += $(JDK_TOPDIR)/src/closed/share/classes/sun/java2d/cmm/kcms/META-INF
endif
SRC_SERVICES_FILES:=$(wildcard $(addsuffix /services/*,$(ALL_META-INF_DIRS)))
ifdef OPENJDK
SRC_SERVICES_FILES:=$(filter-out %sun/dc/META-INF/services/sun.java2d.pipe.RenderingEngine,$(SRC_SERVICES_FILES))
SRC_SERVICES_FILES:=$(filter-out %sun/java2d/cmm/kcms/META-INF/services/sun.java2d.cmm.PCMM,$(SRC_SERVICES_FILES))
......@@ -120,16 +207,17 @@ else
SRC_SERVICES_FILES:=$(filter-out %sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine,$(SRC_SERVICES_FILES))
SRC_SERVICES_FILES:=$(filter-out %sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM,$(SRC_SERVICES_FILES))
endif
# The number of services files are relatively few. If the increase in numbers, then
# we have to use ListPathsSafelyNow here.
# Change $(JDK_TOPDIR)/src/.../META-INF/services/yyyy into $(JDK_OUTPUTDIR)/newclasses/META-INF/services/yyyy
# Change $(JDK_TOPDIR)/src/.../META-INF/services/yyyy into $(JDK_OUTPUTDIR)/classes/META-INF/services/yyyy
# The \n in the printf command is needed to make sed work on Solaris.
OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/newclasses/META-INF/services/,\
OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
$(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g'))
OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES))
# Exception handling for print services with no META-INF directory
SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/*)
OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/newclasses/META-INF/services/,\
OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\
$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_HOST_OS_API)/classes/sun/print/services/%,%,\
$(SRC_SERVICES_FILES_PRINT)))
OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT))
......@@ -148,3 +236,45 @@ $(foreach i,$(META-INF_RULES_SERVICES),$(eval $(call addto_meta-inf_services,$i)
COPY_EXTRA += $(OUT_SERVICES_FILES)
COPY_EXTRA += $(OUT_SERVICES_FILES_PRINT)
###
$(JDK_OUTPUTDIR)/classes/sun/nio/cs/ext/sjis0213.dat : $(JDK_OUTPUTDIR)/gensrc/sun/nio/cs/ext/sjis0213.dat
$(MKDIR) -p $(@D)
$(RM) $@
$(CP) $< $(@)
COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/sun/nio/cs/ext/sjis0213.dat
###
JAVAX_SOUND_SRC := $(JDK_TOPDIR)/src/share/classes/com/sun/media/sound/services
JAVAX_SOUND_SRC_FILES := \
javax.sound.midi.spi.MidiDeviceProvider \
javax.sound.midi.spi.MidiFileReader \
javax.sound.midi.spi.MidiFileWriter \
javax.sound.midi.spi.SoundbankReader \
javax.sound.sampled.spi.AudioFileReader \
javax.sound.sampled.spi.AudioFileWriter \
javax.sound.sampled.spi.FormatConversionProvider
COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F})
ifeq ($(PLATFORM)-$(ARCH),windows-ia64)
JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider
COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
else ifeq ($(PLATFORM),windows)
JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider
COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
else ifeq ($(PLATFORM)-$(ARCH),linux-i586)
JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider
COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
else
JAVAX_SOUND_SRC_FILES += javax.sound.sampled.spi.MixerProvider
COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider
endif
JAVAX_SOUND_RULES := $(foreach F,$(JAVAX_SOUND_SRC_FILES),$(JDK_OUTPUTDIR)/classes/META-INF/services/$(notdir $F):$(JAVAX_SOUND_SRC)/$F)
$(foreach R,$(JAVAX_SOUND_RULES),$(eval $(call addto_meta-inf_services,$R)))
......@@ -46,7 +46,7 @@ ifndef OPENJDK
SAMPLE_TARGET += $(SAMPLE_CLOSED_TARGET)
endif
ifeq ($(PLATFORM),solaris)
ifneq (, $(filter $(PLATFORM), solaris macosx))
SAMPLE_SOLARIS_SOURCE := $(shell $(FIND) $(SAMPLE_SOLARIS_SOURCE_DIR) -type f -print)
SAMPLE_SOLARIS_TARGET := $(subst $(SAMPLE_SOLARIS_SOURCE_DIR),$(SAMPLE_TARGET_DIR),$(SAMPLE_SOLARIS_SOURCE))
SAMPLE_TARGET += $(SAMPLE_SOLARIS_TARGET)
......@@ -54,17 +54,17 @@ endif
$(SAMPLE_TARGET_DIR)/dtrace/%: $(SAMPLE_SOLARIS_SOURCE_DIR)/dtrace/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(SAMPLE_TARGET_DIR)/webservices/%: $(SAMPLE_CLOSED_SOURCE_DIR)/webservices/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
$(SAMPLE_TARGET_DIR)/%: $(SAMPLE_SOURCE_DIR)/%
$(MKDIR) -p $(@D)
rm -f $@
$(RM) -f $@
$(CP) $< $@
COPY_FILES += $(SAMPLE_TARGET)
......
此差异已折叠。
......@@ -62,7 +62,7 @@ $(eval $(call SetupJavaCompilation,BUILD_BREAKITERATOR,\
UNICODEDATA = $(JDK_TOPDIR)/make/tools/UnicodeData/UnicodeData.txt
# output
DATA_PKG_DIR = $(JDK_OUTPUTDIR)/newclasses/sun/text/resources
DATA_PKG_DIR = $(JDK_OUTPUTDIR)/classes/sun/text/resources
BIFILES = $(DATA_PKG_DIR)/CharacterBreakIteratorData \
$(DATA_PKG_DIR)/WordBreakIteratorData \
$(DATA_PKG_DIR)/LineBreakIteratorData \
......@@ -75,23 +75,23 @@ $(BREAK_ITERATOR_DIR)/_the.bifiles: JAVA_FLAGS += -Xbootclasspath/p:$(BREAK_ITER
$(BREAK_ITERATOR_DIR)/_the.bifiles: $(BUILD_TOOLS) $(UNICODEDATA) $(BUILD_BREAKITERATOR)
$(ECHO) "Generating BreakIteratorData"
$(MKDIR) -p $(DATA_PKG_DIR)
rm -f $(BIFILES)
$(RM) -f $(BIFILES)
$(TOOL_GENERATEBREAKITERATORDATA) \
-o $(DATA_PKG_DIR) \
-spec $(UNICODEDATA)
touch $@
$(TOUCH) $@
$(BIFILES_TH): $(BREAK_ITERATOR_DIR)/_the.bifiles_th
$(BREAK_ITERATOR_DIR)/_the.bifiles_th: JAVA_FLAGS += -Xbootclasspath/p:$(BREAK_ITERATOR_CLASSES)
$(BREAK_ITERATOR_DIR)/_the.bifiles_th: $(BUILD_TOOLS) $(UNICODEDATA) $(BUILD_BREAKITERATOR)
$(ECHO) "Generating BreakIteratorData_th"
$(MKDIR) -p $(DATA_PKG_DIR)
rm -f $(BIFILES_TH)
$(RM) -f $(BIFILES_TH)
$(TOOL_GENERATEBREAKITERATORDATA) \
-o $(DATA_PKG_DIR) \
-spec $(UNICODEDATA) \
-language th
touch $@
$(TOUCH) $@
BREAK_ITERATOR += $(BIFILES) $(BIFILES_TH)
#
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. 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
......@@ -23,102 +23,62 @@
# questions.
#
# defines common for all Java Sound native code
GENDATA_FONT_CONFIG_DST := $(JDK_OUTPUTDIR)/lib
SUBDIRS=
EXTRA_SOUND_JNI_LIBS=
#
# Extra cc/linker flags.
#
# system dependent flags
ifeq ($(PLATFORM), windows)
CPPFLAGS += -DX_PLATFORM=X_WINDOWS
endif # PLATFORM windows
GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows
GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
GENDATA_FONT_CONFIG_SRC_PREFIX :=
endif
ifeq ($(PLATFORM), linux)
CPPFLAGS += -DX_PLATFORM=X_LINUX
endif # PLATFORM linux
ifeq ($(PLATFORM), macosx)
CPPFLAGS += -DX_PLATFORM=X_MACOSX
endif # PLATFORM macosx
ifeq ($(PLATFORM), solaris)
CPPFLAGS += -DX_PLATFORM=X_SOLARIS
# Solaris needs specific binding to libc
LDFLAGS += -lc
#
# Turn off C++ exception handling.
#
ifneq ($(CC_VERSION),gcc)
CXXFLAGS += -noex
endif # CC_VERSION
endif # PLATFORM solaris
ifeq ($(ZERO_BUILD), true)
CPPFLAGS += -DX_ARCH=X_ZERO
GENDATA_FONT_CONFIG_SRC_PREFIX := linux.
ifdef OPENJDK
GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
GENDATA_FONT_CONFIG_SRC_FILES := \
fontconfig.properties \
fontconfig.SuSE.properties \
fontconfig.Ubuntu.properties \
fontconfig.Fedora.properties
else
ifeq ($(ARCH), i586)
CPPFLAGS += -DX_ARCH=X_I586
endif # ARCH i586
ifeq ($(ARCH), sparc)
CPPFLAGS += -DX_ARCH=X_SPARC
endif # ARCH sparc
ifeq ($(ARCH), sparcv9)
CPPFLAGS += -DX_ARCH=X_SPARCV9
endif # ARCH sparcv9
ifeq ($(ARCH), amd64)
CPPFLAGS += -DX_ARCH=X_AMD64
endif # ARCH amd64
ifeq ($(ARCH), arm)
CPPFLAGS += -DX_ARCH=X_ARM
endif # ARCH arm
ifeq ($(ARCH), ppc)
CPPFLAGS += -DX_ARCH=X_PPC
endif # ARCH ppc
GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/awt/fontconfigs
GENDATA_FONT_CONFIG_SRC_FILES := \
fontconfig.properties \
fontconfig.RedHat.5.properties \
fontconfig.RedHat.6.properties \
fontconfig.Turbo.properties \
fontconfig.SuSE.10.properties \
fontconfig.SuSE.11.properties
endif
endif
ifeq ($(PLATFORM), solaris)
GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
GENDATA_FONT_CONFIG_SRC_PREFIX := solaris.
endif
# files needed for MIDI i/o
MIDIFILES_c = \
MidiInDevice.c \
MidiInDeviceProvider.c \
MidiOutDevice.c \
MidiOutDeviceProvider.c \
PlatformMidi.c
ifeq ($(PLATFORM), macosx)
GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/macosx/classes/sun/awt/fontconfigs
GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
GENDATA_FONT_CONFIG_SRC_PREFIX := macosx.
endif # PLATFORM
MIDIFILES_export = \
com/sun/media/sound/MidiInDevice.java \
com/sun/media/sound/MidiInDeviceProvider.java \
com/sun/media/sound/MidiOutDevice.java \
com/sun/media/sound/MidiOutDeviceProvider.java
###
# files needed for ports
PORTFILES_c = \
PortMixerProvider.c \
PortMixer.c
$(GENDATA_FONT_CONFIG_DST)/%.src : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%
$(MKDIR) -p $(@D)
$(CP) $< $@
PORTFILES_export = \
com/sun/media/sound/PortMixer.java \
com/sun/media/sound/PortMixerProvider.java
$(GENDATA_FONT_CONFIG_DST)/%.bfc : $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%.properties
$(MKDIR) -p $(@D)
$(TOOL_COMPILEFONTCONFIG) $< $@
# files needed for direct audio
DAUDIOFILES_c = \
DirectAudioDeviceProvider.c \
DirectAudioDevice.c
###
DAUDIOFILES_export = \
com/sun/media/sound/DirectAudioDeviceProvider.java \
com/sun/media/sound/DirectAudioDevice.java
GENDATA_FONT_CONFIGS := $(GENDATA_FONT_CONFIG_SRC_FILES:%=$(GENDATA_FONT_CONFIG_DST)/%.src)
GENDATA_BFONT_CONFIGS := $(GENDATA_FONT_CONFIG_SRC_FILES:%.properties=$(GENDATA_FONT_CONFIG_DST)/%.bfc)
GENDATA_FONT_CONFIG := $(GENDATA_FONT_CONFIGS) $(GENDATA_BFONT_CONFIGS)
###
#
# Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. 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
......@@ -23,17 +23,14 @@
# questions.
#
#
# Makefile for building com/apple
#
BUILDDIR = ../..
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
GENDATA_HTML32DTD :=
SUBDIRS = osx osxui
HTML32DTD = $(JDK_OUTPUTDIR)/classes/javax/swing/text/html/parser/html32.bdtd
$(HTML32DTD): $(BUILD_TOOLS)
$(ECHO) "Generating HTML DTD file"
$(MKDIR) -p $(@D)
$(RM) $@
($(TOOL_DTDBUILDER) html32 > $@) || exit 1
include $(BUILDDIR)/common/Subdirs.gmk
GENDATA_HTML32DTD += $(HTML32DTD)
all build clean clobber::
$(SUBDIRS-loop)
#
# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, Oracle and/or its affiliates. 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
......@@ -23,49 +23,34 @@
# questions.
#
# Makefile for building javazic utility & TimeZone resource files
GENDATA_TIMEZONE :=
# TODO: read from make/sun/javazic/tzdata/VERSION
GENDATA_TIMEZONE_VERSION := tzdata2012c
BUILDDIR = ../..
PACKAGE = sun.javazic
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
GENDATA_TIMEZONE_DST := $(JDK_OUTPUTDIR)/lib/zi
GENDATA_TIMEZONE_TMP := $(JDK_OUTPUTDIR)/gendata_timezone
# Time zone data file creation
TZDATA = $(BUILDDIR)/../make/sun/javazic/tzdata/
TZDATA_VER = `$(GREP) '^tzdata' $(TZDATA)VERSION`
TZFILE = \
TZFILE0 := \
africa antarctica asia australasia europe northamerica \
pacificnew southamerica backward \
etcetera solar87 solar88 solar89 systemv
JDKTZDATA = $(BUILDDIR)/../make/sun/javazic/tzdata_jdk/
JDKTZFILES = gmt jdk11_backward
TZFILES = \
$(addprefix $(TZDATA),$(TZFILE)) \
$(addprefix $(JDKTZDATA),$(JDKTZFILES))
WORKDIR = $(TEMPDIR)/zi
INSTALLDIR = $(LIBDIR)/zi
MAPFILE = ZoneInfoMappings
TZFILE1 := \
gmt jdk11_backward
#
# Rules
#
include $(BUILDDIR)/common/Classes.gmk
# Add to the build rule
build: $(INSTALLDIR)/$(MAPFILE)
TZFILES := \
$(addprefix $(JDK_TOPDIR)/make/sun/javazic/tzdata/,$(TZFILE0)) \
$(addprefix $(JDK_TOPDIR)/make/sun/javazic/tzdata_jdk/,$(TZFILE1))
$(WORKDIR)/$(MAPFILE): $(BUILD_TOOLS) $(TZFILES)
$(RM) -r $(@D)
$(prep-target)
$(TOOL_JAVAZIC) -V "$(TZDATA_VER)" -d $(WORKDIR) $(TZFILES)
@$(java-vm-cleanup)
GENDATA_TIMEZONE_MAPFILE:=ZoneInfoMappings
$(INSTALLDIR)/$(MAPFILE): $(WORKDIR)/$(MAPFILE)
$(RM) -r $(@D)
$(prep-target)
$(CP) -r $(WORKDIR)/* $(@D)
$(GENDATA_TIMEZONE_DST)/$(GENDATA_TIMEZONE_MAPFILE) : $(TZFILES)
$(RM) -rf $(GENDATA_TIMEZONE_TMP)
$(MKDIR) -p $(GENDATA_TIMEZONE_TMP)
$(RM) -rf $(GENDATA_TIMEZONE_DST)
$(MKDIR) -p $(GENDATA_TIMEZONE_DST)
$(TOOL_JAVAZIC) -V "$(GENDATA_TIMEZONE_VERSION)" -d $(GENDATA_TIMEZONE_TMP) $(TZFILES)
$(CP) -r $(GENDATA_TIMEZONE_TMP)/* $(GENDATA_TIMEZONE_DST)/
clean clobber::
$(RM) -r $(TEMPDIR) $(INSTALLDIR)
GENDATA_TIMEZONE += $(GENDATA_TIMEZONE_DST)/$(GENDATA_TIMEZONE_MAPFILE)
......@@ -30,12 +30,9 @@ include MakeBase.gmk
include RMICompile.gmk
CLASSES_DIR := $(JDK_OUTPUTDIR)/classes
# Depend on files in newclasses for now to avoid bad dependency handling caused by
# copy always updating timestamps in classes.
NEWCLASSES_DIR := $(JDK_OUTPUTDIR)/newclasses
# Generate classes into separate dir for now. Can't drop in same dir as JavaCompilation
# macros as that will mess up recompile deps.
STUB_CLASSES_DIR := $(JDK_OUTPUTDIR)/newrmicclasses
# NOTE: If the smart javac dependency management is reintroduced, these classes risk
# interfering with the dependency checking. In that case they will need to be kept separate.
STUB_CLASSES_DIR := $(JDK_OUTPUTDIR)/rmicclasses
RMIC_GENSRC_DIR := $(JDK_OUTPUTDIR)/gendocsrc_rmic
GENCLASSES :=
......@@ -49,7 +46,7 @@ $(eval $(call SetupRMICompilation,RMI_12,\
CLASSES:=sun.rmi.server.Activation$$$$ActivationSystemImpl\
java.rmi.activation.ActivationGroup\
com.sun.jndi.rmi.registry.ReferenceWrapper,\
CLASSES_DIR:=$(NEWCLASSES_DIR),\
CLASSES_DIR:=$(CLASSES_DIR),\
STUB_CLASSES_DIR:=$(STUB_CLASSES_DIR),\
RUN_V12:=true))
GENCLASSES += $(RMI_12)
......@@ -57,7 +54,7 @@ GENCLASSES += $(RMI_12)
$(eval $(call SetupRMICompilation,RMI_11,\
CLASSES:=sun.rmi.registry.RegistryImpl\
sun.rmi.transport.DGCImpl,\
CLASSES_DIR:=$(NEWCLASSES_DIR),\
CLASSES_DIR:=$(CLASSES_DIR),\
STUB_CLASSES_DIR:=$(STUB_CLASSES_DIR),\
RUN_V11:=true))
GENCLASSES += $(RMI_11)
......@@ -69,7 +66,7 @@ JMAN_RMI_CLASSES:=javax.management.remote.rmi.RMIConnectionImpl\
javax.management.remote.rmi.RMIServerImpl
$(eval $(call SetupRMICompilation,RMI_IIOP,\
CLASSES:=$(JMAN_RMI_CLASSES),\
CLASSES_DIR:=$(NEWCLASSES_DIR),\
CLASSES_DIR:=$(CLASSES_DIR),\
STUB_CLASSES_DIR:=$(STUB_CLASSES_DIR),\
RUN_V12:=true,\
RUN_IIOP:=true,\
......@@ -80,7 +77,7 @@ GENCLASSES += $(RMI_IIOP)
# so that javadoc can include them in the API (4997471)
$(eval $(call SetupRMICompilation,RMI_SRC,\
CLASSES:=$(JMAN_RMI_CLASSES),\
CLASSES_DIR:=$(NEWCLASSES_DIR),\
CLASSES_DIR:=$(CLASSES_DIR),\
STUB_CLASSES_DIR:=$(RMIC_GENSRC_DIR),\
RUN_V12:=true,\
KEEP_GENERATED:=true))
......
......@@ -35,11 +35,43 @@ include Setup.gmk
include Tools.gmk
# Now include all the rules that generate data resources.
# These are written directly into newclasses dir.
# These are written directly into classes dir.
GENDATA :=
include GendataBreakIterator.gmk
GENDATA += $(BREAK_ITERATOR)
include GendataFontConfig.gmk
GENDATA += $(GENDATA_FONT_CONFIG)
include GendataTimeZone.gmk
GENDATA += $(GENDATA_TIMEZONE)
include GendataHtml32dtd.gmk
GENDATA += $(GENDATA_HTML32DTD)
##########################################################################################
GENDATA_UNINAME := $(JDK_OUTPUTDIR)/classes/java/lang/uniName.dat
$(GENDATA_UNINAME): $(JDK_TOPDIR)/make/tools/UnicodeData/UnicodeData.txt $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(TOOL_CHARACTERNAME) $< $@
GENDATA += $(GENDATA_UNINAME)
##########################################################################################
GENDATA_CURDATA := $(JDK_OUTPUTDIR)/lib/currency.data
$(GENDATA_CURDATA): $(JDK_TOPDIR)/src/share/classes/java/util/CurrencyData.properties $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(RM) $@
$(TOOL_GENERATECURRENCYDATA) -o $@.temp < $<
$(MV) $@.temp $@
GENDATA += $(GENDATA_CURDATA)
##########################################################################################
$(GENDATA) : $(BUILD_TOOLS)
......
......@@ -53,16 +53,57 @@ GENSRC += $(GENSRC_JDWP)
include GensrcMisc.gmk
GENSRC += $(GENSRC_MISC)
include GensrcCharsetMapping.gmk
GENSRC += $(GENSRC_CHARSETMAPPING)
include GensrcCharsetCoder.gmk
GENSRC += $(GENSRC_CHARSETCODER)
include GensrcBuffer.gmk
GENSRC += $(GENSRC_BUFFER)
include GensrcExceptions.gmk
GENSRC += $(GENSRC_EXCEPTIONS)
ifneq ($(HOST_OS),windows)
include GensrcIcons.gmk
GENSRC += $(GENSRC_ICONS)
include GensrcX11Wrappers.gmk
GENSRC += $(GENSRC_X11WRAPPERS)
endif
include GensrcSwing.gmk
ifndef DISABLE_NIMBUS
GENSRC += $(GENSRC_SWING_NIMBUS)
endif
$(GENSRC) : $(BUILD_TOOLS)
all: $(GENSRC)
# The exception handling of swing beaninfo
# gensrc_swing/javax/swing/beaninfo/* have not be in src.zip
all: $(GENSRC) $(GENSRC_SWING_BEANINFO)
$(MKDIR) -p $(JDK_OUTPUTDIR)/gensrc
(cd $(JDK_OUTPUTDIR) && \
chmod -R u+rw gensrc && \
cp -rp gensrc_characterdata/* gensrc && \
cp -rp gensrc_properties/* gensrc && \
cp -rp gensrc_localedatametainfo/* gensrc && \
cp -rp gensrc_jdwp/* gensrc && \
cp -rp gensrc_misc/* gensrc)
$(CHMOD) -R u+rw gensrc && \
$(CP) -rp gensrc_characterdata/* gensrc && \
$(CP) -rp gensrc_properties/* gensrc && \
$(CP) -rp gensrc_localedatametainfo/* gensrc && \
$(CP) -rp gensrc_jdwp/* gensrc && \
$(CP) -rp gensrc_misc/* gensrc && \
$(CP) -rp gensrc_charsetmapping/* gensrc && \
$(CP) -rp gensrc_charsetcoder/* gensrc && \
$(CP) -rp gensrc_exceptions/* gensrc && \
$(CP) -rp gensrc_buffer/* gensrc)
if [ -d $(JDK_OUTPUTDIR)/gensrc_swing/javax/swing/plaf ] ; then \
(cd $(JDK_OUTPUTDIR) && \
$(MKDIR) -p gensrc/javax/swing/plaf && \
$(CP) -rp gensrc_swing/javax/swing/plaf/* gensrc/javax/swing/plaf) \
fi
ifneq ($(HOST_OS),windows)
(cd $(JDK_OUTPUTDIR) && \
$(CP) -rp gensrc_icons/* gensrc && \
$(CP) -rp gensrc_x11wrappers/classes/* gensrc)
endif
.PHONY: all
此差异已折叠。
......@@ -34,8 +34,8 @@ UNICODEDATA = $(JDK_TOPDIR)/make/tools/UnicodeData
define SetupCharacterData
$(JDK_OUTPUTDIR)/gensrc_characterdata/java/lang/$1.java : $(CHARACTERDATA)/$1.java.template $(BUILD_TOOLS)
mkdir -p $$(@D)
echo Generating $1.java
$(MKDIR) -p $$(@D)
$(ECHO) Generating $1.java
$(TOOL_GENERATECHARACTER) $2 \
-template $(CHARACTERDATA)/$1.java.template \
-spec $(UNICODEDATA)/UnicodeData.txt \
......@@ -56,7 +56,7 @@ $(eval $(call SetupCharacterData,CharacterData0E,-plane 14,11 4 1))
# Copy two Java files that need no preprocessing.
$(JDK_OUTPUTDIR)/gensrc_characterdata/java/lang/%.java : $(CHARACTERDATA)/%.java.template
$(MKDIR) -p $(@D)
echo Generating $(@F)
$(ECHO) Generating $(@F)
$(CP) -f $< $@
GENSRC_CHARACTERDATA += $(JDK_OUTPUTDIR)/gensrc_characterdata/java/lang/CharacterDataUndefined.java \
......
#
# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. 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
......@@ -23,41 +23,83 @@
# questions.
#
BUILDDIR = ../..
PACKAGE = javax.swing
PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing
include $(BUILDDIR)/common/Defs.gmk
GENSRC_CHARSETMAPPING:=
#
# Files
#
include FILES.gmk
AUTO_FILES_JAVA_DIRS = javax/swing sun/swing com/sun/java/swing
AUTO_JAVA_PRUNE = plaf
GENSRC_TMP := $(JDK_OUTPUTDIR)/gensrc_charsetmapping
GENSRC_DST := $(JDK_OUTPUTDIR)/gensrc_charsetmapping/sun/nio/cs
GENSRC_SRC := $(JDK_TOPDIR)/make/tools/CharsetMapping
GENSRC_JAVA_SRC := $(JDK_TOPDIR)/make/tools/src/build/tools/charsetmapping
GENSRC_TEMPLATES := $(GENSRC_SRC)/SingleByte-X.java.template $(GENSRC_SRC)/DoubleByte-X.java.template
###
$(GENSRC_TMP)/_the.dir :
$(ECHO) Generating charsetmapping classes
$(MKDIR) -p $(GENSRC_DST)/ext
$(TOUCH) $@
###
GENSRC_SB := $(GENSRC_TMP)/gensrc_the.charsetmapping.sbcs
$(GENSRC_SB) : $(GENSRC_SRC)/sbcs $(GENSRC_TEMPLATES) $(GENSRC_TMP)/_the.dir
$(TOOL_CHARSETMAPPING) $(GENSRC_SRC) $(GENSRC_DST) sbcs
$(TOUCH) $@
GENSRC_CHARSETMAPPING += $(GENSRC_SB)
###
$(GENSRC_DST)/ext/sjis0213.dat : $(GENSRC_SRC)/sjis0213.map $(GENSRC_SB)
$(TOOL_CHARSETMAPPING) $< $@ sjis0213
GENSRC_CHARSETMAPPING += $(GENSRC_DST)/ext/sjis0213.dat
###
$(GENSRC_DST)/ext/EUC_TWMapping.java : $(GENSRC_JAVA_SRC)/EUC_TW.java $(GENSRC_SB)
$(TOOL_CHARSETMAPPING) $(GENSRC_SRC) $(GENSRC_DST)/ext euctw $(GENSRC_JAVA_SRC)/EUC_TW.java
GENSRC_CHARSETMAPPING += $(GENSRC_DST)/ext/EUC_TWMapping.java
###
$(GENSRC_DST)/ext/HKSCSMapping.java : $(GENSRC_JAVA_SRC)/HKSCS.java $(GENSRC_SB)
$(TOOL_CHARSETMAPPING) $(GENSRC_SRC) $(GENSRC_DST)/ext hkscs $(GENSRC_JAVA_SRC)/HKSCS.java
GENSRC_CHARSETMAPPING += $(GENSRC_DST)/ext/HKSCSMapping.java
###
$(GENSRC_TMP)/gensrc_the.charsetmapping.extsbcs : $(GENSRC_SRC)/extsbcs $(GENSRC_TEMPLATES) $(GENSRC_SB)
$(TOOL_CHARSETMAPPING) $(GENSRC_SRC) $(GENSRC_DST)/ext extsbcs
$(TOUCH) $@
SUBDIRS = html32dtd plaf
GENSRC_CHARSETMAPPING += $(GENSRC_TMP)/gensrc_the.charsetmapping.extsbcs
include $(BUILDDIR)/common/Classes.gmk
include $(BUILDDIR)/common/Subdirs.gmk
###
build: other_files
$(SUBDIRS-loop)
$(GENSRC_TMP)/gensrc_the.charsetmapping.dbcs : $(GENSRC_SRC)/dbcs $(GENSRC_TEMPLATES) $(GENSRC_SB)
$(TOOL_CHARSETMAPPING) $(GENSRC_SRC) $(GENSRC_DST)/ext dbcs
$(TOUCH) $@
clean clobber::
$(SUBDIRS-loop)
GENSRC_CHARSETMAPPING += $(GENSRC_TMP)/gensrc_the.charsetmapping.dbcs
other_files: $(MISC_FILES)
###
$(CLASSBINDIR)/%.wav: $(SHARE_SRC)/classes/%.wav
$(install-file)
GENSRC_CHARSET_PROVIDER_CMD := $(JDK_TOPDIR)/makefiles/scripts/genCharsetProvider.sh
$(CLASSBINDIR)/%.gif: $(SHARE_SRC)/classes/%.gif
$(install-file)
$(GENSRC_DST)/StandardCharsets.java : $(JDK_TOPDIR)/src/share/classes/sun/nio/cs/standard-charsets \
$(GENSRC_CHARSET_PROVIDER_CMD) \
$(GENSRC_TMP)/_the.dir
$(CLASSBINDIR)/%.css: $(SHARE_SRC)/classes/%.css
$(install-file)
NAWK="$(NAWK)" TEMPDIR="$(GENSRC_TMP)" SH="$(SH)" \
HASHER="$(TOOL_HASHER)" \
SCRIPTS="$(JDK_TOPDIR)/makefiles/scripts" \
$(SH) -e $(GENSRC_CHARSET_PROVIDER_CMD) $< $(@D)
$(CLASSBINDIR)/%.txt: $(SHARE_SRC)/classes/%.txt
$(install-file)
GENSRC_CHARSETMAPPING += $(GENSRC_DST)/StandardCharsets.java
$(GENSRC_CHARSETMAPPING) : $(BUILD_TOOLS)
......@@ -29,8 +29,8 @@
$(JDK_OUTPUTDIR)/gensrc_jdwp_headers/JDWPCommands.h : $(JDK_TOPDIR)/makefiles/jpda/jdwp/jdwp.spec
$(JDK_OUTPUTDIR)/gensrc_jdwp/com/sun/tools/jdi/JDWP.java : $(JDK_TOPDIR)/makefiles/jpda/jdwp/jdwp.spec
mkdir -p $(@D)
mkdir -p $(JDK_OUTPUTDIR)/gensrc_jdwp_headers
$(MKDIR) -p $(@D)
$(MKDIR) -p $(JDK_OUTPUTDIR)/gensrc_jdwp_headers
$(ECHO) Creating JDWP.java and JDWPCommands.h from jdwp.spec
$(TOOL_JDWPGEN) $< -jdi $@ -include $(JDK_OUTPUTDIR)/gensrc_jdwp_headers/JDWPCommands.h
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册