| # |
| # Copyright (c) 2007, 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 |
| # under the terms of the GNU General Public License version 2 only, as |
| # published by the Free Software Foundation. Oracle designates this |
| # particular file as subject to the "Classpath" exception as provided |
| # by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| # or visit www.oracle.com if you need additional information or have any |
| # questions. |
| # |
| |
| include $(BUILDDIR)/common/Release.gmk |
| |
| # |
| # Include these extra attributes for now, should probably take out. |
| # |
| JCE_MANIFEST_FILE = $(TEMPDIR)/manifest.mf |
| $(JCE_MANIFEST_FILE): $(MAINMANIFEST) |
| $(prep-target) |
| ( $(SED) "s/@@RELEASE@@/$(RELEASE)/" $<; \ |
| $(ECHO) "Extension-Name: javax.crypto"; \ |
| $(ECHO) "Implementation-Vendor-Id: com.sun"; ) > $@ |
| |
| README-MAKEFILE_WARNING = \ |
| "\nPlease read make/javax/crypto/Makefile for further build instructions." |
| |
| define no-source-warning |
| @$(ECHO) "\n***JCE sources are not available, skipping build.***" \ |
| $(README-MAKEFILE_WARNING) |
| endef |
| |
| ifndef OPENJDK |
| |
| PREBUILT_DIR = $(BUILDDIR)/closed/tools/crypto |
| |
| define build-warning |
| @$(ECHO) "\n***JCE in JDK builds require special tools/procedures.***" \ |
| $(README-MAKEFILE_WARNING) |
| endef |
| |
| # |
| # Location for JCE codesigning key. |
| # |
| SIGNING_KEY_DIR = /security/ws/JCE-signing/src |
| SIGNING_KEYSTORE = $(SIGNING_KEY_DIR)/KeyStore.jks |
| SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt |
| SIGNING_ALIAS = jce_rsa |
| |
| # |
| # Defines for signing the various jar files. |
| # |
| |
| define presign |
| @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \ |
| $(ECHO) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..." \ |
| $(README-MAKEFILE_WARNING); \ |
| exit 2; \ |
| fi |
| endef |
| |
| define sign-target |
| $(BOOT_JARSIGNER_CMD) -keystore $(SIGNING_KEYSTORE) \ |
| $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE) |
| @$(java-vm-cleanup) |
| @$(ECHO) "\nJar codesigning finished." |
| endef |
| |
| RELEASE_DIR = $(OUTPUTDIR)/jce-release |
| |
| define release-warning |
| @$(ECHO) \ |
| "\n***The jar files built by the 'release' target must***" \ |
| "\n***still be checked into the closed workspace! ***" \ |
| $(README-MAKEFILE_WARNING) |
| endef |
| |
| # |
| # Convenience macros for signing a jar file. |
| # |
| # Call through $(call sign-file, target file) |
| # |
| define sign-file |
| $(presign) |
| $(prep-target) |
| $(CP) $1 $@ |
| $(sign-target) |
| endef |
| |
| endif # !OPENJDK |