|
1 # |
|
2 # Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. |
|
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 |
|
7 # published by the Free Software Foundation. Oracle designates this |
|
8 # particular file as subject to the "Classpath" exception as provided |
|
9 # by Oracle in the LICENSE file that accompanied this code. |
|
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 # |
|
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. |
|
24 # |
|
25 |
|
26 include $(BUILDDIR)/common/Release.gmk |
|
27 |
|
28 # |
|
29 # Include these extra attributes for now, should probably take out. |
|
30 # |
|
31 JCE_MANIFEST_FILE = $(TEMPDIR)/manifest.mf |
|
32 $(JCE_MANIFEST_FILE): $(MAINMANIFEST) |
|
33 $(prep-target) |
|
34 $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ |
|
35 -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" \ |
|
36 $(MAINMANIFEST) >> $@ |
|
37 $(ECHO) "Extension-Name: javax.crypto" >> $@ |
|
38 $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@ |
|
39 |
|
40 README-MAKEFILE_WARNING = \ |
|
41 "\nPlease read make/javax/crypto/Makefile for further build instructions." |
|
42 |
|
43 define no-source-warning |
|
44 @$(ECHO) "\n***JCE sources are not available, skipping build.***" \ |
|
45 $(README-MAKEFILE_WARNING) |
|
46 endef |
|
47 |
|
48 ifndef OPENJDK |
|
49 |
|
50 PREBUILT_DIR = $(JDK_TOPDIR)/make/closed/tools/crypto |
|
51 |
|
52 define build-warning |
|
53 @$(ECHO) "\n***JCE in JDK builds require special tools/procedures.***" \ |
|
54 $(README-MAKEFILE_WARNING) |
|
55 endef |
|
56 |
|
57 # |
|
58 # Location for JCE codesigning key. |
|
59 # |
|
60 SIGNING_KEY_DIR = /security/ws/JCE-signing/src |
|
61 SIGNING_KEYSTORE = $(SIGNING_KEY_DIR)/KeyStore.jks |
|
62 SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt |
|
63 SIGNING_ALIAS = oracle_jce_rsa |
|
64 |
|
65 # |
|
66 # Defines for signing the various jar files. |
|
67 # |
|
68 |
|
69 define presign |
|
70 @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \ |
|
71 $(ECHO) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..." \ |
|
72 $(README-MAKEFILE_WARNING); \ |
|
73 exit 2; \ |
|
74 fi |
|
75 endef |
|
76 |
|
77 define sign-target |
|
78 $(BOOT_JARSIGNER_CMD) -keystore $(SIGNING_KEYSTORE) \ |
|
79 $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE) |
|
80 @$(java-vm-cleanup) |
|
81 @$(ECHO) "\nJar codesigning finished." |
|
82 endef |
|
83 |
|
84 RELEASE_DIR = $(OUTPUTDIR)/jce-release |
|
85 |
|
86 define release-warning |
|
87 @$(ECHO) \ |
|
88 "\n***The jar files built by the 'release' target must***" \ |
|
89 "\n***still be checked into the closed workspace! ***" \ |
|
90 $(README-MAKEFILE_WARNING) |
|
91 endef |
|
92 |
|
93 # |
|
94 # Convenience macros for signing a jar file. |
|
95 # |
|
96 # Call through $(call sign-file, target file) |
|
97 # |
|
98 define sign-file |
|
99 $(presign) |
|
100 $(prep-target) |
|
101 $(CP) $1 $@ |
|
102 $(sign-target) |
|
103 endef |
|
104 |
|
105 endif # !OPENJDK |