author | ohair |
Tue, 28 Dec 2010 15:53:50 -0800 | |
changeset 7668 | d4a77089c587 |
parent 5506 | 202f599c92aa |
child 8008 | 753c38f4af83 |
permissions | -rw-r--r-- |
2 | 1 |
# |
7668 | 2 |
# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. |
2 | 3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 |
# |
|
5 |
# This code is free software; you can redistribute it and/or modify it |
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
|
5506 | 7 |
# published by the Free Software Foundation. Oracle designates this |
2 | 8 |
# particular file as subject to the "Classpath" exception as provided |
5506 | 9 |
# by Oracle in the LICENSE file that accompanied this code. |
2 | 10 |
# |
11 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 |
# version 2 for more details (a copy is included in the LICENSE file that |
|
15 |
# accompanied this code). |
|
16 |
# |
|
17 |
# You should have received a copy of the GNU General Public License version |
|
18 |
# 2 along with this work; if not, write to the Free Software Foundation, |
|
19 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 |
# |
|
5506 | 21 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
22 |
# or visit www.oracle.com if you need additional information or have any |
|
23 |
# questions. |
|
2 | 24 |
# |
25 |
||
26 |
# |
|
27 |
# Makefile for building Pack200 |
|
28 |
# |
|
29 |
||
30 |
BUILDDIR = ../../../.. |
|
4665
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
31 |
MODULE = pack200 |
2 | 32 |
PACKAGE = com.sun.java.util.jar.pack |
33 |
LIBRARY = unpack |
|
34 |
PRODUCT = sun |
|
35 |
PGRM = unpack200 |
|
36 |
include $(BUILDDIR)/common/Defs.gmk |
|
37 |
||
38 |
CPLUSPLUSLIBRARY=true |
|
39 |
||
40 |
FILES_m = mapfile-vers |
|
41 |
include $(BUILDDIR)/common/Mapfile-vers.gmk |
|
42 |
||
43 |
# |
|
44 |
# Files to compile |
|
45 |
# |
|
46 |
AUTO_FILES_JAVA_DIRS = com/sun/java/util/jar/pack |
|
47 |
||
48 |
include FILES_cpp.gmk |
|
49 |
||
50 |
FILES_export = $(PKGDIR)/NativeUnpack.java |
|
51 |
||
52 |
# |
|
53 |
# Rules |
|
54 |
include $(BUILDDIR)/common/Library.gmk |
|
55 |
||
56 |
build: unpacker |
|
57 |
||
58 |
vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR) |
|
59 |
||
60 |
||
61 |
||
62 |
||
63 |
||
64 |
ifeq ($(STANDALONE),true) |
|
65 |
ZIPOBJDIR = $(OUTPUTDIR)/tmp/sun/java.util.zip/zip/$(OBJDIRNAME) |
|
66 |
||
67 |
ZIPOBJS = $(ZIPOBJDIR)/zcrc32.$(OBJECT_SUFFIX) \ |
|
68 |
$(ZIPOBJDIR)/deflate.$(OBJECT_SUFFIX) \ |
|
69 |
$(ZIPOBJDIR)/trees.$(OBJECT_SUFFIX) \ |
|
70 |
$(ZIPOBJDIR)/zadler32.$(OBJECT_SUFFIX) \ |
|
3704
bd98409d8c32
4963968: zlib should be upgraded to current version of zlib
sherman
parents:
3111
diff
changeset
|
71 |
$(ZIPOBJDIR)/compress.$(OBJECT_SUFFIX) \ |
2 | 72 |
$(ZIPOBJDIR)/zutil.$(OBJECT_SUFFIX) \ |
73 |
$(ZIPOBJDIR)/inflate.$(OBJECT_SUFFIX) \ |
|
3704
bd98409d8c32
4963968: zlib should be upgraded to current version of zlib
sherman
parents:
3111
diff
changeset
|
74 |
$(ZIPOBJDIR)/infback.$(OBJECT_SUFFIX) \ |
2 | 75 |
$(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ |
76 |
$(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) |
|
77 |
||
3704
bd98409d8c32
4963968: zlib should be upgraded to current version of zlib
sherman
parents:
3111
diff
changeset
|
78 |
ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION) |
2 | 79 |
OTHER_CXXFLAGS += $(ZINCLUDE) |
80 |
LDDFLAGS += $(ZIPOBJS) |
|
81 |
else |
|
82 |
OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI |
|
83 |
OTHER_LDLIBS += $(JVMLIB) |
|
84 |
endif |
|
85 |
||
86 |
CXXFLAGS_DBG += -DFULL |
|
87 |
CXXFLAGS_OPT += -DPRODUCT |
|
88 |
CXXFLAGS_COMMON += -DFULL |
|
89 |
||
90 |
ifeq ($(PLATFORM), windows) |
|
91 |
CXXFLAGS_COMMON += $(MS_RUNTIME_OPTION) |
|
92 |
LDOUTPUT = -Fe |
|
93 |
||
3111
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
94 |
# JDK name required here |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
95 |
RC_FLAGS += /D "JDK_FNAME=$(PGRM).exe" \ |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
96 |
/D "JDK_INTERNAL_NAME=$(PGRM)" \ |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
97 |
/D "JDK_FTYPE=0x1L" |
2 | 98 |
|
99 |
RES = $(OBJDIR)/$(PGRM).res |
|
100 |
else |
|
101 |
LDOUTPUT = -o #Have a space |
|
102 |
LDDFLAGS += -lc |
|
103 |
OTHER_LDLIBS += $(LIBCXX) |
|
104 |
# setup the list of libraries to link in... |
|
105 |
ifeq ($(PLATFORM), linux) |
|
106 |
ifeq ("$(CC_VER_MAJOR)", "3") |
|
107 |
OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic |
|
108 |
endif |
|
109 |
endif #LINUX |
|
110 |
endif #PLATFORM |
|
111 |
||
112 |
UNPACK_EXE = $(BINDIR)/unpack200$(EXE_SUFFIX) |
|
113 |
||
114 |
UNPACK_EXE_FILES_cpp = $(filter-out jni.cpp,$(FILES_cpp)) |
|
115 |
||
116 |
UNPACK_EXE_FILES_cpp += main.cpp |
|
117 |
||
118 |
UNPACK_EXE_FILES_o = $(addprefix $(COBJDIR)/, \ |
|
119 |
$(notdir \ |
|
120 |
$(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(UNPACK_EXE_FILES_cpp)) \ |
|
121 |
)) |
|
122 |
||
123 |
COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR))) |
|
124 |
||
125 |
all: build |
|
126 |
||
4665
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
127 |
build: prop pack200-tool |
2 | 128 |
|
129 |
prop: |
|
130 |
$(MAKE) -C prop |
|
131 |
||
4665
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
132 |
pack200-tool: |
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
133 |
$(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack) |
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
134 |
|
2 | 135 |
unpacker: |
136 |
$(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG= |
|
137 |
||
138 |
ifeq ($(PLATFORM), windows) |
|
3111
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
139 |
IMVERSIONVALUE=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER) |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
140 |
SED_ALL_MANIFEST=$(SED) -e 's%IMVERSION%$(IMVERSIONVALUE)%g' |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
141 |
updatefiles:: |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
142 |
$(CAT) $(TOPDIR)/src/windows/resource/unpack200_proto.exe.manifest | $(SED_ALL_MANIFEST) > $(OBJDIR)/unpack200.exe.manifest |
2 | 143 |
winres:: $(RES) |
144 |
else |
|
3111
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
145 |
updatefiles:: |
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
146 |
$(ECHO) "Manifest not required for Unix" |
2 | 147 |
winres:: |
148 |
$(ECHO) "Resource files not required for Unix" |
|
149 |
endif |
|
150 |
||
3111
fefdeafb7ab9
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents:
1776
diff
changeset
|
151 |
$(UNPACK_EXE): $(UNPACK_EXE_FILES_o) updatefiles winres |
2 | 152 |
$(prep-target) |
153 |
$(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) |
|
1776
33e9405ab91b
6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents:
1247
diff
changeset
|
154 |
ifdef MT |
5381
d6d64a42ff51
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
4665
diff
changeset
|
155 |
$(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 |
1776
33e9405ab91b
6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents:
1247
diff
changeset
|
156 |
endif |
2 | 157 |
$(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) |
4665
d14dc3d9e1fa
6911737: Module build: generate modules with native libraries and any other files not in jar
mchung
parents:
3704
diff
changeset
|
158 |
$(install-module-file) |
2 | 159 |
|
160 |
ifeq ($(PLATFORM), windows) |
|
161 |
$(RES):: $(VERSIONINFO_RESOURCE) |
|
162 |
$(prep-target) |
|
163 |
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE) |
|
164 |
endif |
|
165 |
||
166 |
$(COBJDIR)/%.$(OBJECT_SUFFIX): %.cpp |
|
167 |
$(prep-target) |
|
168 |
$(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$(COBJDIR)/$*.$(OBJECT_SUFFIX) $< |
|
169 |
||
170 |
# |
|
171 |
# Clean up. |
|
172 |
# |
|
173 |
clean:: |
|
174 |
$(RM) -r $(CLASSDESTDIR)/com/sun/java/util/jar/pack $(TEMPDIR) |
|
175 |
$(RM) -r $(OUTPUTDIR)/tmp/$(PRODUCT)/$(PACKAGE) |
|
176 |
$(MAKE) -C prop clean |
|
177 |
||
178 |
.PHONY: unpacker clean winres prop |